目录
1. 先从一个真实场景说起
某个周五的下午,一家中型互联网公司的技术总监 A 君找到我聊天。
他 38 岁,写代码 16 年,带过 30 人团队,做过日活千万的后端架构,去年绩效 B+。
他说了一句让我很久没能忘掉的话:
“我最近越来越觉得自己是个骗子。面试造火箭、入职拧螺丝,我干了 16 年,突然不确定自己到底会不会写代码。”
他不是个案。在我和国内不同规模公司的工程师交流过程中,类似的焦虑几乎无处不在——32 岁的 Java 架构师开始怀疑自己为什么连一个新的前端框架都学不进去;35 岁的技术经理觉得自己除了开会什么都不擅长;40 岁的首席工程师隐隐担心下一次裁员名单里有自己的名字。
这不是个人能力的问题。这里面有更深的东西。
2. 生物学真相:大脑并没有在走下坡路
说起”中年危机”,很多人直觉上以为是脑子不行了——反应慢了、记忆力差了、学不动了。
这个理解是部分错误的。
心理学和神经科学有一个重要区分:
┌─────────────────────────────────────────────────────────────┐
│ 流体智力(Fluid Intelligence) │
│ → 快速处理新信息、抽象推理的能力 │
│ → 确实在 25-30 岁左右达到峰值,然后缓慢下降 │
│ │
│ 晶体智力(Crystallized Intelligence) │
│ → 积累的知识、经验、判断力 │
│ → 随年龄持续增长,在 50-60 岁仍可提升 │
└─────────────────────────────────────────────────────────────┘
程序员最核心的能力——系统设计、问题诊断、架构权衡——主要依赖的是晶体智力,而不是流体智力。
研究记忆与学习的心理学家 Bjork 夫妇(University of Michigan)的研究表明:随着年龄增长,人们的”元认知”能力(知道自己知道什么、不知道什么)实际上在增强——你更清楚该学什么、怎么学,而不是变得更糊涂。
那为什么很多程序员感觉”学不动了”?
问题不在于大脑的物理能力。问题在于这个社会和行业制造了一套叙事,把”学不快了”等同于”不行了”。
3. 心理学的陷阱:专家悖论
心理学中有一个概念,叫”专家悖论”(Expertise Reversal Effect)。
它的意思是:当一个人在一个领域积累了大量经验之后,同样的教学方式对新手的帮助,反而会对这个专家形成干扰——因为专家已经形成了自己成熟的心智模型,外来的新框架会和他的既有模型冲突,导致他学得更慢,而不是更快。
这对程序员来说意味着一件很残酷的事:
16年的Rails经验
= 16年精心构建的Rails心智模型
= 现在转React时最大的障碍
不是因为你笨
而是因为你太有经验了
这让很多程序员陷入了一种自我怀疑:
“为什么我学新东西比刚毕业的还慢?是不是我被淘汰了?”
不是。你只是在一个特定的”迁移学习”场景下,处于相对劣势。这和你行不行没有关系。
4. 结构性压力:行业在系统性地淘汰你
如果说生物学和心理学是背景音,那结构性因素才是真正的主角。
4.1 招聘市场的隐性年龄歧视
这不是阴谋论,是行业现实。
中国互联网的快速发展集中在 2008-2020 年,这意味着大量 80 后、90 后工程师在同一时间进入职业成熟期,而整个行业并没有为”大量 40 岁工程师”准备好位置。
职位描述中的隐形年龄筛选:
• "985/211 优先,35 岁以下" → 直接写出来的
• "年轻有活力,能承受高强度工作" → 包装过的
• "希望候选人学习能力强,能快速适应变化" → 对年龄大的人隐性不友好
• 面试中大量白板算法题 → 天然对有时间刷题的年轻人有利
不少工程师都有类似体感:年龄上来以后,面试机会变少,岗位选择也会收窄。公开、可比、连续的数据未必总是充足,但这种结构性压力在求职市场中并不难观察到。
这不是因为他们不够好。是因为招聘市场在系统性地筛选年轻人。
4.2 商业逻辑:年轻工程师是更”划算”的资源
为什么企业会有这个偏好?背后有非常清晰的商业逻辑:
成本角度:
35岁高级工程师:
→ 薪资可能 50-80 万/年(含社保公积金)
→ 有家庭,加班意愿和能力受限
→ 孩子生病、父母有事,工作投入度天然打折
25岁初级工程师:
→ 薪资可能 15-25 万/年
→ 没有家庭负担,可以 996
→ 旺盛的学习欲望驱动,加班不要命
结论:花一份钱买两份产出的逻辑,让"替换"成为企业潜意识
尤其在上市公司,每年底的”人员优化”目标,最终执行的往往是薪酬最高、性价比”相对”最低的那批人——而这通常对应着年龄偏大的高薪资工程师。
4.3 文化叙事:黑客神话的毒害
整个科技行业浸泡在一种神话里:黑客是年轻人的游戏。
黑客神话的元素:
• 车库里的扎克伯格,19岁
• 凌晨3点写代码的传奇
• "我年轻的时候通宵写代码不觉得累"
• "这个技术栈太老了,该换了"
• 崇拜"10x 工程师"——一种主要存在于年轻单身工程师身上的极致生产力
这种叙事在两个方向同时造成伤害:
- 对年轻人:你必须证明自己还能疯狂投入,否则你就是”不行了”
- 对中年人:你一旦慢了、老了,就被归类为”跟不上时代”
这个神话对行业有利,对个人有害。它让每个工程师都相信自己的价值只和”输出速度”挂钩,忽略了经验、判断力、系统直觉这些真正需要时间积累的东西。
5. 程序员特有的三重叠加
上面说的是所有知识工作者都面临的中年危机。但程序员这个职业有其特殊性,造成了一种三重叠加效应。
第一重:技术栈的半衰期陷阱
各技术领域的知识半衰期(大致估算):
基础算法/数据结构 → 几乎不过时(10年以上)
操作系统/网络原理 → 稳定,约10-15年更新一次
主流编程语言核心 → 相对稳定,5-10年
具体框架和工具 → 快速迭代,2-5年
最新前端框架 → 几乎每年变天
AI/ML工具链 → 正在加速迭代
一个 2010 年入行的 Java 工程师,在 2020 年时如果还只会 SSM(Spring + SpringMVC + MyBatis),他的市场价值就已经大幅下滑。但转型到他熟悉的那套体系,有多难?上面讲过——专家悖论。
知识折旧的速度,在所有职业里可能是最快的之一。
第二重:体力密集型的认知劳动
写代码这件事,看起来是”坐着思考”的脑力工作。但实际上,它是一种需要极度专注的认知密集型劳动,同时对体力有相当的要求。
程序员工作的真实能耗:
• 深度编程:连续 4 小时以上的极度专注
• 上下文切换:中断一次,恢复需要 15-25 分钟
• 复杂调试:需要维持大量临时状态在短时记忆中
• 架构设计:需要同时处理 5 个以上抽象层次
一个 25 岁的工程师,可以连续一个月每天写代码到凌晨 1 点,然后在周末补觉。
一个 38 岁的工程师,有 7 岁的孩子、房贷、父母需要照顾——每周能全神贯注写代码的时间,可能只有周一到周五每天上午的 3 个小时。
但这不是”能力下降”。这是人生阶段的结构性变化,不是个人问题。
然而公司在评估绩效的时候,往往不能区分这两种情况。
第三重:积累悖论——知识越多,转型越难
这是最让人感到无力的一重。
在大多数行业,经验和资历是保护伞。但在程序员的某些领域,情况恰好相反:
积累悖论的具体表现:
• 你花了8年成为Java/Kafka/Elasticsearch专家
→ 这些技术开始被云服务替代
→ 你8年的积累,突然从"核心竞争力"变成"沉没成本"
• 你因为架构做得好被提拔为技术经理
→ 3年后写代码的手感生疏了
→ 再去面试高级工程师,面试官问:"你这3年怎么没有产出?"
• 你在一家公司干了10年,业务系统了如指掌
→ 公司倒闭/裁员
→ 出去面试发现,你的"10年经验"只是"1年经验×10"
知识积累的价值,取决于这个知识所在的赛道是否还在增长。一旦技术更迭,你的积累不是线性积累,而可能是沉没成本。
6. 最深的那一层:身份危机
以上说的都是外部压力。但最深的那一层危机,是身份层面的。
很多程序员(尤其是那些以”技术能力强”为核心自我认同的人),会在某个时刻发现:自己在用技术能力定义自己的全部价值。
程序员身份认同的崩塌路径:
1. 22岁:我会写代码,我很聪明
2. 28岁:我技术很强,我是核心员工
3. 33岁:我带团队了,但代码写得少了——有点不安
4. 38岁:面试一个高级工程师职位被拒——我到底行不行?
5. 42岁:我好像既不是最好的工程师,也不是最好的管理者
这种身份危机,比找不到工作更可怕。它让人陷入存在性焦虑:离开了”写代码很厉害”这件事,我是谁?
这不是矫情。这是一种真实的、普遍的心理状态,而且因为程序员的社交圈通常较窄(同事为主,兴趣围绕技术),这种危机往往会持续很长时间而无人察觉。
7. 行业制造的谎言
在谈解决方案之前,有必要先拆掉那些让问题恶化的谎言。
谎言一:
"学不动了是因为你不努力"
→ 真相:流体智力下降是正常的,不是失败
谎言二:
"10x工程师才是真正的工程师"
→ 真相:10x这个数字从来没被严肃研究证实过;它是行业神话,不是科学事实
谎言三:
"只要持续学习就不会被淘汰"
→ 真相:学习速度有生理上限;而且技术选型的权力在公司和资本手里,不在个人手里
谎言四:
"中年危机是个人的问题,调整心态就好"
→ 真相:这是系统性问题;解决方案不只是个人努力,还需要结构性的改变
最重要的一层谎言,是把”学习速度”等同于”智力”,继而等同于”价值”。
程序员群体积累的晶体智力——系统直觉、架构判断、故障排查的经验、对业务的深度理解——是一种随着时间增长、而不是下降的财富。这种财富在 AI 时代反而可能更有价值,因为 AI 擅长的是快速模式匹配,而人类擅长的是复杂系统权衡和上下文判断。
8. 这个系列要做什么
这不是一篇给你打鸡血的文章,也不打算告诉你”只要努力就不会被淘汰”。
这个系列要做的,是诚实地描述程序员中年危机的全貌:
写作计划:
01. 为什么程序员也有中年危机(本文)
→ 生物学、心理学、结构性因素
02. 程序员的三个价值危机
→ 技术折旧危机、身份认同危机、收入天花板危机
03. 35岁之后,如何重构竞争力
→ 技术深度 vs. 技术广度,管理的价值,重新定义"不可替代"
04. 被忽视的心理危机
→ 焦虑、冒名顶替综合征、家庭关系失衡
05. 财务规划是职业安全的一部分
→ 提前布局、被动收入、保险与风险管理
06. 40岁之后,能做什么
→ 技术咨询、产品转型、投资、海外机会
07. 与自己和解
→ 接受角色的转变,从"做"到"指引",重构人生叙事
中年危机不是耻辱。对很多人来说,它是职业中后期常会面对的课题,只不过程序员的危机往往来得更陡、更少被讨论。
下一篇文章,我们来细拆程序员的三个核心价值危机——技术折旧、身份认同、收入天花板,每个都值得单独深入探讨。
💭 思考题:你现在处于职业的哪个阶段?你感受到的最主要的”危机感”来自哪个维度——技术、身份、收入,还是别的什么?
这是「程序员中年危机」系列的第一篇,接下来每小时更新一篇。