别再做技术决策,这条已经错了|The Pragmatic Engineer × Will Larson

中文深度整理,非逐字翻译
原始标题
The revised rules of engineering management with Will Larson
节目 / 来源
The Pragmatic Engineer
嘉宾
Will Larson
原始发布日期
2026-10-22
时长
约 116 分钟
内容类型
访谈 / 工程管理规则重写与中层价值
原始内容
前往原始来源 ↗

Will Larson 过去大约十年在四家公司做工程高管。这是主持人的介绍。他自己说,2010 年代你一进工程管理,第一课常常是:你再也不要做技术决定。他记得别人就是这么跟他说的。最重要的事是放下技术决定。那是当时的伦理。今天已经不是。

在 Imprint,他大约一年半前以 CTO 加入,产品设计现在也报到他这里。一年半里,他做了超过 500 个一直进到生产的 pull request,比此前职业生涯加起来还多不少。pull request 是把代码改动送去审查、再合并的请求。

他写 Staff Engineer,一个原因是 2021 年前后在收 staff 工程师的反馈。让他挫败的想法是:staff 主要该去做自己觉得有趣、有个人回报的问题。这不是他需要的。他需要他们去做业务问题和扩展问题。离开 Stripe 时,他的团队大约 250 到 260 人。他最好的一些工程师说,我想要更有意思的问题。他只有痛苦可以给。这痛苦会让生意成功。很多人当时觉得,这违反了管理合同:经理的义务是给他们想要的有趣工作。

原始来源:The revised rules of engineering management with Will Larson。中文深度整理,非逐字翻译。本文依据 YouTube 自动生成的英文字幕,专有名词和数字可能有识别误差。片中三段赞助口播不纳入正文。早期在 Yahoo、Dig、Uber 的长段往事,只保留和后文激励、管理直接有关的部分。

经理被训练成促成者,技术决定被让出去

他要的 CTO,是工程那条技术生涯和管理那条生涯重新汇合的地方。他一直在做的是:工程经理和独立贡献的工程师都直接向他汇报。今天 14 个直接汇报里,四或五个是独立贡献者,其余是经理。很长一段时间,管理里的许多角色不允许你做技术领导。Stripe 的决定质量总体高。David Singleton 先以工程负责人加入,大约一两年后成为 CTO。他从 Singleton 加入一直汇报到 2020 年初离开。在那里你可以不同意,但很少能说这完全没道理。Stripe 之外,他见过很多完全没道理的 CTO 决定。这不指向他点名称赞过的人。他说 Singleton 非常好。最近这个时代,你不只被允许回到细节里,你被要求回到细节里。

工程、产品和设计收到一个人,他不知道是不是趋势。他看到的难题是,智能体更主流之后,决定得做得快:做什么,不做什么,产品怎么采用,设计怎么采用。设计若不用新工具,他点了字幕听成 cloud design 的东西,和 Figma 的 MCP,设计就会变成瓶颈。cloud design 本文不改成另一个产品名。Imprint 在试验由开发者主导的设计,用在第二层功能上。瓶颈解开了,也造出摩擦:工程师领设计时不按设计系统走,缺口算谁的。在变化这么大的时刻,有一个点能做这些取舍,他认为有力。他 2008 年末入行,没见过创造软件的方式变成这样。他怎么写软件,和一年前已经不一样。他不认为这是长期趋势,也在避免对太远的未来做预测。

管理变成促成、不再是做事的人和做决定的人,他看着它在 Uber 到 Stripe 那段固化。Yahoo 全职头两年,同一位经理,两年两次一对一。一次是打听另一个员工是不是做得差。一次是他自己提了离职。没有「帮你有一份有回报的职业」。那位经理的工作是到公司里找一件真有价值的事,带回来,他们去实现。他觉得这件事对方做得好。Dig 的经理基本都被辞了。他当上经理,是因为问到的时候只有他没说不,当时顶多两三年经验。Uber 忙到没有管理,做对决定,否则增长会把团队压垮。2017 年公司才办第一期经理学徒项目,因为坏经理已经成了大问题。

