(摘自《learn-with-open-source》, 址:http://www.teamhost.org/projects/learn-with-open-source/wiki/Start)
软件开发的能力体系是怎样的br> 在很多领域,我们都可以用一个金字塔模型,来描述该领域的能力体系,在软件开发领域,同样如此。
- 高
-
- 创造能力
- 中
-
- 逻辑能力
- 理解能力
- 低
-
- 基础知识
- 编程技能
- 领域知识
简单解释一下:
低的三项,属于知识类。基础知识包括计算机、数学、算法、逻辑等等知识,这些知识,通过认真的学习书本教材,基本能够掌握。编程技能,往往是跟具体的语言相关的,当然,多学几门不同的语言,对于快速掌握一门新的语言,大有帮助。领域知识,则是与工作的具体方向有关,比如针对多媒体领域的编程,自然要熟悉图形、图形、声音等等的相关领域知识。针对企业级应用的开发,对于管理制度、财务、成本、仓储的东西,总得搞清楚才行。
中与高的两项,属于超越编程局限的通用能力,不仅仅是软件开发上用得到,在各方面都非常需要这三类能力。逻辑能力,可以通过训练提高;理解能力,可以通过经验积累;而创造能力,的确比较难,有天赋的成分在其中。
有哪些途径,可以锻炼这些能力br>
- 阅读与习题:找到一堆的经典教科书,狠狠的读,认真的把书里的习题都给做了,这样对于打下扎实的基础,将会有极大的帮助。
- 视频教程/ScreenCast:每次讲解一个主题,学习一下总会有收获,只是效率不高。
- PPT/Slide/PDF:这种属于某次技术会议上的演讲稿,如果能够配合视频看,效果还好些,否则通常会不知所与。
- Wiki:针对某个词条,某个特定的问题,会有相当清晰的解释,不过要看运气,有些词条的解释就非常粗略,甚至过时。
- Blog:在分享知识与经验的过程中,blog是很不错的载体,如果你能够找到的话。
- BBS:曾经是最主要的学习方式,很多人通过泡论坛来提高自己,不过说实话,效率很低,而且容易跑题。
- 问答 区(StackOverFlow/Quora):新兴的交流 区,在面临特定问题时,可以尝试搜索或提问。平时泡泡,努力回答别人的问题,也有助于自己的提高。
- 工作中的项目:当然,老板给你发工资,肯定希望你尽快完成,在压力之下,通常进步都会很快。只是这种进步也许是你无法选择的。
- QQ群:真的有人借助QQ群来学习吗nbsp;
- 开源项目/开源 区:当然,这个是最重要的,咱们下节详细说。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!