古典维护者的挽歌

作者:JA Westenberg
原文:https://www.joanwestenberg.com/the-rime-of-the-ancient-maintainer/
每个时代都会塑造自己的英雄,而这些英雄,往往是这个时代集体焦虑的化身。
古希腊既畏惧死亡,也恐惧不死,于是有了阿喀琉斯;维多利亚时代既向往又惶恐阶层流动,于是捧出了“白手起家”的实业家;轮到硅谷,在指数曲线和无止境融资的眩晕与恐慌中,又造出了一种新偶像:英雄开发者——那个半夜还在上线新功能、坚信“move fast and break things(快速行动,打破常规)”、能把白板上的几笔草图硬是熬成独角兽公司的那种人,一切都靠咖啡和意志力堆出来。
我们几乎无时无刻不在歌颂这种人。他们出现在科技媒体头版,在大会上做主旨演讲,他们在 GitHub 上的一点点提交记录都会被截图、转发,像信徒传看圣物一样。
与此同时,还有另外一些程序员,默默在更新依赖、打安全补丁、重构三年前某位英雄开发者留下来的代码——那位英雄此刻大概早就奔赴下一家“从 0 到 1”的公司去了。
这些人永远不会出现在《连线》杂志的封面。
可他们做的事情,比“创新”重要得多。
他们在托住一切不至于崩塌。
一切系统的真相
热力学第二定律说得很清楚:在一个封闭系统里,熵只会越来越大。你的代码库不例外。你的身体、你的婚姻、你所处的民主制度,甚至你家厨房,也全都不例外。一切都会往坏的方向滑去,一切都会逐渐老化损毁。宇宙朝向混乱的趋势,就像大陆板块的缓慢漂移那样坚定而不可逆,而所有还能维持运转的体系,之所以还撑在那儿,全靠那些琐碎、重复、吃力不讨好的维护工作。
这本该是再普通不过的常识。
然而事实并非如此。
我们搭起了一整座经济与文化机器,仿佛就是为了集体假装这条定律不存在。我们有“增长黑客”,却没有“稳定黑客”;有“颠覆者”,却没有“守成者”。现代商业几乎所有的话语,都朝着“新”“前所未有”“革命性”这些词汇倾斜。我们严重缺少的是:去描述另一种同样艰难的工作——把已经存在的东西,一点点从瓦解的边缘拉回来。
债会生息,被忽视得越久,越容易滚成一场破产。创业公司可以有一阵子“快上快迭代,边做边砸”,但迟早要有人来买单。通常买单的,是那些维护者:等英雄开发者拍拍屁股去了“更有前景”的地方之后才进场的工程师;那些被留下来解开意大利面条式代码的人;那些看到有人当年竟然觉得“把用户密码明文存储也没关系”而一脸绝望的人。
Lindy 效应:什么撑得久,什么才靠谱
纳西姆·塔勒布提出过一个概念,叫 Lindy 效应:对那些不会自然腐烂的事物来说,每多活过一段时间,它未来再活过同样一段时间的概率就越大。一部已经印行一百年的书,大概率还能再印一百年;一项撑了几十年的技术,本身就比那些刚出炉、还没经住时间反复碾压的新玩意儿,更可靠。
那套已经跑了四十年的 COBOL 银行系统,挺过了无数次技术浪潮,更迭了无数代框架,经受住了互联网的冲击,也熬过了 DOGE 币的闹剧。它就是能跑。那套性感的新微服务架构呢?也许能跑,也许会凭空带来十七种前所未见的故障模式——没人预见它们,因为在这之前根本没人踩过这种坑。
可是在大多数公司里,负责维护这些遗留系统的人,往往被当成“系统清洁工”,而不是“秩序守护者”。
在职场叙事里,去接手老系统,好像是一种惩罚,是职业生涯的死胡同。但事实上,这很可能才是整个组织里最有分量的工作。当炫目的新系统崩掉的时候,全公司都会注意到;而旧系统稳稳当当没出事、继续运转的时候,却没有人会记得是它在扛着一切。对维护者来说,“隐身”,竟成了干得漂亮的唯一奖赏。
人生里的“技术债”
那些让技术债不断堆高的机制,其实也同样作用在我们每个人身上,只不过换了个名字,可以叫“人生债”。
你可以在健康上猛冲、透支;你可以忽略亲密关系,把该看的医生一拖再拖,健身说去就不去,吃什么凑合一下就行,整个人靠压力和野心硬撑着。短期来看,好像也没出什么大事。系统还在跑。甚至你可能开始觉得:也许你已经“破解了”人类的生物学定律,这套规则不适用于你。
但这些规则,其实从来都适用于你。
身体的损伤会一点点积累。关系如果不去维系就会慢慢枯萎,精神状态在长期忽视之下会一点点塌陷。就像技术债一样,“人生债”也会滚利息。四十岁时少练的那一次,可能在五十岁时变成一场心梗;二十五岁时你死活不愿面对的那场艰难对话,可能在三十岁时变成一场你完全没料到的离婚。熵最终总会赢;你唯一能左右的变量,是你能挡住它多久,以及你用什么方式来对抗。
英雄开发者的神话,其实也套在我们的生活叙述上。我们歌颂那个一周干一百小时的创业者,吹捧那个为了所谓“使命”牺牲一切的奋斗者,膜拜那个似乎已经“逃离了普通人类极限”的赢家。至于那位每天规律锻炼、认真经营友情、睡够八小时、过着“乍一听毫无亮点”生活的人?几乎没有媒体会给他或她写人物专访。
然而,把日子过得可持续,本身就是件了不起的事。
而且,实际上非常难。
问问任何一个认真试着这么活过一阵子的人就知道。
也许我们需要一门“维护者文化”
不妨想象一下另一种价值观:在这种文化里,那位在同一套系统里坚守了二十年、陪着它熬过三次大规模平台迁移的老工程师,比那个一来就嚷着“全部重写成 Rust”的新同事,更值得被大书特书。绩效考核里,“避免了一场潜在事故”这条指标,和“上线了多少新功能”一样重要。创始人在对外吹牛时,提起自己那套“无聊但可靠”的基础设施,语气就像他们今天谈起自己漂亮的增长曲线那样骄傲。
加缪写过一句很有名的话:我们必须想象西西弗斯是幸福的——他一次次把巨石推上山,又一次次看着它滚落山脚,永无休止;他的惩罚,是因为他曾经试图欺骗死亡。这是一个关于徒劳的形象。
但维护者不是西西弗斯。
维护者同样在推石头上山,却非常清楚:山脚下有一个村子,它的存亡,取决于这块巨石能被拦在多远的地方。维护者会去砌挡土墙,会去打一圈圈地桩。维护者不是被动受罚,而是主动承担。巨石不会被消灭,但它被牢牢纳入了秩序之中。
在“维护”这件事情上,本身就有一种被我们这个迷恋“创新”“颠覆”的文化长期忽略的尊严。那个凌晨三点还在排查十年老系统故障的高级工程师,不是“混不到更酷公司”的失败者,而是让那些“更酷”的公司支付系统得以顺利完成交易的人。那个在你低谷时记得主动来问候你的人,并不比那个把每次聚会都搞得热闹非凡的朋友“没意思”;某种程度上,正是因为有前者,后者的欢聚才有了人可相伴。
宇宙在不断走向失序。熵终究会赢。
但维护者,会一寸一寸地把那条线往后推——再多撑一天,再多撑一年,再多撑一代人。
而这件事,极其重要。