Stripe 以没有管理文化出名。他 2016 年加入时大概三四个经理。字幕听成 Railene 的人有 40 到 50 个直接汇报。字幕听成 Jorge 的人管大约 30 人,下面也许没有经理。Stripe 读过 Google 曾经基本没有经理的那篇东西,先照着做了很久。他是经理化那一波里较早的一个。

零利率解释了 2010 年代管理方式怎么变、薪水怎么上去。字幕把那篇帖的作者听成 Ron John Royy,后又听成 Ron John Androy,刊物听成 the margins。他在 Dig 的同事、后来招进 Uber 的人,字幕听成 John Durk,是另一位作者。本文不改成已核实的署名。招聘、成交、留下人,成了公司之间的差别。杠杆回到工程师手里。公司用更放松、更围绕你、更多职业发展来推销自己。他认为这常常自己打败自己。撇开福利,还有公司把力气放在有趣的工作上。比如工程师也许不该值班,值班留给第二梯队。和他共事过的每一个人都知道:做这件工作的人为自己的工作值班,软件会更好。公司仍然让没参与创造的人去接呼叫。这个取向说明优先序已经移了。

主持人补的激励是:经理被奖赏的是离职少、招得满。编制招不满高级别人,就算你一笔,或者编制被别人拿走,别人靠人数升上去。于是做得好的经理变成有点取悦人,也开始把工程师和业务隔开。员工调查他用。高分或低分不等于好经理或坏经理,得问为什么团队为这件事全体不快。这些工具变成了自己的目标。他认为这像懒的中层在部署它们。

他讨厌编制对话。经理不被允许做技术决定时,能用来跑得更快的杠杆只剩编制,或优先级。招聘是解决每一个问题里最没意思的方式。几乎永远不该谈招聘。若还有空编制、你还来要更多,那也不该谈:要紧的是招聘吞吐,你反正用不了更多人。不能想技术解法之后,手里剩的是流程、排期和人。角色这样劈开的后果,就是组织浮肿。他说这不等于完全不该把角色分开。有效的领导得两边都有。

阶梯模板过时,维护和胶水仍被看低

职业阶梯,团队仍然期望要有。他相信有研究撑着:有量表,决定比没有更公平。没有它,你会低估某些事。维护、胶水,字幕里他又说了一遍 gel work,会被看轻。能工作的闪亮东西会被高估。阶梯仍然有用。该写什么进去,更不清楚。一家一家小公司看见完全同一份阶梯,像一个可以买到的包。那些都过时了。下一版还没有。

他看人到 staff 或 principal,在乎的是在复杂情形里做决定。在 Stripe,一个多区域项目的工程师一再要产品来决定:跨区域复制怎么工作,或者只有一致性和可用性、没有分区性时,产品行为支持什么。他们要产品团队做这组取舍。他称为 cap theorem。产品团队不可能做。他们是在找一种卡住的办法。这个层级该做的,是做取舍,建立信念,做一个原型,检验假设值不值、行不行。含糊今天仍是强标记。智能体还在,这些取舍还在。有些取舍来自产品含义:用户实际上想做什么,服务的成本,你收多少。他不认为智能体特别擅长。它们常常认不出取舍,因为那些取舍不在上下文窗口里,活在软件外面。

初级两档,字幕听成 NGE1、NGE2,也听成 edge one。本文不改成某一家的正式职级名。他避开他称为人造的精确。两档差别很难讲死。很差的一档认得出。很好的两档常常是时间和角色,是更多上下文。有了写代码的 harness 之后,什么都能做,越来越难的是判断该不该做。情况不对时,你甚至感觉不到判断。harness 是套住模型让它干活的那层。量表写得极细,是一种假的胜利。他待过的公司,到 staff 有带教要求。于是有人出去聊一次,把对方报成学员。你去问,对方不知道为什么跟自己说话。你量什么,就得到什么。晋升一直有判断。把判断拿掉,他也不认为有好结果。

