十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

AI 正在吃掉程序员的职业阶梯:以后初级开发者该怎么成长?

AI 正在吃掉程序员的职业阶梯:以后初级开发者该怎么成长? AI 正在吃掉程序员的职业阶梯以后初级开发者该怎么成长最近我看到一个非常值得讨论的观点。在 QCon London 2026 上Alasdair Allan 做了一场题为The Ladder Is Missing Rungs: Engineering Progression When AI Ate the Middle的演讲。翻译过来大概就是职业阶梯正在失去台阶当 AI 吃掉了中间层。这场演讲讨论的并不是一个我们已经听烂了的问题AI 会不会取代程序员而是一个我觉得更加可怕的问题如果 AI 把初级程序员原本应该做的工作都做掉了那么未来的高级程序员从哪里来QCon 官方对这场演讲的概括非常直接过去工程师成长有一条相对稳定的路径Junior ↓ Mid-level ↓ Senior ↓ Staff / Architect初级任务让你掌握基本功中级任务培养判断力高级工程师则开始从整个系统的角度做综合决策。但 AI 正在同时做两件事情一方面 AI 消灭了每一级职业阶梯原本提供的学习机会 另一方面 AI 又让一个经验不足的人 能够暂时完成远超自己实际能力的工作于是一个非常奇怪的时代出现了Junior 可以交付 Mid-level 的代码却不一定拥有 Mid-level 的能力。Mid-level 可以让 AI 帮自己设计 Senior 级别的架构却没有 Senior 工程师经历过的那些事故和教训。而 Senior 工程师也开始思考当实现代码越来越多地由 AI 完成以后我到底应该做什么这可能会成为未来几年软件行业最大的问题之一。01AI 最先消灭的恰恰是培养程序员的工作很多人讨论 AI 编程的时候喜欢算一个东西效率。以前一个程序员一天写 500 行代码。现在用了 Claude Code、Codex、Cursor、Copilot一天可能生成 5000 行。于是开发效率 10x然后公司老板一看那还要那么多程序员干什么一个高级程序员 AI不就可以顶以前一个团队了吗从短期商业逻辑来说好像完全正确。问题在于我们以前到底是怎么培养出一个高级程序员的答案其实非常朴素。就是不停干“脏活累活”。比如写 CRUD 写接口 改 Bug 补单元测试 读日志 排查线上问题 写 SQL 优化慢查询 改别人留下来的祖传代码 处理空指针 处理并发问题 看监控 查内存泄漏 改部署脚本 处理各种奇怪边界条件这些事情放到今天看会觉得这种东西为什么不用 AI确实。AI 特别擅长。但问题是这些工作虽然低效却一直是工程师的训练场。你写过几十个接口以后才逐渐知道什么叫好的 API 设计。你踩过事务的问题以后才真正理解数据库事务。你经历过几次线上事故以后才知道为什么有些代码“理论上没问题”实际上绝对不能上线。你改过几年祖传代码以后才开始理解为什么有些代码看起来很丑 却不能随便动。这就是经验。而经验的形成本质上是实践 ↓ 犯错 ↓ 反馈 ↓ 修改 ↓ 再次实践 ↓ 形成模式识别 ↓ 形成工程直觉AI 最大的问题在于它可能直接跳过了中间这一整段。变成提出需求 ↓ AI 生成 ↓ 代码可以运行 ↓ 提交表面效率高了。但学习过程没了。02Junior 正在拥有 Mid-level 的产出却没有 Mid-level 的能力我觉得 Allan 演讲里最准确的一句话是Juniors who ship like mids but can’t debug like them.意思就是初级开发者可以像中级开发者一样交付功能但却没有中级开发者解决问题的能力。这个现象其实现在已经非常明显了。假设现在让一个刚工作半年的程序员开发用户系统 JWT 登录 Redis MySQL Docker Nginx CI/CD五年前这可能已经算一个完整项目了。现在直接告诉 AI帮我设计一个用户认证系统。 技术栈 Go Gin MySQL Redis JWT 要求 1. 支持登录注册 2. JWT Access Token Refresh Token 3. Redis 保存 Refresh Token 4. MySQL 保存用户 5. Docker Compose 部署 6. Nginx 反向代理 7. 给出完整目录结构几十分钟以后一个能跑的项目就出来了。所以这个程序员可以说“我开发过 Redis JWT MySQL 的认证系统。”这句话 technically 没错。但是继续问JWT 为什么不能直接永久有效 Refresh Token 为什么需要 Redis Refresh Token 泄露怎么办 多个设备登录怎么处理 Redis 挂了怎么办 Redis 和 MySQL 数据不一致怎么办 Token 如何吊销 JWT 使用 HS256 还是 RS256 为什么微服务环境更适合 RS256 Nginx 什么时候会导致 SSE 断流 连接池应该设置多少 数据库事务隔离级别有什么影响他可能一个都解释不清。这就是一个新的工程师类型Output-rich, experience-poor。产出很多。经验很少。03更麻烦的是AI 对初级开发者的学习能力可能真的有影响Allan 在演讲中引用了 Anthropic 的一项随机对照实验。52 名以初级工程师为主的开发者需要学习一个新的 Python 异步库 Trio。一组使用 AI。另一组不使用 AI。结果非常值得注意使用 AI 的人在完成任务速度上并没有获得统计意义上的明显优势。但随后的知识测试中AI 辅助组约 50% 非 AI 组约 67%AI 辅助组低了大约17 个百分点。而差距最大的一项能力恰恰是Debug。也就是调试能力。于是出现了一个非常有意思的悖论。Allan 把它叫Supervision Paradox监督悖论。逻辑是这样的AI 越强 ↓ 程序员越不需要亲自写代码 ↓ 但是 AI 仍然需要人类监督 ↓ 监督 AI 又需要很强的工程能力 ↓ 而这些工程能力 原本恰恰来自亲自写代码和 Debug最终就变成使用 AI 需要工程能力但过度使用 AI 又可能让你失去获得工程能力的机会。这是一个非常麻烦的闭环。04AI 可以帮你 Debug但可能让你永远学不会 Debug以前我们遇到一个线上 Bug。比如panic: runtime error: invalid memory address or nil pointer dereference第一反应是什么看 stack trace。然后grep log ↓ 找到请求 ↓ 定位代码 ↓ 打印变量 ↓ 复现 ↓ 看数据库 ↓ 看缓存 ↓ 猜原因 ↓ 验证两个小时过去。终于发现user,err:userService.GetUser(id)iferr!nil{returnerr}fmt.Println(user.Name)某种特殊情况下usernilerrnil于是炸了。以后你看到类似代码脑子里会自动冒出来ifusernil为什么不是因为看过《Effective Go》。而是因为你被线上事故教育过。这种东西叫Pattern Recognition。模式识别。真正的 Senior 工程师大量能力其实来自这种东西。一个高级工程师看到for_,item:rangeitems{db.Query(...)}可能立刻觉得不对。Junior有什么问题Senior这里可能是 N1。为什么 Senior 知道因为以前吃过亏。同样看到SELECT*FROMordersWHEREDATE(created_at)2026-08-17;Senior 第一反应这个索引可能废了。这些都是长期实践形成的工程直觉。而现在 Junior 可以直接问Claude这段代码有什么问题AI这里可能存在 N1 Query 建议批量查询……问题解决了。但人的大脑并不一定真正建立了那个模式。这就是区别。05Senior 工程师真正值钱的从来就不是打字速度这也是这场演讲非常重要的一个观点。Allan 提到Writing code was never the point.写代码从来不是软件工程真正的核心。这句话我非常赞同。一个工作十年的程序员和一个工作一年的程序员之间的区别从来不是Senior 每分钟能写 100 个字符 Junior 每分钟只能写 60 个字符甚至很多 Senior 写代码比 Junior 还慢。真正的区别是Senior 知道什么东西不应该写。 什么需求需要拒绝。 什么时候应该重构。 什么时候千万不要重构。 什么架构看起来漂亮但会把项目搞死。 哪些数据必须做幂等。 哪些操作必须限流。 哪些接口不能同步执行。 什么地方未来一定会成为瓶颈。 什么时候应该简单一点。 什么时候必须提前设计。这种东西很难通过 Prompt 得到。因为它不是知识。而是Judgment。判断力。06AI 最大的问题不是不会写代码而是不理解“生产环境”这里我觉得 Allan 提出的一个观点特别重要。他说AI Agent 可以读取代码 测试 文档 README Git 历史 Issue但是它无法真正read production读取生产环境。什么意思假设你看到一个代码ifuser.RegionJPuser.Version103{useLegacyPayment()}AI 看了以后可能觉得这是 Legacy Code。 建议删除。因为Version 103看起来已经很老了。单元测试也没有覆盖。Git blame 显示2019 年写的。于是 AI// deleted代码更漂亮了。覆盖率更高了。lint 全通过。CI 全绿。上线以后日本某个渠道突然全部支付失败。为什么因为这段代码虽然只影响 0.1% 用户但每天可能有300 万请求 × 0.1% 3000 用户这就是生产环境知识。而这种知识很多时候根本不存在于README.md CLAUDE.md 代码 注释它存在于某个干了 8 年的老程序员脑子里。他说这个不能删。你问为什么他说2019 年删过一次炸过。这句话值多少钱可能值几百万。07AI 正在吃掉的其实不是代码而是 Institutional Memory这也是未来企业会遇到的大问题。我们经常讲Context Engineering。给 AgentCLAUDE.md AGENTS.md Architecture Decision Records Coding Guidelines API Documentation这些东西确实越来越重要。Allan甚至提出我们可能正在进入一个 Documentation-first Programming 的时代。也就是文档优先编程以前流程人理解系统 ↓ 人写代码 ↓ 顺便写文档未来可能是人整理系统知识 ↓ 形成 Context ↓ AI 读取 Context ↓ AI 写代码 ↓ 人审核于是文档从附属品变成基础设施这其实也是为什么现在CLAUDE.md AGENTS.md Rules Skills Memory MCP Context Engineering突然变得非常重要。因为我们正在尝试做一件事情把 Senior 工程师脑子里的东西结构化出来。08更现实的问题来了公司正在减少 Junior 招聘如果问题只是 Junior 学得慢其实还不算最严重。真正严重的是Junior 的岗位本身正在减少。Allan 在演讲中引用的研究数据显示在 AI 暴露程度较高的职业中2225 岁年轻人的新就业率相比 ChatGPT 出现前的水平出现下降。他引用的 Anthropic 劳动力市场分析估算这一群体进入高 AI 暴露职业的 job-finding rate 下降约14%对于 25 岁以上劳动者并没有看到同样的下降模式。不过研究也明确提醒这一结果存在统计与因果解释上的限制。这个现象特别值得关注。因为 AI 对就业市场的第一阶段冲击可能不是公司 裁掉 50% Senior而是去年 10 Senior 10 Mid 10 Junior 今年 10 Senior 8 Mid 3 JuniorSenior 暂时不会被裁。因为 Senior 需要Review Architecture Debug Production Decision Making AI Supervision真正先消失的是简单 Bug CRUD 基础测试 脚手架 文档 简单前端页面 简单 API也就是Junior Job。09然后十年以后会发生什么假设这个趋势一直持续。2026Senior 很多 Junior 很少2030Senior 仍然很多 Mid 开始减少2035老 Senior 开始退休 但是…… 新的 Senior 呢这就是 Allan 整场演讲最核心的问题Where does the next generation of engineers come from?下一代工程师从哪里来以前是100 Junior ↓ 50 Mid ↓ 20 Senior ↓ 5 Staff以后可能20 Junior ↓ ↓ ↓ 职业阶梯的入口断了。10这件事情其实很像医生培养Allan 举了一个我非常喜欢的例子医学住院医师。为什么医学训练还要求年轻医生做大量基础工作有些工作明明机器可以做 高级医生可以做 护士可以做为什么还是让住院医师做因为做这些事情的目的不只是完成任务而是在培养医生。软件工程以前其实也是这样。Junior 改 Bug。公司的目的当然是Bug 修掉。但还有一个隐藏产出Junior Debug ↓ 几年以后 ↓ Senior以前企业没有意识到这个隐藏产出。因为它天然存在。现在 AI 把第一个产出优化掉AI 修 Bug企业非常开心。但是第二个产出也一起没有了Junior 没 Debug ↓ 没有经验积累 ↓ Senior 断层所以 Allan 的建议之一非常反直觉有些工作即使 AI 做得更快也应该故意让 Junior 自己完成。因为目的不是效率。而是训练。11未来企业可能需要重新设计“程序员培养体系”过去企业的培养体系基本上是招 Junior ↓ 给任务 ↓ 工作几年 ↓ 自然变成 Senior未来很可能不够了。必须变成招 Junior ↓ 设计训练任务 ↓ 限制 AI 使用 ↓ 要求独立 Debug ↓ 参与 Code Review ↓ 参与 Production Incident ↓ 学习 Architecture ↓ 再允许大规模 AI Delegation也就是Deliberate Practice刻意练习。比如以后可能出现AI-Free Debugging Day或者Junior 必须先自己分析 30 分钟 才能询问 AI。甚至 Code Review 不再只是问代码能不能运行而是问为什么这么设计 如果 Redis 挂了会怎么样 这个 SQL 为什么需要索引 这里为什么需要事务 如果请求重复发送会怎么样 这个服务如何水平扩展 这里最大的风险是什么评价指标从Output变成Understanding12对程序员来说以后最危险的不是“不会 AI”而是只会 AI。现在网上有一种非常危险的观点以后不需要学习编程基础了。 直接学 Prompt 就好了。我觉得可能恰恰相反。AI 越强基础能力可能越重要。因为以后写代码越来越便宜。真正昂贵的是判断代码对不对。 判断架构对不对。 判断 AI 有没有理解错。 判断这个修改会不会造成事故。 判断需求本身是不是错误的。所以未来一个高级工程师的工作越来越像AI 输出 ↓ 人类判断 ↓ AI 修改 ↓ 人类验证 ↓ 生产观察 ↓ 继续调整程序员从Code Writer慢慢变成AI Supervisor System Engineer13未来真正稀缺的程序员可能有三种能力我认为至少有三种。第一Debug 能力AI 非常擅长Generate但真实世界最难的是Why doesnt it work?真正厉害的人能够从日志 Trace Metrics 代码 数据库 网络 系统调用一步一步缩小范围。这个能力未来反而会越来越贵。第二系统设计能力AI 可以给你生成微服务架构 Redis Kafka Kubernetes DDD CQRS但真正的问题是到底该不该用很多项目最大的技术能力不是如何使用 Kafka而是为什么这里根本不应该使用 Kafka这是 Senior 的价值。第三Taste品味。也就是什么是好代码 什么是好 API 什么是好架构 什么是过度设计 什么东西虽然能跑但以后一定会出事AI 可以生成 10 个方案。真正值钱的人是知道哪个方案不应该选。14所以以后 Junior 应该怎么学习我自己的建议反而会越来越“传统”。AI 可以用。甚至必须用。但不要只做需求 ↓ Prompt ↓ Copy ↓ Run ↓ 能跑 ↓ 结束而应该变成需求 ↓ 自己设计 ↓ 让 AI 给方案 ↓ 比较 ↓ 生成 ↓ 阅读代码 ↓ 自己解释 ↓ 测试 ↓ 故意破坏 ↓ Debug ↓ 重构最重要的一条永远不要提交一段你解释不清楚的代码。AI 可以给你写funcretryWithExponentialBackoff(){}没有问题。但你至少应该知道为什么需要 Retry 为什么需要 Backoff 为什么要加 Jitter 什么错误不应该 Retry 最大重试次数为什么不能无限 Retry Storm 是什么否则代码虽然是你的 Git Commit能力却不是你的。15AI 最终可能创造一种非常奇怪的人才结构以前的软件行业像金字塔Staff / \ Senior / \ Mid-level / \ Junior Junior以后可能越来越像Senior / Staff │ │ AI Agent │ │ 少量 Junior也就是说AI 吃掉了中间层。一个 Senior 一群 Agent 可以完成过去一个团队的工作。商业效率非常高。但人才培养问题却没有解决。16这可能才是 AI 编程时代真正的大问题AI 会不会写代码这个问题其实已经没有讨论价值了。答案非常明确会。而且越来越会。真正的问题已经变成当人类不再需要通过写代码来学习软件工程以后我们应该如何培养软件工程师这是两个完全不同的问题。以前Learning by Doing现在AI is doing.那人类Learning by what?这才是最麻烦的地方。Allan 最后给出的态度也并不是抵制 AI。相反他认为 AI 的采用几乎已经不可逆。真正需要解决的是如何培养能够监督 AI 的工程师而这些工程师可能从来没有亲自完成过 AI 正在替他们完成的那些工作。这句话值得所有 CTO、技术负责人以及正在学习编程的人认真想一想。最后我一直认为AI 不会简单地把程序员这个职业删除。但它一定会重新定义什么叫程序员。以前我们评价一个程序员代码写得好不好未来可能越来越变成问题定义得好不好 上下文整理得好不好 系统理解得深不深 AI 指挥得好不好 结果验证得准不准 出了问题能不能接管写代码本身正在快速商品化。但判断力没有。系统理解没有。生产经验没有。工程直觉没有。而这些东西恰恰是一个 Senior Engineer 真正值钱的地方。所以对于今天正在学习编程的人我觉得最危险的一件事情不是不用 AI。而是AI 帮你把所有题都做对了但你自己从来没有学会做题。短期看你的效率可能提高了十倍。长期看你可能永远跨不过 Junior 到 Senior 的那道门槛。AI 吃掉的也许不是程序员。它正在吃掉的是程序员成长为真正工程师的过程。而未来十年整个软件行业必须想办法重新把这个过程设计回来。我是王仕宇AI 是带我们一起成长。
返回列表