本文 首发于 🌱 煎茶转载 请注明 来源

前言

文章来源:stvn.sh / Writing

原文作者:Jerome Choo

原文标题:Programming Still Sucks

原文链接:https://www.stvn.sh/writing/programming-still-sucks-fqffhyp

本文为全文翻译,译文由 AI 辅助整理,若有理解偏差欢迎指正。


2026 年 4 月 19 日 · 阅读约 8 分钟

编程依然很糟糕

编程 · 领导力 · AI

抱歉,Peter。

——

我在一个生日派对上。来的人大多数也都在科技行业工作,但这种场合里总会有那么一个“有正经工作的人”。你知道的,那种做实体工作的,真的在造某些人们需要的东西的人。而这个人总会问出某种变体的同一个问题:你不担心 AI 会抢走你的工作吗?我朝四周瞥了一眼,看见几张脸微微转过来,轻轻翻了个白眼,然后又回到他们原本的聊天里。对,又是这个问题。

他们有个外甥在帮人搭 Shopify 商店。他们听不懂那孩子嘴里一半的词,但他说自己麻烦大了,而且科技行业里所有人都一样。他的外甥是不是得去学一门“手艺”?我们是不是都得这样?

如果酒喝得够多,我就会认真回答,因为那时候我已经不在乎别人觉得我说的话有没有意思、是不是真的了。但通常我只会叹口气,说一句:“当然,会有一点。我们大多数人都会。不担心才奇怪吧,对吧?”他们点点头,然后就转去聊个更轻松的话题,比如我们会不会去核平伊朗。

但事实是,在科技行业工作一直都很糟糕,而且从来都不是他们以为的那个样子。

有些人以为,我的工作就是坐在一张干净的桌子前,待在一间角落办公室里,外面是开放式办公区,摆满长桌,上头放着一排排 MacBook 或 ThinkPad。在我的角落办公室里,我制定完美的计划,我那群完美的员工会为我鼓掌喝彩。没有任何东西能逃过我的目光,每一个决定都由我完美地做出,每一分钱、每一分钟都被精确记录。

当掌声散去,我的员工——或者叫下属,或者在我心情好的时候叫“我的团队”——就开始疯狂敲键盘。敲啊敲,敲啊敲。不久之后,完美的软件就诞生了。它从集体流水线上滚下来,像第一个孩子一样,绝不会出错。

但现实根本不是这么回事。是的,我确实也很不爽自己从来没混到一间角落办公室,但我更忙着陷入恐慌,因为我根本不知道自己在干什么,没人知道,而现在整辆车的轮子都已经飞出去了。CEO 说 AI 让他那位朋友 Jared 的团队生产力高得惊人,高到他能裁掉一半人;但他说这话时像是在炫耀,不是在威胁?我不知道,反正我是感到威胁了,不过这大概只是我的焦虑症又犯了。没事,我总能从那几个在厕所里哭的员工那里借一片 Xanax 吧。

想象一下,你接了一份船长的工作。第一天,你骑车来到港口,兴冲冲地准备见你的船员。你注意到船并不在那儿,但那个你之前聊过、情绪特别亢奋的招聘人员 Greg 朝你挥手,跟你保证这不是问题。接着你被绑到一台投石机上,竟然奇迹般地被发射到了船上。上一任船长在 Captainpalooza 2025 上听另一个船长给他解释了内燃机的概念,然后就想“朝着这个方向开始迭代”。于是他把船点着了。他后来被人从船上推了下去,但顺手把使用手册也一起带走了。这本来也不该是问题,偏偏整艘船都是专门为他定制打造的。船上倒是还有帆,可它们没连在桅杆上;而那台半固定在船尾的内燃机,零件还散落在甲板各处。

你走进甲板下方,想搞明白这艘船到底怎么运作,以及你们究竟要去哪儿。但当你沿着楼梯往下层走时,你却莫名其妙地走进了桅杆里?你问一个水手这是怎么回事。他卡顿了一下,然后说:“你说得完全对!我之前的方法有问题,不过这里有一个更好的楼梯实现方案。”接着桅杆啪地一下倒转过来,你又回到了甲板上,回到一开始站着的地方。帆现在也上下颠倒了,而你的“水手”还兴奋地等着你夸他干得多好。

你又去问另一个人:“等等,我们到底是要去哪儿?”太好了,是个人类!没有卡顿,没有热情却没帮助的回答,是真正的人。她已经一周没睡了。她几乎没看你,只是说:“去问领航员。”
“领航员?”你问。
她抬手一指。那个领航员,是一个按下背后按钮就会说“勇往直前,步步高升”的娃娃。

那娃娃着火了。

这就是现在的工作。你站在一艘着火的船上,手里拿着一张地图,试图搞明白我们他妈到底要去哪里,以及我们到底要怎么去。

你知道这艘船。有些人曾经就在一艘一模一样的船上当工程师。有些人曾经就是那个离开的船长。我不是写给生日派对上的那个“有正经工作的人”看的。我是写给你的。

你曾经也是工程师。你记得代码评审原本是用来做什么的。你记得自己也曾是那个新人,第一份 PR 被某个资深工程师撕得粉碎,但对方愿意花时间解释“为什么”。你不是在 2024 年某天早上醒来后,突然决定要废掉这一切的。