在 Carta,成本压力大。他设过 staff 相对于人数不能超过的比例。字幕里听到「一比八之类」。本文不写成已经钉死的数字。大约十五年前,多数公司里高级就是尽头。职业生涯更长,这些层级被打开,很多更像时间和轮转出来的头衔。管成本就得承认自己在管成本。硬上限因此有用,也逼他们把招聘往更不资深移,漏斗前面才有人填上来。只改比例、不改前面,不会工作。Imprint 要管的是速度和质量,没想这个比例。领导的一部分是知道自己在做什么,解释怎么做,让人接受后果。

实现可以趋近于零,领域和设计还在

有人会说,未来任何规模的公司,软件团队都是五个人。也许会到。现在绝对没到。他不知道会不会很快到。确实有公司,很少的工程师以有产出的方式烧掉多到惊人的 token。token 是计量用量的单位。角色会去哪,我们会发现。对一直朝结果看的人,这是他最有乐趣的一段时间。也有人的乐趣来自心流,爱的是亲手做的手艺。最近一个人因此在退休:更有产出,就是不享受了。

他的想法是,真正实现的时间在趋近于零。就算能立刻实现,你仍然得做决定。它仍然会扩展得很差,打破用户预期,有错误的单位经济,成不了能赚钱的生意。写软件就算免费,仍然非常难。今天工程师会跑到产品需求文档前面,也跑到设计的高保真稿前面。Imprint 仍在想办法。他承认还没想通。实验能跑的数量有限,再多会把客户弄糊涂,于是得有人说不。

Carta 是他称为低规模的生意。没有每秒数十万请求,没有巨大的基础设施问题。股权表非常具体,例外极多,可审计的准确性很重要,律师事务所对每件事怎么做有很强的观点。两位创始人可能为归属了多少股权打官司。后来的基金管理同样面向细节。领域上下文本来就是难点的生意,他并不清楚到目前从这些工具里受益有多少。股权表管理仍然极难。这些小块让复杂领域今天仍有防御性。他认为会变。每两到三年就有一波「产品工程师是新的国王」。现在是人工智能工程师。他说那其实就是在用这些技法的产品工程师。他没太懂这个头衔,猜是会用 harness、又想拿很多报酬的人。

有一种世界观:设计系统很好而且真的在用,就不再需要产品设计师。他没有发现这是真的。组件怎么配,缺哪些,跨屏幕的取舍怎么管,同时给用户统一的体验,仍然很难。好的设计师把注意力耗在细节上。这不是必然。理论上检查足够强,设计就可以只看例外。Imprint 想去的是:基线由工程用现成设计系统做完,产品设计做复杂版本,并把系统延长。还没那样工作。他假定这是技能问题,他们还在学。主持人说 Linear 的数据显示设计师和产品经理的 pull request 在上升,又问了大约二十家公司,包括 Linear、Ramp、OpenAI。除了奇特的边缘,设计师仍会找工程师确认做法在代码库里成立。那一轮询问是主持人的,不是 Larson 的普查。

持久的小团队,比把人调去救火更有效

主持人引他写过的 revised rules of engineering management。其中一条是持久的、高所有权的团队。领域上下文因此更重要。他在 Uber 的教训是:持久的团队积累上下文,建立同伴感,对一块地方的所有权越来越强。他说这是建立可扩展组织的唯一方式。听着显然,其实不太是共识。

50 个工程师,一个对合作方很重要的项目晚了,仍然有人要再调 15 个人上去。出版年他们没说准。他想说大概 80、84,主持人说 75 和再版 95。本文不改成某一个出版年。我们知道这不工作。很多时候是光学:制造出已经做了一切的观感,错过时就不是你的错。它还毁掉真能工作的东西,也就是能拥有一块地方的小团队。

