程序员的中年危机
程序员岗位是吃青春饭的吗?如果不是,为什么行业里一直在说35岁之后不好找工作?如果这个现象确实存在,管理者又能做点什么呢?
工作上,我们很少看到有35岁以上的普通开发人员。看到的也都属于技术+管理岗。我去网上查了下数据。猎聘的《2020程序员人才大数据洞察报告》显示,48.84%的程序员年龄在25~30岁之间,16.83%的成员年龄在20~25岁之间,也就是说绝大多数程序皆是90后。35岁以上的程序员数量只占程序员总数的不到10%。
从数据上看,程序员们的“中年危机”绝对真实存在。
为什么有这种现象?
如果要我回答,我认为原因有两个
- 很多程序员基础底子并不好,在技术这条路上晋升的话,很容易到其天花板。工资涨到一定程度也上不去了,出去也找不到更高的薪资。
- 另一个原因是,技术有生命周期,有些可能几年,十几年。导致程序员需要持续去学习新技术,如果技术上无法保持更新,公司出现不稳定,就容易成为公司的优化对象。
归根到底,是个人的性价比变低了。猎聘网的数据显示,工作时长为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拿的薪资可能比技术总监低,但如果公司做成功,可以获得不菲的未来收益。
从岗位职责上可以看出,小组长的管理难度并不算大,对大部分人来说,如果有晋升机会一定要去尝试。对于大多数员工,能做到哪一步要靠自己。管理者要做的就是让员工看清楚前面有哪些路。
当然,也有些人是不适合转管理的。这个管理者自己一眼就能看出来。
不适合转管理岗的特征
- 喜欢和机器打交道,不喜欢和人打交道。
- 更喜欢自己去实现功能业务,享受实现过程。
世界上有没有那种被管理工作耽误的技术大牛?有,但很少很少。毕竟,个人能力有限,想做成大事就得与人沟通合作。懂点管理是不是更容易做成事?而且相比于专研技术,转管理更容易。我建议每个程序员都应该到小组长的位置上先尝试一下。如果你确实发现自己不适合,可以重新去钻研技术,做一个某领域里的技术大牛也可。只要你具备别人创造不了的价值,薪资是绝不会低的。
初入管理者很容易犯一些错误,如果公司有条件,可以安排一些管理方面的工作给员工适应。比如做会议的主持人。下面是我总结的常见错误,可以给初入管理者做参考。
初当管理者常犯的错误
一、难的事情都自己干
一般团队里组长在技术上是最厉害的,组长攻克技术难点,逻辑上是很合理的。但深思一下,如果每次都是组长做最难的任务,那组员还能得到成长吗?
二、对组员要求很高
我一直觉得对组员要求高是没有错的,有要求才有成长。但每个人的能力大小不同,做出的效果也必然不同。用自己的能力去要求所有人,这样合理吗?
三、组员遇到问题,自己动手给解决了
由于工作经验浅,会遇到很多莫名其妙的问题。而这些问题在你看来可能很简单,相比于教他原理,让他解决,还不如自己动手,可能几分钟就搞定了。尤其是项目时间比较紧的时候,你自己任务还很多,哪里有空教?好吧,仔细想想,这是组员请教的目的吗?
四、不懂项目管理
虽然每个人都应该对自己的任务负责,你完全可以分配任务后就完全不管,等到验收的时候在发现问题。延期了,你可以扣他们绩效,但这是你想要的吗?
人是有惰性的,如何发挥组员的主观能动性,如何通过流程助推项目,这点也是组长需要思考的。
五、不会开除人
组长一般面试第一轮,就算面的不好,还有总监把关。但人招进来后,做得好不好,组长是感受最深的。
这个人做的好不好?能否培养?试用期表现如何?如果他没能达到你的预期,你为什么不开除他呢?
转型其他岗位
如果你选择第三条路,想转到其他岗位,那么应该提前轮岗,去感受一下该岗位的核心能力是什么?思维方式是怎样?是否合适要试过才知道。在这一块,管理者能够的就是给予员工换岗的机会。
总结,管理者需要帮助员工做规划,帮助员工认识到前面有哪些路,需要哪些技能。还是那句话,越是重要的事情,越应该早做准备。
社区
活动
资源
关于
腾讯云开发者
扫码关注腾讯云开发者
领取腾讯云代金券
热门产品
热门推荐
更多推荐
Copyright © 2013 - 2024 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2024 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有