多久不知道,但是有个基本的特征,你可以了解下。如果越是找不到资料,那么说明你遇到的问题越复杂,难度也越高,你的水平可能是很高(或者很低,资料都不会找)

真正的顶级程序员需要刷论文,因为复杂的问题,很多时候解决方案往往只是来自某些论文。

顺便说下几个大致的特征点,从找资料的角度来说:

入门阶段:资料一找一大堆,成千上百的中文/英文资料

登堂入室阶段:互联网上能搜索到的中文资料开始变少,开始需要大量的英文资料和少量的源代码,开始寻找某些领域数学原理知识

融会贯通阶段:开始寻找解决方案的Tips,获取资料的方式开始从从互联网转到书,从具体的技术资料,开始转入到框架性资料或者更加高深的数学和算法知识(取决于怎么深耕领域)

会当凌绝顶阶段:能借鉴的资料是论文,极为复杂的数学知识,他人的解决方案中某些能用的上的点,或者闲扯的时候讨论到的一些点。

这是一个很粗糙的分类方法,实际操作过程中,就是如此的。

计算机从业者80%的人成不了顶级程序猿。

成为优秀工程师需要多久?

首先提几个问题:

  1. 成为一名优秀的攻城狮需要多长时间?
  2. 成为一名优秀攻城狮要经历那些阶段?
  3. 人人都能成为优秀的攻城狮吗?

攻城狮的职业发展路径

从我自身角度看来,我对自身的职业生涯规划分为几个阶段,总结一下,分为学习期->消化期->产出期->自我实现->全新的开始。每个阶段有遵循一万小时定律(要成为某个领域的专家,需要10000小时,约三年的时间)

所以成为一名优秀的攻城狮至少要 10 – 12 年,需要经四个阶段任,何人都必须经历这个过程,没有捷径可走。就是中关村劳模雷军也是这样一路走来。

我也是在第 12 年的时候发现自己的编程能力突飞猛进的。具体的变化就是,之前写一段编译一次,看看运行结果。进入第四阶段后,可以一次可以写上千行代码,最后一次编译通过,少许调试,就可以提交。
第一阶段,需要三年时间。刚刚毕业踏入社会,积累经验的阶段,很多东西需要学,最主要的找到自己未来的发展方向。

第二阶段,需要三年时间。找到了自己未来的发展方向后,就有了清晰的目标,学习也不再盲目,有侧重点,同时消化前面所学的知识,开始反思,怀疑,批判。

第三阶段,需要三年时间。开始总结前面6年工作,同时涉足其他相关横向领域。例如程序猿会涉足前端,后端,运维,测试等等领域,最终达到具备全栈开发的能力。这时做什么都胸有成竹,能够从多维度综合分析,解决问题。
第四阶段,需要三年时间。攻城狮的自我实现(马斯洛所说的 “自我实现”),前面三个阶段职业规划已经完成,可以说修行圆满。择业从主动转向被动,经济上也有了基础,要考虑下一个10年计划。我需一个环境/平台,要把积累的知识价值体现出来。

第五阶段,需要三年时间,上升到另一个层次,即高视点,宽视野,深洞察。不在仅仅关注技术,开始涉足方方面面,企业管理,财务管理,人力资源,投融资,行业应用,商业模式,产业物联网…..
并非人人都能成为优秀的攻城狮

并非人人都能成为优秀的攻城狮,不得不说天分真的很重要。下面是我的另一篇文章,谈天赋的。

文章来源于互联网:从小白到顶级程序员要多久?

发表评论