他加入 Stripe 时接过 Jorge 的团队。Jorge 转到另一块,他记得是去带 Connect。30 个人,一个经理管其中四五个,他自己直接管大约 23 到 24 个。第一件事是找出小团队和可以让人拥有的区域。看见进展之后,他就不再想他们,直到真的出了大错。这样注意力才能放在这个办法解决不了的问题上。Uber 这么做过,进 Imprint 也这么做过。主持人说的第一份 CTO 是 Calm,大约三年半;Carta 约两年。早期字幕把这两处听成 COM、Cardo、Carter。下文按说清之后的名字。这两家在他加入时已经扩展得不错,不必再拆小团队。

做得好的时候,人比自上而下的指令做得更好,因为他们真的懂。光学上它几乎总看着错。合作方要发布,你不把人调走。关键路径上的团队一起拼命,不把所有人拉过来。零利率时期把关键团队从招聘和全员会里摘出来,比加人好用。也可以说:这两周谁能承诺就来,包括额外时间,事后补休。把人当成年人。成长中的公司危机经常有。把人轮去危机,就是每个人每天都有危机。Stripe 一两年时有人的比喻是:人在城墙上跑向快被淹没的地方,跑得越来越快,仍然不能无处不在。要换成很多地方有很多人,一个点上的人解决那个点。同一批人同时跑向所有地方,会燃尽。人工智能下那个点是不是更远,他不确定。他仍然认为注意力会在写代码的能力用完之前先用完。

好产品怎么出来,他的印象是:一两个被高度授权的人,连着创始人、CEO 或高管,能做不受欢迎的取舍。Imprint 大约三四个月前从 Jira 迁到 Linear,四周内做完。决定时大约 230 人里也许 3 个人觉得是好主意。它让智能体知道任务在哪,拉下来做掉。大约三个月后没人再谈 Jira。若人们恨它,该让他被辞掉。很多时候这一面没有被问责。他顺手说,有论文写过大英帝国的官僚:领土在缩小,官僚人数还在长。公司会自己制造开销,直到失去还能动的能力。论文他没有给题目。

中层要回到写软件的那一层

到高管的旧路是做若干年工程师,进管理,爬过中层,再到 CTO。最初被选进管理的人,常常不是最聚焦技术的,因为他们要升进管理。选择偏向上的是能把事情运转好的人。你又必须是好的官僚才能当高管。他的很多工作是激励管理:知道这种绩效评估会怎么失败,于是不该做,该做另一个。没有那些重复,你管不了一个职能,因为管职能很大程度上就是当官僚。

Uber 当时没有量表,面试没有结构,他得为自己的职能造出来。面试极多,给不出 offer 他就痛,所以得把这件事弄明白。Stripe 结构粘合得多,他改过一些在快速增长里不工作的小块。中层工作教他怎么当官僚。字幕里他指的那本书听成 seeing as a state。他的解释是:国家如何看见公民和政绩,以及这如何塑造政策。从没当过官僚,就不知道怎么以那种方式看见事情。只会当官僚,就不知道软件实际上怎么被做出来。

工程高管因此要两边。技术上出色,需要时上手;又能管职能。走中层,常常是你上去时已经不再是技术专家。从强的技术专家直接被放到 CTO,你不会是好官僚。一线经理往往比中层更像本能上的高管,因为他们习惯在细节里。非官僚维度上判断更好,官僚维度上判断很糟。2010 年代你得爬过那些层,才学到官僚这一截,那也是当时拿到规模的方式。现在那些层有点没了,工作的另一半被重新强调:决定、真实的产品、真实的业务、软件怎么发出去。他不认为因此更容易或更难。变成官僚更难了。到了最高层,你常常同时管三四个职能,其中有你并不很懂的。Imprint 过去一年大部分时间他在管客户运营,下面有一位极好的领导者,他得学。在 Stripe 他管过支持工程和数据工程,都不是他亲自做过的。他认为未来最好的高管是一线经理。中层历史上选择的是另一套技能。