真正发生的是:跑道被砍掉了。董事会会议里压根没有出现“价值观”这个词。CFO 手里拿着一张电子表格。CEO 则刚从一次线下管理层 retreat 回来,有人在那里给他看了一个 agent 在十四分钟里写完一整个功能的演示,而他竟然信了——就像人们在想相信某件事的时候,总是特别容易相信那样——然后他告诉董事会,到第二季度之前,他可以把工程团队裁掉 30%。现在,你的工作就是想办法把这件事做成。

你告诉自己,新人不会有事的。他们会适应,会重新学习技能,会找到别的出路。你告诉自己,资深工程师可以吸收掉少掉的人手,agent 会把缺口补上。你告诉自己,下个季度再回头看看。你在那张名单上签了字。你回了家。你比平时多喝了一点。然后你上床睡觉。

你知道的。

你知道,因为你也曾经是那个工程师——那个不得不去收拾上一位被“简单答案”忽悠瘸了的领导留下烂摊子的工程师。你看着 Goodhart 定律一口一口吞掉速度指标、故事点、测试覆盖率;几乎所有非工程背景的人手里拿过、并当成“工作一切顺利”证据的数字,最后都被它吃掉。你知道,当你引入工具的速度快于培养判断力的速度时,DORA 指标早就在告诉你部署稳定性会发生什么。你知道,当那些本来会发现错误的人被挤出去,或者学会了不再发现错误时,代码库会变成什么样。

你知道。可你还是签字了。因为不这么做的代价,可能就是丢掉工作;而工作背后是房贷、学费、签证,以及那个“等局势稳定下来、以后再把事情修好”的你自己。

可“以后”从来不会来。我们都知道。我也签过一张名单。直到现在,我们还在互相指责到底是谁那张名单更糟。

已经没有新人了。2024 年,我们为他们的消失办过一场葬礼。没人来。机器现在在做他们做的事,而且更便宜。当然,新人的价值从来都不在于他们眼下能产出什么,而在于他们将来会成为什么:那个知道“尸体埋在哪儿”的资深工程师。我们为产出做了优化,于是废除了学徒制。再过几年,我们会一脸困惑地问:那些资深工程师都去哪儿了?是我们亲手把他们打死了。没人会记得。

可即便如此……

在你的某处基础设施里,一定有一个 cron job。它在凌晨 3 点运行。从 2016 年起,它就一直在跑。它做着某件关键的事情。你没法准确告诉我它到底做什么,但你知道有一个人肯定知道,而那个人在 2019 年就离职了。文件开头的注释写着:# DO NOT CHANGE!!! Ask Ben。Ben 联系不上了。过去四年里的每一次路线图规划会议上,“modernize legacy cron(现代化改造遗留 cron)”都会作为候选项目出现。它从来没排上优先级。你甚至亲手把它从列表里删掉过两次。

但总有人让它继续跑着。她叫 Sara。你并不知道这件事。

她五十多岁。她没去过 Captainpalooza。她以前在离总部三条街外的一间小办公室上班。去年,为了省钱,有人把那间办公室关掉了。离她最近、同时有桌子和网络连接的地方就是这艘船,所以她现在会自己带午餐,然后顺着舷梯走到甲板下的一间小舱室。船上没人知道她在那里。还记得 Ben 吗?Ben 从 1998 年开始带她,她后来从 Ben 那里接过了这个 cron job。

她知道 Ben 几年前已经去世了。她还参加了他的葬礼。你不知道这件事。

那个任务卡住的时候——而且它经常会卡住——她就轻轻推它一下,它就会再试一次。电话响了。她确认告警。她推一下。这个任务依赖一个早已失落于时间洪流中的模块。嗯,也不算完全失落,因为 Ben 去世后,她在他的办公桌里找到了一根 U 盘,里面正好有一份备份。没有 agent 碰过它。以后也不会有。

她不是这个行业里“最安全”的人。她代表着一种你无法触碰的东西。她就是你那场转型刚刚删除掉的所有组织记忆,装在一个五十五岁的身体里四处走动。她正是从你亲手废掉的那条学徒制管道里成长出来的:Ben、1998 年、那根 U 盘。她就是那条管道。当她死去时,那个能生产出像她这样的人才的系统,也早就已经不存在了。三年前,是你亲手杀掉它的。你根本不可能再招到一个能替代她的人,因为制造她的机器已经被你砸烂了。

她就像那个拿着勺子在魔多地下挖隧道的人。勺子是她的,隧道也是她的。没有别人想要这把勺子,也没有别人想要这条隧道。而等她死了,这个 cron job 也会死,工资发放会停摆,一家有三万名员工的公司将不得不想办法重新给所有人发薪水,而到那时,只会剩下一个答案:去找一个手里有勺子的人。你找不到的。是你自己确保了这一点。

那个 cron job 负责发工资。你并不知道这件事。

生日派对上的那个家伙还在等我回答。现在我已经喝得太多,没法再撒谎了。我告诉他:不是 AI 抢走了我们的工作。是贪婪。是同一种贪婪——那种把工厂迁去孟加拉、让刚果钴矿里继续存在奴工的贪婪——只不过现在换上了一张新面具。告诉你那个外甥,去做点别的吧。做什么都行。那也未必救得了他,但至少他不用假装,摧毁他生活的东西是一台机器人。

除了 Sara。她在甲板下,带着她的 U 盘。他们动不了她,因为他们甚至不知道她在那里。

而我们其余的人,都在甲板上,盯着那些上下颠倒的桅杆,琢磨那边那个娃娃到底是干什么的。

那娃娃着火了。

Refs