# 会怎么做很廉价，知道做什么才是一切。

一张用大白话画出的工程进阶图，建立在一个想法上：junior 既不知道该做什么、也不知道怎么做；middle 知道怎么做、却不知道做什么；senior 知道做什么——那个真正解决业务问题的东西。为什么会有这样一道阶梯，每一级又如何彼此相连，以及为什么 AI 正悄悄地从最底下先把它锯掉。

- **Author:** Fedor Chishchin
- **Published:** 2026-06-02
- **Tags:** careers, ai-native, business
- **Source:** https://fedorthinks.com/zh/blog/knowing-what-knowing-how

---

人人都用工龄和职级来画那张工程进阶图。在这儿干满三年，在那儿挂上一块「senior」的牌子，工资带上写个数字。这大半是演给人看的戏。真正的阶梯跟你在那把椅子上坐了多久毫无关系。它归结为这两个问题里，你能独立回答哪一个：

**该怎么做?** ——还有—— **该做什么?**

整件事就这么简单。junior、middle、senior——整套层级不过是在讲一个故事：谁能回答哪个问题。让我照它真实运作的样子把它画出来，包括那些没人会写进组织架构图里的部分。

## Junior：两个都不知道

junior 开发者不知道该做什么，也不知道怎么做。这不是贬低——这就是定义。你交给他一个任务，你得把任务 _和_ 配方一起交给他。「让保存按钮能用。」好——哪个按钮，保存什么，存到哪儿，失败了会怎样，而这里说的「能用」到底是什么意思？这每一个都是他暂时还无法独立回答的问题，而这完全没关系。每个人都从这里起步。

判断 junior 的真正标志不是代码乱。是他跟「能用」这个词的关系。在 junior 眼里，能跑的软件和好的软件是同一回事。按钮点得动，演示跑得通，发版。代码可以 _能用_ 却依然是错的——形状错了、位置错了、给下一个动它的人埋了根绊线——这个念头还没在他心里落地。他为「它能跑」做优化，因为到目前为止那是他唯一读得懂的信号。

他的超能力是量。给 junior 一个清晰、边界明确的任务，他会一路磨穿它。他们是那双手。而这一点——先记下来留着后面用——恰恰也是机器乐意去干的那部分。

## Middle：知道怎么做，不知道做什么

middle 开发者知道 _怎么做_。这是一项实打实、来之不易的技能，也是一次大跨越。把「构建一个 rate limiter」或「加上带 backoff 的 retries」交给他，他会干得干净利落——有测试、合理、按它该有的样子来。他已经把「怎么做」内化了。你可以把配方交给他，然后转身走开。

middle 仍然无法稳定做到的，是回答 **做什么**。给他一个含糊的业务问题——「用户老是在注册完没多久就流失」——然后看着：他会构建 _某个东西_。某个挺可爱的东西。架构优美、测试齐全、读起来是种享受。而且很可能完全是错的东西，因为没人告诉他是哪个东西，而「哪个东西」才是真正的问题。

这是整个行业里代价最昂贵的误解，所以让我直说了吧：middle 开发者是对一个得由别人来提出的问题的绝佳答案。把他对准一个清晰的目标，他重如黄金。把他对准一处模糊的业务痛点，他会朝着错误的方向完美无瑕地执行——而你要等三个 sprint 才会发现。

（如果你曾经交付过一个无可挑剔、却让指标纹丝不动的功能，恭喜你：你遇见了一个 middle。你可能 _就是_ 那个 middle。我当过那个 middle。）

## Senior：知道做什么

senior 知道 _做什么_。不是什么玄乎的意思——是一种枯燥的、承重的意思。他的价值不在于打字更快或者懂更多框架。而在于他能拿起一个含糊的业务问题，找到那个真正能修好它的东西——而且同样常见的是，找出那九个你压根就不该构建的东西。

看一个真正的 senior 接住「用户老是在注册完没多久就流失」。他不会打开编辑器。他会问为什么。他会查出来 onboarding 邮件两周前悄悄停止发送了，或者注册表单在还没人信任这个产品的时候就要人填税号。修复的办法也许是一行代码，也许是跟 marketing 聊一次，也许是 _删掉_ 一个功能而不是加上一个。senior 最出彩的工作往往是在删代码。他价值最高的那个 pull request，有时正是那个写着「我们不需要这个」的。

