下面是一位前辈总结的程序员成长四个阶段,个人觉得非常有道理,你在哪个阶段?
阶段一:不知道自己不知道(Unconscious incompetence)
大学期间,我和老师做过一些小项目,自认为自己很牛,当时还去过一些公司面试做兼职,但是就是不知道为什么没有回复。那个时期的我,压根不知道自己不知道,还以为自己懂很多,现在想起自己以前就好笑,那个时候还算不上程序员,顶多只能算是个业余编程爱好者。
表现:假自信、过度承诺、满口我能行没问题、看不起其他程序员….
阶段二:知道自己不知道(Conscious incompetence)
工作后,发现自己在项目中工作时遇到困难不知道怎么解决,和身边人一比发现自己知识很欠缺,这时候知道自己技不如人,很多地方都不足,需要大补才行,这个时候就是大家所说的初级程序员阶段,这个阶段必须依靠别人指导。
表现:有点心虚、虚心学习、偷偷努力、羡慕牛人…
阶段三:知道自己知道(Conscious competence)
工作三四年后,自己的技能逐步提高,成为了项目组的技术大拿,这时候也很自信,知道自己能够解决遇到的所有问题,这时候就是高级程序员阶段了。
表现:自信、比较客观、真正承诺、有点自我…
阶段四:不知道自己知道(Unconscious competence)
工作多年后,随着自己知识的深度和广度的提高,越学发现越不懂,有时好觉得自己以前真是浪费了太多时间。虽然觉得自己还有很多需要提高,但是对工作中遇到的问题基本没有解决不了的,这个时候很多知识都自成体系,解决问题也有了自己的潜意识,有时连自己都不知道自己知道,这时候属于架构师级别了。
表现:开放、主动、好学、谦虚…