写点什么

怎么给程序员做职业规划?

用户头像
石云升
关注
发布于: 2021 年 10 月 04 日
怎么给程序员做职业规划?

程序员的中年危机

程序员岗位是吃青春饭的吗?如果不是,为什么行业里一直在说 35 岁之后不好找工作?如果这个现象确实存在,管理者又能做点什么呢?


工作上,我们很少看到有 35 岁以上的普通开发人员。看到的也都属于技术+管理岗。我去网上查了下数据。猎聘的《2020 程序员人才大数据洞察报告》显示,48.84%的程序员年龄在 25~30 岁之间,16.83%的成员年龄在 20~25 岁之间,也就是说绝大多数程序皆是 90 后。35 岁以上的程序员数量只占程序员总数的不到 10%。


从数据上看,程序员们的“中年危机”绝对真实存在。

为什么有这种现象?

如果要我回答,我认为原因有两个

  1. 很多程序员基础底子并不好,在技术这条路上晋升的话,很容易到其天花板。工资涨到一定程度也上不去了,出去也找不到更高的薪资。

  2. 另一个原因是,技术有生命周期,有些可能几年,十几年。导致程序员需要持续去学习新技术,如果技术上无法保持更新,公司出现不稳定,就容易成为公司的优化对象。


归根到底,是个人的性价比变低了。猎聘网的数据显示,工作时长为 3~5 年的程序员平均年薪为 17.89 万元,3 年后,他们的薪水会增长至 21.89 万元,5 年后,他们的薪水会涨至 24.21 万元,10 年后,35 岁左右的他们平均年薪涨至 26.92 万元。新人与 35 岁程序员的年薪相差了 9 万元,公司付出的成本绝对不少于 10 万。


27 万的平均年薪不算低了,你拿这么多工资,就得创造比这更大的价值。创造不了,只能“降价”。所以圈子里才会有”程序员 35 岁之后,越老越不值钱“一说。而与之相对的,35 岁这个年龄,正直上有老要养,下有小要养。需要用钱的时候。所以这是我们迟早要面临的一个困境。

帮助员工成长,做好职业规划

我们经常说要帮助员工成长,怎么帮助?我觉得帮助其把职业规划好,就是一个非常好的抓手。


我跟一些同事讨论过未来规划,这个事大家基本都想过,但都没有想清楚。基本上都是走一步算一步。这不怪你,人的大脑就是这样工作的。因为未来还太远,所以总是不着急。但我的经验告诉我,越是重要的事情,越应该早做准备。

程序员的职业规划大概有这么几条路

1. 专注做技术,磨练自己的业务和技术。
2. 转型做管理。一种是重技术+ 轻管理。一种是重管理,轻技术。
3. 转型产品、运营、项目经理、销售、讲师等其他岗位。


不管选择哪一条,核心都是一条。你有什么地方是优于其他人的?

专注做技术

如果选择你第一条,那你需要问自己,你在技术哪一方面优于其他人?对于走技术路线的,我建议在以下某一个方面先做到行业里前 2%

  • 基本功过硬。如果你能写出的代码比别人更好(无 bug、易懂、易维护、可扩展等等)。我没见过有人敢说完全没 bug。全世界 bug 最少的软件:Tex。其创造者高德纳出资悬赏找到 bug 的人,悬赏金额呈指数增加(2.56、5.12、10.24、20.48、40.96……)。最后只找出 3 个 bug。不得不说,这世界确实存在天才。也因此,普通人要更加努力。

  • 经验丰富,编码效率高。我见过有着丰富工作经验的人,有自己的代码库。别人写一个功能模块需要一天,他半小时就搞定了。有经验不仅仅体现在业务上,也体现在解决问题的积累,编码的积累等。

  • 懂业务。懂业务意味着你写的代码扩展性会更好。在于产品经理沟通时也会更通畅,甚至给产品经理提供更好的实现思路。另外要转型其他岗位的话,懂业务是必须的。

  • 专注一门难度极高的领域。比如专注算法,做一个算法工程师。或者做架构,做一个架构师。这类岗位目前对公司非常重要,招错了成本大,市场溢价会高,生命周期也会更长。

  • 通用底层能力:沟通能力、解决问题能力、执行力、工作态度等通用能力。很多人都小看了工作态度这项能力,一线管理者的工作状态基本就是团队工作状态的缩影。


如果你没办法在某一个领域里做到前 2%,那么在多个领域里做到前 20%也非常不错了。比如,你技术能力做到前 20%,沟通能力也能做到前 20%。那你就是前 4%最会沟通的程序员。


你要是觉得前 2%很难,改成 5%也行。问题在于我们没办法去考核这些量化指标。其实我想表达意思是,专注技术必须要有明显的竞争优势,也就是你的长板。在团队里,能力太平均了很容易被优化掉。


转型管理

如果你选择第二条做管理。那要提前做好准备。正常情况下,管理岗位是稀缺的,你需要付出很大的努力才能获得。至少要先证明自己能够胜任管理岗。一般早期加入创业公司,随着公司发展起来的,更容易获得管理岗位。


