中高级软件工程师 · 任务逐条
分析单位是任务,不是职位名称。下面每一条都带着它的方向、这条判断是有证据还是平台推断、判断的理由,以及它没有确立什么。
这一页上的每一项任务#
去改一个不是你写的系统
仍由人主导✓ 有证据支撑在一个庞大、活了很久的代码库里做一次改动 —— 那里的约束没有写下来,而是长在此前那些决定已经承诺过的东西里。
这一页上分量最重的证据讲的正是这项任务,而它指向的方向出人意料:在一次针对真实问题、且仓库由参与者自己维护的随机试验里,资深开发者使用 2025 年前后的 AI 工具后耗时多了 19%,而他们自认为快了 20%。一次改动需要的上下文,长在一个人对这个具体系统的心智模型里,而把它喂给工具的成本比省下来的多。
一次试验、16 名开发者、他们自己熟悉的成熟仓库 —— 作者明确说过它不描述大多数开发者、也不描述新项目。它没有说同样的工具一年之后表现如何,而一次测到的「变慢」不是工具的永久属性。
审查机器写出来的东西
新出现的任务✓ 有证据支撑读一段不是你写的、你也不在场的代码,判断它对不对 —— 而随着生成变便宜,这件事的量在涨。
生成把瓶颈挪了位置,而不是取消它:更多代码进来,而读它的工作落到对这条分支负责的那个人身上。Alphabet 说过,Google 超过四分之一的新代码由 AI 生成、再由工程师审核并接受 —— 那是一句关于「工作挪到了哪里」的描述,不是关于工作消失的描述。
「有多大比例的代码是生成的」不说明审查花了多久、做得好不好,也不说明工程师总数变了没有。审查量上升本身也不等于好工作 —— 它恰恰是在赶时间时最容易做砸的那一部分。
按「它会怎么坏」来设计
仍由人主导≈ 平台推断选一种结构,并选择接受哪些失效模式 —— 知道凌晨三点某个依赖挂掉、而一半请求已经在路上时,会发生什么。
模型可以提出一种架构,并且论证得很流畅。它做不到的是承担这个取舍的后果 —— 而这里的取舍不是技术偏好,是「这家组织扛得住哪一种故障」的赌注,取决于关于这家组织的事实,而不是关于代码的事实。
这是一条关于工作内容的判断,不是一次测量;而证据的缺席是最普通的那一种,不是一个发现:架构评审不会被发出来,所以「设计决策是被交给了机器,还是被挡住了」这件事,在发生它的那家公司之外根本观察不到。
决定什么能发出去
仍由人主导≈ 平台推断成为那个说「这个现在可以发,带着这个已知风险」并在事后为它答复的人。
在这条边界靠测试那一侧的证据是:自动化检查抓得不够。一项针对两百位资深工程师的调查报告称,43% 由 AI 生成的改动在通过 QA 与预发布之后,仍需在生产环境手工调试。无论这个百分比站不站得住 —— 报告的发布方正是一家卖调试工具的公司 —— 这个说法的形状,与那些被独立报道的故障是吻合的。
一份由利益相关方发布的自述式调查,作为「一个数字」是弱证据,作为「一个方向」要强一些。它不能确立「发布决策整体上变难了」,而且它讲的是大型企业软件,不是所有软件。
让另一个人也能做这件事
仍由人主导≈ 平台推断会教人的评审、结对,以及刻意地把上下文交出去 —— 一个团队之所以还能持续有「判断得了」的人,靠的是这套机制。
这项任务正在变成承重墙,而原因在任务之外。2022 年底到 2026 年中,22–25 岁、处于 AI 暴露度最高档的就业下降约 11%,而暴露度低的群体没有;几家砍掉初级岗的组织公开承认,他们把「人如何成长为资深」的那条路一起砍掉了。如果底下进来的人变少,判断力的传递就不再是一个好习惯,而是供应线。
薪资微观数据显示的是就业下降;它没有显示带人这件事变多了,也没有显示有人选择在这件事上投入。「初级进人变少」和「更多教的工作落到资深头上」之间的联系,是对两个事实的解读,不是量出来的。
为那些会写代码、会改代码的智能体负责
新出现的任务✓ 有证据支撑设定一个自动写代码的智能体在没人看着时能做什么、什么必须先问、它的产出从哪里进入分支 —— 然后成为这个设定后面挂着的那个名字。
这件工作在 2022 年不存在,而且默认没有人被指派去做。凡是允许生成式工具碰到仓库的地方它就会出现,而随之而来的事故通常被归因的不是模型,是「谁被允许合并什么」—— 2026 年 3 月亚马逊的两次故障,被溯因为一次未经批准的 AI 辅助代码改动,随后对 335 个系统做了 90 天的代码安全整顿。
一家公司的故障与整顿不是对整个行业的描述,而一次整顿证明的是「出过事」,不是「这有多普遍」。这里没有任何东西说明这份责任已经是一个有人拿钱去做的岗位。