现在当中层是难的时候。尤其 2010 年代上来的人,被训练的是赋能和职能官僚。现在人们说不想要、不需要。你升到这个顶,又因为细节和执行到不了下一步。量表在你身上被换了。两位工程负责人请主持人代问,自己是不是职业陷阱。一位下面大约七个人。另一位下面三个工程经理。两人都在中层花了不少时间。以前的下一步是工程副总裁,在现在的公司里不会发生,或不太可能。

他说这些角色竞争多得多。他个人有回报的,是回到写软件的细节。离开 Carta 时团队大约 250 人。加入 Imprint 时他记得是 25 人。这是可以重新学的时刻。在管理里,要么回到细节,要么三年里你所知的那套不会再被看重。得决定是现在退休,还是重新学。在 Carta 他可以结束。那不是他要的。工作方式在过去一年里根本地变了。不是到处都变了,有一条长尾巴。在他工作的地方,变了很多,也好玩得多。得愿意退一步或横着走。回到一线,比中层更有教育意义。一线和写软件的工具好。编制计划和绩效评估的工具基本上很糟,这些事上的大语言模型应用都不好。

Jasmine 是他在 Carta 共事过、以副总裁之名叫到 Imprint 的。她管的是直接的团队,是一线经理。她曾在字幕听成 Mux、后一处听成 MX 的地方管工程。她现在做数量极大的软件。在 Carta 挤不出时间。在前一家,她忙着运转职能,也进不了写的细节。愿意把手放回去的人,他整天都愿意多招。你若是这种人,得让别人知道,否则别人以为你永远不接。

他承认行业在一些人看来背叛了他们。他们工作得极苦,觉得被欠了东西。规则变了。2010 年代忘了这个行业每个十年都根本不同。得愿意横着走。对公司要紧的实际工作若就是谦逊,那我们弄丢了自己在这里做什么。拿钱是为了做有价值的事。

技术主管兼经理,他们称为 TLM。以前他和主持人都说过这是死路,他有文章把它说成陷阱。现在仍是陷阱,但是被大量需要的陷阱。很多时候没有替代。一种模型是工程经理还在,范围更大,管 12 到 14 个人,而不是以前的 4 到 8 个,手上的个人更少。另一种是总监去管这些技术主管兼经理。Imprint 招到的最好的一些人,从更纯粹的管理来,很想写软件,把两边掺在一起。你要的是有能力做官僚的部分、但没有那个欲望的人。需要时能用,默认是去写软件。大部分价值在那里。

他写了大约二十年。Irrational Exuberance 创于 2007 年。第一本书是在 Stripe 那些文字的汇总,An Elegant Puzzle。大约四本。至少十年内大概不会再写。Staff Engineer 造出了 staff plus 这个概念。用人工智能来写,对他是把二十年扔掉。没有东西要说,他就不说。过去一年他面试过带大量这类软内容的候选人。没人在读,人还在做,像跑菜谱却不尝那道菜。对他这是判断差。系统思考的入门,作者字幕听成 Don Meadows,形成了他看管理和公司的心智模型。关于 TLA+ 的那本,主持人接成字幕听成 Hello Wayne。他日常并不多用。想法是用语言把可验证性做高。若软件由智能体写成,把验证做便宜就是这个时代的关键问题之一。

主持人的收束和他的主线重合。2010 年代到 2020 年代初,很多工程师把「给我有趣的问题」看成好的管理。今天尤其在资深以上,默认是去帮业务解决最紧的问题。当 CTO 要一个知道该建什么、怎么建的技术专家,以及一个能运转职能的官僚,包括你并不专家的职能。2010 年代很多经理主要学了后一半,等到坐上那个位子,前一半丢了。他自己从大约 250 人退到大约 25 人,是有意识的,为了在这个职业被改变时学会怎么建。