小公司的技术能晋升的岗位并不多,常见的也就三级:小组长/研发 Leader—— 技术总监—— CTO。有些公司技术总监就是 CTO。


小组长/研发 Leader:一般管理 3-5 个人。主要工作:

  • 任务管理:评估工作量、定位开发流程、跟踪项目进度。

  • 质量管理:代码重构计划、代码复查、技术难点调研、制定研发方案。

  • 团队技术能力提升:招聘面试、新人指导、技术分享、项目复盘等。


小组长的大部分时间其实还是在具体实现上,小部分时间会放在管理上。而且这些管理工作大部分也是和实际的工作有关。原来自己给自己拆解任务定工作量,现在要帮助组员拆解,原来自己做实现,现在需要学会分配一部分任务交给组员做。

技术总监:一般管理人数在 20+。主要工作:

  • 组建团队:招聘面试,培养团队小组长。

  • 设计组织架构:根据产品规划岗位需求。

  • 设计平台架构:根据产品选择技术栈,解决软件系统复杂度带来的问题。

  • 项目管理:协调项目资源,提高项目效率,保证项目按时上线。

  • 组织文化:塑造企业文化、激活团队活力、打造学习型组织氛围。


从中可以看出,技术总监具体的编码实现功能相对会少一些。与人和项目打交道的时间会更多。


CTO:主要工作是用通过技术手段实现公司目标。具体工作偏向于管理,本身可能已经不写代码了。当然这也看公司大小,小公司 CTO 还要做技术总监的活。除了技术方面的一些前瞻性把控,CTO 还需要参与商业决策,制定公司战略,做好资源分配和绩效考核。


另外,创业公司的 CTO 拿的薪资可能比技术总监低,但如果公司做成功,可以获得不菲的未来收益。


从岗位职责上可以看出,小组长的管理难度并不算大,对大部分人来说,如果有晋升机会一定要去尝试。对于大多数员工,能做到哪一步要靠自己。管理者要做的就是让员工看清楚前面有哪些路。


当然,也有些人是不适合转管理的。这个管理者自己一眼就能看出来。

不适合转管理岗的特征

  1. 喜欢和机器打交道,不喜欢和人打交道。

  2. 更喜欢自己去实现功能业务,享受实现过程。

世界上有没有那种被管理工作耽误的技术大牛?有,但很少很少。毕竟,个人能力有限,想做成大事就得与人沟通合作。懂点管理是不是更容易做成事?而且相比于专研技术,转管理更容易。我建议每个程序员都应该到小组长的位置上先尝试一下。如果你确实发现自己不适合,可以重新去钻研技术,做一个某领域里的技术大牛也可。只要你具备别人创造不了的价值,薪资是绝不会低的。


初入管理者很容易犯一些错误,如果公司有条件,可以安排一些管理方面的工作给员工适应。比如做会议的主持人。下面是我总结的常见错误,可以给初入管理者做参考。

初当管理者常犯的错误

一、难的事情都自己干

一般团队里组长在技术上是最厉害的,组长攻克技术难点,逻辑上是很合理的。但深思一下,如果每次都是组长做最难的任务,那组员还能得到成长吗?

二、对组员要求很高

我一直觉得对组员要求高是没有错的,有要求才有成长。但每个人的能力大小不同,做出的效果也必然不同。用自己的能力去要求所有人,这样合理吗?

三、组员遇到问题,自己动手给解决了

由于工作经验浅,会遇到很多莫名其妙的问题。而这些问题在你看来可能很简单,相比于教他原理,让他解决,还不如自己动手,可能几分钟就搞定了。尤其是项目时间比较紧的时候,你自己任务还很多,哪里有空教?好吧,仔细想想,这是组员请教的目的吗?

四、不懂项目管理

虽然每个人都应该对自己的任务负责,你完全可以分配任务后就完全不管,等到验收的时候在发现问题。延期了,你可以扣他们绩效,但这是你想要的吗?

人是有惰性的,如何发挥组员的主观能动性,如何通过流程助推项目,这点也是组长需要思考的。

五、不会开除人

组长一般面试第一轮,就算面的不好,还有总监把关。但人招进来后,做得好不好,组长是感受最深的。

要问自己,这个人做的好不好?能否培养?试用期表现如何?如果他没能达到你的预期,你为什么不开除他呢?

转型其他岗位

如果你选择第三条路,想转到其他岗位,那么应该提前轮岗,去感受一下该岗位的核心能力是什么?思维方式是怎样?是否合适要试过才知道。在这一块,管理者能够的就是给予员工换岗的机会。


总结,管理者需要帮助员工做规划,帮助员工认识到前面有哪些路,需要哪些技能。还是那句话,越是重要的事情,越应该早做准备。



发布于: 2021 年 10 月 04 日阅读数: 177
用户头像

石云升

关注

做时间的朋友,用文字记录成长。 2017.11.30 加入

InfoQ首批签约作者、年度最佳内容作者、年度功勋人物。 微信公众号:石云升SYS 职场、成长、学习等相关问题,欢迎你留言和我交流。遇到喜欢的文章记得点赞,评论。

评论

发布
暂无评论
怎么给程序员做职业规划?