转个知乎问题回答: https://www.zhihu.com/question/485901214/answer/2193462107
其实这个问题从我刚毕业的时候就一直在思考,也一直在网络上查相关的问题,包括但不限于以下命题:
- 程序员是不是到了 35 岁就会被淘汰?
- 程序员是不是年龄大了只能转管理?
- 技术和业务哪个更重要?
- 程序员的发展方向是什么?
- ...
诸如此类的问题,在知乎上也比比皆是,不信我随手给你截一个图:

这个问题,我觉得不同的年龄段、不同的工作经验、不同的工作环境给出的答案是不一样的,我的回答也只代表我此时此刻( 2021.10 )的想法。
题主这个问题,细拆一下大概有两个关键因素:
- 程序员的年龄
- 是否转管理
下面我就细说一下我的思考。
程序员的年龄
先说说年龄这个问题。
程序员这个工作确实是一个逆水行舟的工作,不进则退,如果你的职级、负责的事情没有随着年龄的增长而增长,那你在找工作的时候就会受到质疑(声明一下我没质疑过别人,只是在网络上见过别人发出这样的质疑),所以从这个角度来说,这也造成了程序员的卷。
而且程序员行业普遍年龄都偏小,大部分都是二十多的小年轻,在整体年轻化的工作氛围下,对年龄大的容忍度比较小,何况还有那么多压榨人的小公司。
是否转管理
这个问题放到几年前,或许我无法很好的回答,我可以照着网上很多回答说“不用非要转管理啊,你也可以安安静静的做技术专家啊”之类的话,但是以我此时此刻( 2021.10 )的认知,我的回答是:
肯定是要转管理
转管理这件事情是不用犹豫的,你唯一需要犹豫的是:是否要在做管理的同时依然保持技术敏感度
你想想随着你职级的升高、负责事情越来越多、事情规模越来越大,你一个人肯定不可能面面俱到的做所有事情,所以你必然会带一个小组或者团队,只要人数大于 2 ,那必然会出现管理问题。
怎么管好事情?怎么管好人?怎么让大家可以开开心心的做事?怎么让大家把事情做成?怎么让你的上级觉得你能管好这个团队?这都是问题,这是你无法抗拒的,这也是你必须解决的。
还有就是,大部分公司所谓技术,也就那么回事儿,真正有意思的做出牛批的产品,不管是面向普通用户的商业产品还是面向程序员的技术产品,而做这种产品总是需要一个团队的,所以这就又绕回到管理上来了。
最后,待过大公司的人应该都知道,互联网公司的干活儿模式其实可以粗浅的分为三级:
- 负责人
- 小组长
- 干活儿的
这里面,第 3 级就是大部分人所处的位置,主要是以干活儿为主,基本上就是块砖,哪儿需要就往哪搬;第 2 级是小组长,也就是带领大家干活儿的人,一般是带三四个人,小组长只有分活儿的权力,没有打绩效和人事权力;第 1 级就是负责人,也就是在组织关系上有明确节点的人,有人事权和绩效权,可以决定团队方向和划分蛋糕。
以目前的情况来看,如果真的对自己的技术很有自信,那么为什么不往技术管理的方向走呢?去带领更多的技术人做出更高的产品,这一点在多年前雷军就有谈到过(原文地址:我的程序人生路( 1996 年旧文) | 雷军的博客)
高级程序员不是追求的目标
有的人学习编程技术,是把高级程序员做为追求的目标,甚至是终身的奋斗目标。后来参与了真正的商品化软件开发后,反而困惑了,茫然了。
一个人只要有韧性和灵性,有机会接触并学习电脑的编程技术,就会成为一个不错的程序员。刚开始写程序,这时候学得多的人写的好,到了后来,大家都上了一个层次,谁写的好只取决于这个人是否细心、有韧性、有灵性。掌握多一点或少一点,很快就能补上。成为一个高级程序员并不是件困难的事。
当我上学的时候,高级程序员也曾是我的目标,我希望我的技术能得到别人的承认。后来发现无论多么高级的程序员都没用,关键是你是否能够出想法出产品,你的劳动是否能被社会承认,能为社会创造财富。成为高级程序员绝对不是追求的目标
至于是否在做管理的同时依然保持技术敏感度,也就看自己了,如果是我的话,我会依然保持对技术的敏感度,毕竟我本身还是很喜欢写代码的,这一点因人而异。
最后
最后总结一下,以目前( 2021.10 )的情况来看,程序员到了一定年龄必须要关注管理,因为做更大的事情需要更大的团队去完成,而且社会因为年龄也会对你有更高的要求。
不过,我还是希望有那么一天,没有人再问此类问题,所有程序员不管什么年纪都可以沉醉的写代码,不会因为年龄、资历而受到质疑,这一天应该会很快到来。