从一个编程初学者,到一个程序开发菜鸟,再到技术高手、技术大牛、大师级人物, 必有一个成长路线。

作者根据自己的学习开发经历,一个程序员的成长之路可以按照如下循序渐进地学习。文章分为两大段,第一段为技术能力提升,第二段为职业能力提升。

一、技术技能

1. 初学编程:

找一两本优秀的编程语言书籍,按照例子敲代码。 每一种主流开发语言都有一些非常优秀的入门书籍。

如果国外书看得不大懂,可以先找国内编程书籍看看,一般国内书籍更注重技术和技巧,而国外书籍更注重思想和思路。

2. 内功修炼:

用所学语言,实现常用数据结构和算法, 可以习得编程的基本功底;初步涉猎一些优秀的编程书籍,比如《程序设计实践》 、《Linux 程序设计》、《数据库开发》等。

一般要涉及数据结构、算法、操作系统、数据库、网络等专业基础课程的学习和训练,这是成为专业程序员、编写更强大应用的必经之路。

3. 小试锋芒:

待编程功底修炼到一定阶段,就会参与项目开发,一般会从增删查改等基本功能开始练起,逐步实现更复杂的功能。 

开始做时可能会有点吃力,但一定要勇于尝试,跨越每一道槛,你都会看到更广阔的世界,功力会更上一层。

一般需要三个月到半年左右能够适应项目开发,独立承担项目功能模块开发和维护任务。

4. 熟练开发:

这一阶段, 你将大量接触开发工作,阅读已有项目的源代码,学习使用开发框架, 广泛涉猎各种编程书籍, 语言类、框架类、技术类以及思想类。

你将能基本胜任开发任务,实现功能, 对程序的质量需求有初步的了解和掌握。

5. 突破瓶颈:

成为一名较熟练的开发人员后, 将遇到第一次真正意义上的瓶颈——必须确定今后的技术方向。

在能够胜任日常开发工作的基础上,你希望能够提升自己的开发质量, 希望自己能够写出更加稳固可用的代码,希望自己能够深入框架内部实现,而不是停留在使用的层面。

因为使用框架会遇到比较棘手的调试问题,这也迫使你必须大量阅读优秀源代码,而不再着迷于编写那些初级的代码,更注重从系统整体角度来思考和解决问题,以实现真正的飞跃性进步。

突破瓶颈后, 才会从一名编程菜鸟真正晋级为一位技术高手,从技术高手到大师级人物的成长。

突破瓶颈之法:

1. 大量阅读和重用源代码, 建立一套行之有效的源代码阅读、利用和管理方法。

2. 更注重程序和应用的质量属性,从系统设计的角度去理解和实践开发活动。

3. 探索框架的内部实现、交互及使用,跨越框架。

二、职业技能

1. 初学编程:

沉浸于编程的乐趣中,主要是习得编程技能,与同学进行编程心得的交流,一般不涉及很强的沟通,此阶段主要注重编程技能的修炼。

2. 内功修炼:

主要也是习得基本的编程技能, 交流编程心得,需要参与程序文档的阅读和编写。在此阶段,最好能够同步提升英语阅读能力、技术交流、基础的文档编写能力。

有兴趣的话,可以邀请同伴一起来做一些小项目,此阶段注重编程技能的提高、技术交流能力、英文阅读能力和文档编写能力。

3. 小试锋芒:

习得更高级的编程技能(使用开发框架),与项目组成员进行讨论和沟通,表达自己的意见,编写程序文档, 浏览知名的IT网站和官方文档,学会用搜索来解决编程问题。

此阶段注重编程技术的学习、项目组交流能力、表达能力以及网络资源利用能力。

4. 熟练开发:

学习特定领域的编程技术, 阅读和探索源代码,项目讨论与决策,开发与维护, 学习软件开发工具的使用;编写程序文档, 可能的话,会涉及到与客户的谈话、沟通与系统演示工作。

此阶段注重软件开发活动的广泛学习和掌握。

5. 独立担当:

能够独立承担项目模块开发与维护, 与项目组成员顺利沟通, 形成自己的独特见解,具备一定的开发管理能力。

此阶段注重独立承担能力、较强的问题解决能力、沟通能力、表达能力以及一定的领导能力。

每个人的成长路线都不同,但一个优秀程序员的成长必定离不开良师益友。

有一些好伙伴可以一起编程、交流和成长,有遇到若干位好的导师、在人生路上给予很好的指引,遇到好的老板的指点和提携, 都是非常幸运的事情,当然,也是可以去努力争取的事情。

保持平静谦和,忌心高气傲,上帝会给予你最好的礼物。