初级程序员
把描述出来的问题变成能跑、能维护的代码 —— 并且越来越多地,要判断生成的代码到底对不对。
这不是失业概率。它把「岗位任务中有多少暴露于自动化」与「采用实际走到了哪一步」合成为一个值 —— 只用于在同一套口径下横向比较职业,除此之外不作他用。
专门针对入门级与职业早期的软件岗位 —— 它面临的情况与资深工程岗明显不同。这个区分在这个职业上比其他任何首批职业都更重要。
到底什么在变#
分析单位是任务,不是职位名称。职业不会被整体替代 —— 变的是它的任务构成。
写常规代码
正在自动化✓ 有证据支撑增删改查接口、表单、标准集成、已知模式的测试。
规格清晰、训练数据中大量存在、而且跑一下就能立刻验证。这是代码生成最强的场景 —— 而它恰好是过去招初级程序员来做的大部分工作。
生成它和为它负责是两回事。仍然要有人判断它是否正确,而这个人过去正是通过「先自己写」才学会判断的。
在不熟悉的系统里排错
正在被增强✓ 有证据支撑在症状和病因不在同一个地方时,找出到底为什么坏了。
工具在提出假设、读堆栈这些事上确实很强。但在「脑子里装着这个具体系统的模型、并知道哪个观察是决定性的」这部分上,弱得多。
这是生成式代码天花板暴露得最清楚的地方,也是「初级」和「能放手让他独立干」之间的分界线。
审查生成的代码
新出现的任务✓ 有证据支撑认真读那些看起来很像回事的代码,抓出「自信地错了」的部分。
代码产出量急剧上升,验证需求也随之上升。审查「流畅但错误」的代码,是一项独立的、新近变得核心的技能。
把模糊需求变成规格
仍由人主导≈ 平台推断问出那些能揭示「到底该建什么」的问题。
需要关于用户、业务、以及「什么已经试过了」的上下文。生成处在这一步的下游,而且会比人更快地把错误规格放大。
决定各部分如何组合
仍由人主导≈ 平台推断选择那些两年后仍然站得住的结构与取舍。
取舍决策依赖的约束都在代码库之外 —— 团队规模、时间线、业务下一步要什么。这正是「资深」的含义,也是过去初级程序员靠写两年常规代码才到达的终点。
哪些技术在起作用#
四类独立信号。它们刻意不做加总 —— 一个职业暴露于两种技术,不等于风险翻倍。
它是怎么走到这里的#
指数不是一个静态数字。这是自 ChatGPT 以来,每个能力检查点上它大致会落在哪里 —— 回溯重建,并且如实标注。
● 本职业有 2 条已核实事件,按真实发生日期标在轴上 —— 靠近标记的那几段曲线是有可核对的东西锚定的。
基线里已经含了代码补全 —— 它比 ChatGPT 更早。2023–2024 上行很陡,2025 之后趋平:一部分是能力原因,一部分是招聘上的修正 —— 几家砍掉初级岗的组织公开承认,他们把「人如何成长为资深」的那条路一起砍掉了。
曲线平缓不是「安全」的预测。它只是在说:到目前为止,自动化触及了哪些任务 —— 这里动得最少的职业,约束都是物理的或监管的,而这两样都会变。
近期变化#
熟悉大型成熟代码库的资深维护者(各约 5 年),工具主要为 Cursor Pro + Claude 3.5/3.7 Sonnet。作者明确不主张结论适用于多数开发者或新项目、初级工作。
失败、撤回、监管或成本正在抑制采用。可以下调评估,或扩大不确定区间。
METR — study report ↗一家大型科技公司的自报数据,未说明「生成」如何计量(补全还是整段函数)。未提及招聘;审核环节仍由工程师承担。
企业已正式投入使用。可以改变基线,但要结合规模与场景相似度加权。
Google — CEO remarks, Alphabet Q3 2024 earnings call ↗这对你意味着什么#
这个职业在「入门级 vs 资深」上的分裂,是首批职业里最尖锐的。让初级岗位在经济上值得设立的那些任务,正是被自动化的部分;而定义资深工作的那些任务,不是。风险不是「编程不再是职业」—— 而是梯子的最低一级正在被拆掉,顶端却完好。具体地说:你需要证明的是判断力而不是产量,而且要在别人通常还不会这么要求你的时候就做到。
你的位置相对稳固,但它依赖于「有一批人用慢办法学会了判断」这个供给。如果入门这一级持续断裂,几年后到来的约束就不是自动化 —— 而是没有人积累起足够经验去审查工具的产出。这件事值得现在就当成招聘和带人的问题来想,而不是以后。
你的选择#
四个方向,每个都写明真实约束和一个本周可验证的动作。继续做下去也是正当选择 —— 只要它是被选择的,而不是被默认的。
比梯子预期的更快建立判断力
稀缺的是「能判断生成代码对不对」的人。这件事你第一天就可以开始证明,不必等两年。
前提是待在一个有真实后果的代码库里。玩具项目教不会这个。
拿一个生成的 PR(你的或同事的),写一份真的找出了问题的评审意见,附上推理。每周做一次,把它们存下来。
转向「错了代价很高」的方向
支付、安全、数据一致性、基础设施 —— 这些「自信地答错会真的赔钱」的领域,会把人牢牢留在环节里。
需要深度,而深度需要时间。选一个方向,待到足够久,久到别人有问题会来问你。
在你当前的系统里挑一个这样的领域,从头读到尾,直到你能向别人讲清它的失效模式。
工程与问题之间的岗位
解决方案工程、开发者体验、技术产品 —— 这些岗位的价值在于同时理解系统和「别人需要它做什么」。
要求把沟通当成一级能力来练,不是每个人都愿意。
给你做过的东西写文档,交给一个不熟悉它的人,看着他卡在哪里 —— 不要帮忙。
把工程思维带到非软件领域
很多行业里几乎没有「既懂本行、又能动手做」的人。这个组合很稀缺,而且不和生成式工具正面竞争。
行业知识几乎要从零开始,第一年通常感觉像在倒退。
找一个非软件行业、有重复性问题的人,做出能帮上忙的最小的东西。这一个项目就是证明。
常见问题#
该学,但理由和五年前不同。过去学编程是为了能产出代码,现在的价值在于能判断代码 —— 而你没法判断一份你自己写不出来的代码。这套训练依然有效;变化的是入门级就业市场不再可靠地「一边发工资一边让你练出判断力」。要明确地为这个缺口做计划,而不是假设第一份工作会教你。
这些岗位存在的经济理由 —— 在规格清晰的工作上提供廉价产能 —— 正在减弱,而且这是真实的结构性变化,不是周期。但完全停止招初级的团队会给自己制造问题:几年后没有人是用「难的办法」学会判断产出的。合理预期是:这个角色会围绕审查与判断被重新定义,而且每个团队里的数量比过去少。
还在读书、想往这个方向走?
这些专业能通到这里。它们的页面会拆解:哪些能力真的用得上、毕业生普遍缺什么。
方法与来源#
- 评估日期
- 2026-09-09
- 任务判断的依据构成
- 3 条有证据支撑 · 2 条平台推断 · 0 条证据不足
- 已核实事件
- 2