程序员经过知识的积累过程大致分为困惑期、发展期、瓶颈期和自由期四个阶段,困惑期、发展期和自由期这三个阶段随着工作经验的逐步丰富,过渡都是非常容易。与其相反,瓶颈期是很难渡过并且这个阶段是对事业和人生的非常关键的阶段。在这里学到的、掌握到的都是行走江湖的真功夫。经历了这个过程后,就基本能把程序员分出个三六九等。
很多程序员到了瓶颈期(工作5年左右)后,就会处于一个停滞状态。技术上已经驾轻就熟,工作上已经按部就班并且完成得还很不错。常常感觉自己无所不能什么都会,就是在实践中感到无从下手。虽然心里感觉有些不甘,但是何去何从显得很茫然很无助。
如何才能打破这个瓶颈期呢?
首先,技术知识
这个阶段的程序员,技术应该有更上一层楼的意识,千万不要固步自封,夜郎自大。1)要对自己在技术上有一个客观的分析,看看自己的长项在什么地方,弱项在什么地方。对自己的弱项就要想办法进行克服,千万不要留在那里,日后必然会影响自己的进步。比如,很多人弱项在面向对象的设计方法,人机界面交互,大数据量处理,处理效率等,如果有这些方面的问题就要想尽办法去解决。
2)要注重编程基础技能的深入掌握,很多时候程序员只是拿来主义,知其然不知所以然,把基础缺失的那个部分再补回来,为今后向更高的技术境界打下基础,比如像操作系统,网络知识、程序设计语言、数据库、系统构架、软件工程等基础知识,要重新审视,把其中有用的知识掌握好,并且要学会把各种基础知识给串联起来,加深对基础知识的认识。
3)要逐步把编程技术从功能实现方面转向参数化设计、软件构架等高级阶段方面的研究,在共享、通用、标准化方面有所建树。
其次,团队意识
这个阶段的程序员,基础技术知识的积累到了一定程度,能把自己的知识经验变现,让更多的人能享受到技术的福利以及团队协作的技能。例如:为了提高研发效率,团队架构是否按照统一标准设计、框架设计是否让新增业务接口的时候只需要少量代码就实现、项目模块设计划分功能是否能够非常清晰易懂、与人沟通的技巧等。“团队意识”技能的不断提升,恭喜你作为一个技术管理者距离已经越来越近。你作为技术管理者的时候,显然你已经突破这个瓶颈期,进入到下一个困惑期。