过去十年,互联网的飞速增长创造了大量的岗位需求,同时由于在对未来的预期中,科学技术的突破和创新依然会在构建社会中扮演重要的角色,所以大多数人对程序员这个行业整体的发展趋势是非常看好的,甚至可以说有些过于乐观了。
然而事实上,编程乃至整个互联网行业的人才动态都显示出竞争越来越激烈的趋势。
首先要正视的事实是:整个行业的人才储备越来越充裕,相关专业的毕业生数量逐年提升,并且质量还越来越高。
计算机科学与技术、电子信息等专业也成为了近年来多所高校的热门专业,不仅每年申请人数众多,录取分数线在众多专业中名列前茅,同时转专业和旁听的人数也是逐年增加。
科技的发展并不一定意味着岗位的增加,相反,有时也会意味着岗位的减少。
在人工智能飞速发展的如今,可以预见的是未来很多支持类的研发岗位都有可能被效率更高的程序所代替,而专注人工智能的公司将会把相关技术在行业内大规模普及。
从上面的分析来看,我们已经可以很清楚地得出结论:在需求侧趋于平稳,而供给侧逐渐增加的情况下,程序员之间的竞争将会越来越激烈。
除此之外我们不可否认的是,互联网公司本身结构比较扁平,管理岗位较少,那么我们该如何进行职业规划和技能储备,才能在 10 之后从激烈的竞争当中脱颖而出呢?
一、拓宽业务场景
我们会在很多场合听到对「精钻」这个词语的推崇,包括在职场上,我们常常听到前辈教导我们对待工作要精益求精,但事实上,在某一方面做到万里挑一的大牛是一条可取的道路,却不是职业发展的唯一道路。
尤其是当今行业发展日新月异,某一细分领域很难在一个人 15-20 年的职业生涯中一直处于蓬勃发展的状态,如果之后又出现了新的细分市场,复合背景积累的经验会帮助程序员快速切入到新的细分市场。
而小业务场景则是指同一个技术在同一家公司的不同业务范畴。例如算法方向,可以分为排序、推荐、NLP、图像识别和用户行为研究等,攻坚某一领域是一条发展路径,但横跨不是一个领域也是一条发展路径。这就需要程序员自己把握机会,不断跳出舒适区去承担新的业务和需求。
二、把握职场节奏
在职场上有一个时间标准:3 年。 3 年时间,一定要在工作内容和职级上有一个质的变化,这个变化可以通过升职得到,也可以通过跳槽达成目标。
初入职场的 3 年,主要的工作内容就是夯实基础,此时基本处于「完成上级交付的任务」这样的阶段。但在这个过程中,员工不能仅仅完成任务了事,而是要不断思考为什么上级要布置这个任务,这个需求是怎么来的,用于解决什么问题,有没有更好的解决方案等等。
之后的 3 年,也就是职业生涯的 3-5 年,作为程序员,需要达到一个小 leader 的层级,即带领一个小团队(可以仅仅有几个人)负责某一个某块或是功能的研发,此时在上个阶段积累的经验和关于解决方案的各种想法的作用便凸显出来。而此时作为小团队负责人的角色,程序员更多地需要关注上下游的逻辑,能够形成完整的逻辑链条。
工作经验的 5-8 年,此时程序员已经进阶成了技术负责人,可以独立负责某一个产品的研发,可以成功地推动产品从 0-1 的阶段,此时更多需要关注的便是跨部门之间的合作与沟通,确保研发行程的按时交付。与此同时,更多地关注一些产品设计方面的内容,会对进一步的晋升很有帮助。
最后一个阶段,即工作 10 年以上,此时达到研发总监或是更高的职位会是一个比较理想的状态,而对于这个层次的要求,是对于整个行业能有比较清晰深入的判断,能够感知未来技术发展的方向并为公司提前布局。
三、训练复合技能
除了编程之外,程序员要尽量培养一些其他方面的技能,例如演讲、写作等等。这样做一方面可以为程序员提供一些兼职机会,如主讲技术相关的直播课程、参考文章或书籍的撰写等。类似的机会在提供报酬的同时也会增加员工的知名度和行业影响力,更有甚者,在社交媒体上发表了相关文章之后,吸引了一批志同道合的同行,开始合伙创业,有了更大的机遇。
就算没有这些额外的收益,复合技能的人才在公司内部也会受到青睐。
四、保持紧密沟通
有些程序员认为自己做的是技术性工作,只要写好代码就可以了。这是错误的认知。根据以往服务候选人的经验来看,那些有意识在工作之余关注行业动态,积攒人脉资源,并且乐于与同行沟通的程序员,往往在职业发展的路上走得更远。
一方面,程序员可以通过这些方式随时评估自己在市场上的价值和优势,当行业和技术的风向发生转变时,及时对自身查漏补缺,避免被时代抛弃。另一方面,人脉资源的积累,有时也能对自己下一次换工作起到雪中送炭的作用。
可见,行业信息、公司动态的互通有无对于职业发展有着至关重要的影响,准确地把握行业动态有助于员工抓住一些转瞬即逝的机会。
经历了「全民创业」的疯狂和「资本寒冬」的洗礼后,互联网行业已逐渐进入规范期。创业公司倒闭潮、中大型公司裁员潮、中年程序员职场危机...谁能想到那些十年前轻易就能找到工作的程序员,会在十年后面临诸多职场困扰。
这更加给我们以警醒:时代的变化太快,为了在将来不被淘汰,程序员们要从现在开始未雨绸缪,制定清晰的职业规划,把握节奏,全面综合发展,才能避免成为35岁以后被时代抛弃的人。