「怎么做」并没有消失——senior 通常对它了如指掌。他只是不再因此拿钱了。他因为 **做什么** 而拿钱，因为选对要构建的东西，是后面一切都要乘上去的那个决策。把错的东西做到完美，你产出的是昂贵的虚无。把对的东西粗糙地做出来，你推动了业务。senior 就活在这种不对称上。

## 这道阶梯是一场接力

让它成为一道层级、而不是三份毫不相干的工作的，是这一点：每一级的存在，都是为了替下面那一级消除某一类不确定性。

业务方带着一团雾出现——「增长卡住了」「这个太慢了」「客户气炸了」。senior 把雾变成一个 **做什么**：一个值得构建的具体东西。middle 把「做什么」变成一个 **怎么做**：一套架构、一份计划、一份干净的实现。junior 把「怎么做」变成那成千上万次让它成真的细小敲键。

这是一场把业务的含糊转化成已交付软件的接力，而在每一次交接上，问题都变得不那么模糊、更加具体。senior 吸收最多的不确定性，往下传一个清晰的目标；junior 吸收最少，需要最清晰的那一个。整台机器就是这样。（在 senior 之上还会继续往上——staff engineer、架构师、产品——这些人在一整个系统、一整家公司的尺度上拥有「做什么」。同一根轴，多几个零。）

## 机器登场

接下来就有意思了，也有点让人不自在。

一个 AI 编程 agent 是这个行业产出过的、对 **怎么做** 最好的答案。从功能上讲，它是你这辈子会共事的、能力最强的那种从 junior 到 middle 的开发者：它懂每一个 API，永不疲倦，会写测试，凌晨三点干着粗活、连一条 Slack 消息都不发。把它对准一个清晰的任务，它就执行。那个「怎么做」——人类从 junior 爬到 middle 要花上数年才学得会的东西——机器如今随取随有。

那么它先锯掉哪一级？最底下那级。曾经是 junior 全部工作的那些粗活，恰恰正是 agent 干得最好的，而数据已经摆出来了：最年轻那批开发者的就业率急剧下滑，entry-level 的技术招聘已经断崖式下跌，实习岗位也在枯竭。[这些数字一点都不含蓄。](https://stackoverflow.blog/2025/12/26/ai-vs-gen-z/) 那片练兵场正在被铺成水泥地。

而这里有真正令人担忧的部分——那群喊着「AI 取代 junior，太好了，更便宜!」的人没想透的部分：**底下那几级，正是你培养出 senior 的途径。** senior 的判断力不是从一场研讨会里得来的。它是靠花上数年回答「怎么做」、交付各种东西、眼看着其中一些后来证明是错的、再慢慢学会在动手 _之前_ 先问「做什么」得来的。把阶梯的底部锯掉，你失去的不只是 junior——你还悄悄停止了制造十年后你会需要的那些 senior。预测者们已经在预言这场紧缺了。

## 那人到底在哪儿

就在他们一向所在的地方——只是更靠上了。因为 agent 仍然无法靠它自己稳定做到的那一件事，就是回答 **做什么**。

让一个 agent 去构建错的东西，它会把它构建出来，漂漂亮亮，测试覆盖率拉满，还谢谢你给它这个机会。它没有品味，没有切身的利害，没有对你业务的模型，也没有胆识。它是历史上天赋最高的 middle 开发者，对什么值得做却毫无概念。它需要一个「做什么」——而「做什么」是 senior 的全部工作。

这让那条建议简单得近乎无礼：别再跟机器在 **怎么做** 上赛跑了。你会输，而且那本来就是廉价的那一半。尽你最快的速度爬向 **做什么**——并且用机器助你到达。眼下活着的最幸运的 junior，是那个让 agent 去处理粗活、_并且_ 把省下来的时间从第一天起就用来问那个 senior 才会问的问题的人：我们到底在解决什么问题，而这是不是那个能解决它的东西？

机器是你这辈子会雇到的最好的 junior——无限快、不知疲倦、对写过的每一个「怎么做」都信手拈来。它就是不知道该构建什么。

那部分仍然是你的。它一直都是最值钱的那部分。
