本人是一名web前端开发工程师,技术遇到瓶颈,怎么才能不断提高自己?
其实,不仅仅是前端开发工程师,大部分程序员在职业生涯的不同阶段都会遇到瓶颈期,如何顺利度过瓶颈期对程序员的成长是非常重要的。由于每个程序员的成长路线不同,经历的瓶颈期也没有固定的时间节点,所以我按照程序员成长的不同阶段进行瓶颈期划分,然后给出对应的建议方案。
开发内容重复量大导致进步缓慢
这个也许是大部分初级程序员在工作一段时间之后遇到的第一个瓶颈,导致这个问题的主要原因是工作任务划分带来的。大部分开发团队在进行任务划分时都会有固定的角色任务,如果你最初在团队中担任某个角色,那么可能在很长一段时间内都会从事这个角色的开发任务,而这部分开发任务的重复量是比较大的。
关于工作内容重复的问题,让我想起来一段往事。大概在十年前我去青岛中科院海洋所开会,会上一个女老师说了一段话让我记忆犹新,她说:简单的工作重复做、重复的工作认真做、认真做的工作做好了,这就是人才。突破这个阶段的瓶颈大概有这么几个途径:
主动寻求突破。主动升级自己任务开发的方式,拓展自己工作内容的边界。比如我们项目组的UI工程师早期制作的图都是静态的,后来她主动学习新的设计工具,把以前只能静态展示的设计图进行了动态展示,看起来更加直观,这就是一个主动突破的过程。
伴随项目需求的提升而提升。这部分程序员从某种角度来说是幸运的,伴随着开发任务的不断升级促使自己不断学习新的技术从而完成瓶颈期的突破。这种情况大多会出现在发展快速的互联网创业企业,伴随着用户数量的快速攀升,对产品的性能和使用体验要求的不断升级从而促使开发人员不断提高以适应变化。
多与同行交流。要善于使用开发社区,现在很多技术都有活跃度较高的技术社区,社区中的程序员通常都会进行技术交流,通过技术交流实现提高从而突破自己的瓶颈期。
知识储备不足导致的瓶颈期
很多程序员在经历了长时间的项目锻炼之后,发现再想突破已经比较困难了,导致这种情况的主要原因是知识储备不足。比如Python程序员要搞机器学习的项目就需要了解算法,而这需要有一定的数学基础,如果数学基础不足就会导致进展缓慢甚至停滞。计算机软件开发说到底就是个算法问题,所以有一个良好的数学基础对程序员的成长是比较重要的。
还有一部分程序员不是科班出身,在编程的初期也许并不会有太大的问题,当随着开发任务的逐渐升级就会发现基础知识的不足带来的瓶颈期。
要解决这个阶段的瓶颈期需要较强的学习能力,说白了就是哪里不会补哪里。
视野不足导致的瓶颈期
在程序员发展的中后期会存在视野的问题,而这个问题也是比较普遍的问题,可以说是很多程序员最难突破的一个瓶颈期。很多程序员由于这个瓶颈长期突破不了而进行了转岗,用时髦的话来说,视野瓶颈期是程序员的“渡劫”。“渡劫”成功则有质的突破,成为架构师或公司科学家团队中的一员,甚至成为首席科学家。而“渡劫”失败则个人成长可能面临长期的停滞或者干脆转岗了。
决定视野的关键元素是高度,也就是我们通常所说的高度决定视野。而解决高度的方案通常有以下几个途径:
到高校继续深造。读硕士、博士是一个比较常见的选择,几乎每一年都有参加过工作的程序员来高校或科研院所继续读书,通过这种途径来提升自己的视野一定要趁早,越早完成深造对职业生涯越有利。
出国深造。每年都有大量的程序员到国外进行工作和学习交流,很多科技公司也会为程序员提供这样的机会,从而提升公司研发团队整体的技术水平和视野(就是通常所说的国际视野)。
有导师指导。这里的导师不一定是高校的导师,有可能是项目组的领导或者是具备这种能力的同事。很多知名的科技企业通常会出现大批的顶级人才,这其中的根本原因就是企业的氛围和文化。
以上就是研发人员在职业生涯中通常会遇到的三个主要阶段的瓶颈期,解决这些瓶颈期是非常关键的,希望程序员们都能顺利过关。
关注我,了解更多关于程序员职业生涯的内容。