一个老程序员对自己当前编程技术处在哪个水平的反思
编程界公认的,经典的程序员修炼进阶模型,这个模型给程序员定义的4重境界:
无意识无能力——不知道自己不知道
有意识无能力——知道自己不知道
有意识有能力——知道自己知道
无意识有能力——不知道自己知道
1 无意识无能力
在校大学生,或是工作刚一年的编程新手所处的阶段,年少轻狂,激情四射,学习编程新知识超级有干劲,当自己按照教程编写出一些应用,学会使用一些框架,研究了一些算法后,觉得自己很牛,觉得编程就这么回事——不知道自己不知道。
2 有意识无能力
工作过一段时间,接触到了一些大型项目,在工作中遇到过一些自己无法独立解决的棘手问题,需要依靠公司大牛的帮助。收起了第一阶段的心高气傲,开始沉下心来虚心学习,研究事物的本质。越学习,越觉得自己懂得很少——知道自己不知道。
3 有意识有能力
经过有意识无能力的阶段,这个时候,该程序员已经身经百战,接触过各种编程语言,使用过各种编程框架,在无数的加班处理生产系统中报的incident这种生与死的边界徘徊过,解决过各种稀奇古怪的棘手问题等等,经验已经非常丰富,职业水平已经上了一个台阶。经历过成千上万小时的编码生涯后,有意识有能力的程序员对于遇到的大多数问题,都知道其发生的原因以及解决方案。处于这个阶段的程序员已经能够独立解决自己遇到过的所有问题。
4 无意识有能力
真正的超级程序员。这个阶段的程序员能够解决同事遇到的但是自己还没有接触过的问题。这个阶段只有程序员的抽象思维能力不断提高才能够达到的境界。
如果说有意识有能力的程序员能够解决某一个问题,那么最后这个阶段的程序员则能够解决某一类问题。
处于这个阶段的程序员能让每一位同行羡慕不已,因为他/她已经将自己职业生涯接触过的所有编程语言/框架真正融为了一体,在接到任务时,脑子里想得不再是“我应该用什么编程语言/编程框架来完成这个思路”。无意识有能力的程序员,能够潇洒自如地运用自己所学去完成任务,而不再拘泥于某一项具体的技术。这个阶段的程序员,就是在武当山真武大殿忘记了张三丰传授过的所有剑招之后的张无忌,就是华山思过崖里尽悟风清扬传授的独孤九剑之后的令狐冲。
本文内容仅供个人学习/研究/参考使用,不构成任何决策建议或专业指导。分享/转载时请标明原文来源,同时请勿将内容用于商业售卖、虚假宣传等非学习用途哦~感谢您的理解与支持!