全部笔记
会怎么做很廉价,知道做什么才是一切。

2026年6月2日

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

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

人人都用工龄和职级来画那张工程进阶图。在这儿干满三年,在那儿挂上一块「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 的技术招聘已经断崖式下跌,实习岗位也在枯竭。这些数字一点都不含蓄。 那片练兵场正在被铺成水泥地。

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

那人到底在哪儿

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

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

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

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

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

评论

暂无评论

登录以参与讨论。

做第一个分享想法的人。