程序员小白如何成为行业大牛 (程序员到成熟的过程是什么)

三百六十行,行行出状元。任何一个技能领域,要想成为顶尖高手,都得有个成长的阶段,程序员亦是如此,可以大致分为5个阶段。

1. 新手 - Novice

程序员从零基础到就业要多久,程序员怎么从基础程序员向上发展

新手的经验很少或者说根本没有经验。对于新手来说,最大的问题就是做选择。因为新手此时大脑一片空白,对领域内的东西还没建立相关概念,也没有任何可以参考的相关经验,根本没法选择,也不会有意识去做出选择。于新手而言,最大的帮助的就是有一个手把手的傻瓜式教程,第1步做什么,第2步干什么,第3步,等等。

2. 高级新手 - Advanced beginner

程序员从零基础到就业要多久,程序员怎么从基础程序员向上发展

有了新手阶段的历练,高级新手积累了一些经验,能够尝试自己处理问题,但仍旧会感到困难。对参与的项目工程中的东西也暂时不能从“全貌”看待问题,不能较全面看问题,如只是从技术角度看问题、处理问题,但忽略了业务角度、最终用户角度,等等。

3. 胜任者 - Competent

程序员从零基础到就业要多久,程序员怎么从基础程序员向上发展

一般从事工作 3-5 年后就进阶到胜任者了。(当然,工作了10年实际只是1年的经验重复了9年那种情况就不算了。)胜任者能够指导新手,能够独立解决问题。但除非继续培养自己的反思与自我纠正能力,进阶到精通者水平,否则实施敏捷开发这些软件领域较新的实践还是很难落地。

4. 精通者 - Proficient practitioners

程序员从零基础到就业要多久,程序员怎么从基础程序员向上发展

精通者需要具备全局思维,能够从更大的概念层次去理解自己从事的工作或项目。同时,精通者也比较善于从别人的案例或者自己以往的经验中进行学习,并将学习到的经验有效应用起来。从胜任者进阶到精通者其实是一次质的飞跃,精通者其实也可以叫初级专家,只有这一级别水平以上的人才能有效运用好设计模式,不会造成那种“为了设计模式而设计模式”的现象。

5. 专家 - Expert

程序员从零基础到就业要多久,程序员怎么从基础程序员向上发展

专家具有丰富的经验,他们都经过了长期的训练与思考。也许是专家大脑里各种各样的经验、记忆、判断、意识等这些综合起来,使得他们能够凭直觉工作,解决问题时就像一个“巫师”。专家自己无法描述自己是怎么快速得出一个方案的,而旁人看起来觉得很神奇。而实践也表明,理解情境是成为专家的关键。