首页 › programming › 选无聊技术:创新代币只有两三枚

选无聊技术:创新代币只有两三枚

导语:你的项目不是死于难题,而是死于“很酷”

如果问一个工程师:项目为什么失败?十有八九会说需求变了、工期太紧、人手不够。但干了几年工程的人心里都清楚,有一类死法更冤:团队把最聪明的人力,花在了跟业务毫无关系的技术冒险上。

发个系统邮件而已,为什么要自研一套分布式消息队列?做个内部后台而已,为什么非要上当年最潮的 NoSQL?这些决定的决策瞬间都很爽——新技术!简历增值!架构先进!但三个月后,团队开始在半夜爬起来救火,业务功能一拖再拖,而当初那个“用现成方案五分钟能解决”的问题,还在以每天一张工单的速度放血。

今天要深读的这场演讲,就是专门治这个病的。《Choose Boring Technology》(选择无聊的技术),Dan McKinley 的这场 talk 在工程圈流传了近十年,堪称技术选型领域的“圣经短课”。他提出的 Innovation Tokens(创新代币) 概念,已经成了无数工程团队开架构评审会时的黑话。这个演讲没有一行代码,却可能是你今年能看到的最省钱的一节编程课——它省的不是几行代码,而是整个团队的数月人生。

视频背景卡片

项目 内容
视频标题 Choose Boring Technology
频道 CarGurus(官方录像)
时长 约45分钟
播放量 工程圈常青引用课,撰稿时未能联网核实精确数据,以视频页为准
核心主题 技术选型的机会成本:为什么该把创新预算花在刀刃上

演讲者 Dan McKinley 是 CarGurus 的早期工程负责人——这家后来上市的二手车平台,他是最早的工程师之一,一路做到工程高管。换句话说,他讲的不是纸上谈兵,而是一家公司从零到上市路上,每一笔“技术预算”是怎么花、怎么省的。演讲配套的文字版网站 boringtechnology.club 至今仍是工程师的常读书目。

核心内容拆解

一、创新代币:你一辈子只有两三枚

整场演讲的核心是一个极简的心智模型:每个人、每个团队,一生只拥有两到三枚“创新代币”(Innovation Tokens)。

规则是这样的:每当你引入一项新颖的、未经大规模验证的技术——一门新语言、一个新数据库、一套新架构范式——就要支付一枚代币。而代币花完之后,再遇到任何新问题,你都只能用无聊的、成熟的、被无数人踩过坑的技术去解决。

为什么要设这个上限?因为 Dan 的观察是:团队承担新奇技术风险的能力,本质上是有限的稀缺资源。 一个团队同一时间只养得起极少数“没有先例可抄”的系统。你不缺聪明人,缺的是那种“全世界没人踩过这个坑、出了问题只能自己挖”的注意力。代币模型把这个隐性约束摆上了台面——它不是教条,而是一面镜子,照出你到底还有多少冒险的资本。

(延伸一句:这个“2-3枚”的数字本身并不精确,它是一个刻意夸张的修辞。Dan 想让你记住的不是配额,而是稀缺感。)

二、“无聊”的定义:不是旧,是坑都被踩过了

很多人误读这个演讲,以为“无聊技术”就是老技术、保守主义、拒绝新事物。Dan 明确反对这种理解。他对 boring 的定义非常精确:

无聊技术 = 已知的未知(known unknowns)。

PostgreSQL 会怎么挂?翻文档、搜社区,前人把死法都写好了:连接数打满、锁表、WAL 堆积……每一种故障都有名字、有手册、有现成的解法。这意味着它的风险是可预算的。

而一项“有趣”的新技术意味着未知的未知(unknown unknowns)——你甚至不知道它会以什么方式让你痛苦。半夜三点集群神秘失联,Slack 上没人遇到过,GitHub issue 里只有一条三年前关闭的“已修复,请升级”,而升级本身又是另一个坑。

所以“无聊”是一个相对当下的、动态的概念。2015年前后 NoSQL 是代币技术,如今很多 NoSQL 早已是无聊选项;反过来,某些曾经的“ boring 老将”在新的负载形态下重新变得危险。判断标准始终只有一条:这个坑,是只有你来踩,还是已经有人替你踩平了?

三、大头成本在上线之后

演讲里最被引用的论断之一:一个系统绝大部分的真实成本,产生在它第一次成功上线之后。

写 demo、跑通 hello world、上生产——这些都只是“初恋第一天”。真正的婚姻是接下来的运营岁月:监控告警怎么配?数据备份怎么演练?版本升级要不要停机?出事故谁值班?新同事怎么学会维护它?这些成本细碎、漫长、没有尽头,而且在选型的那一刻完全不可见。

这正是“有趣技术”最大的陷阱:它在决策会上展示的全是优点,因为它被发明出来的时间还不够长,连缺点都还没来得及被记录。你看到的官方文档永远停在“部署成功”那一页,而后面的五十页运维血泪史,要靠你自己的团队用时间去写。

Dan 在 CarGurus 的实践佐证了这一点:一家把精力死死押在业务功能上的公司,靠着一套被无数人骂过“土”的经典 Web 技术栈,一路跑到了上市。技术栈的土,不妨碍生意的赢。

四、有趣的复利,也是复利

演讲里有个很妙的推论:风险不是线性叠加的,而是复合的。

如果你的系统同时引入了两三枚代币技术——新数据库加新消息队列加新运行时——那么你面对的不是三份独立的风险,而是它们之间相互作用产生的组合爆炸。数据库的某个边角行为,和消息队列的某个重试机制,在特定的时序下相遇,产出一个全世界独有的 bug。没有人能帮你,因为没有人拥有和你一样的技术组合。

这就是为什么“一次只花一枚代币”是铁律:把每一个不确定性的来源隔离开,让系统的其余部分全部站在 known unknowns 的坚实土地上。当奇怪的事情发生时,你至少能收窄怀疑范围——无聊的部分可以被快速排除,你的火力可以全部对准那一个嫌疑人。

五、说服的艺术:把成本变成工单

这个演讲之所以十年长青,还因为它不止讲道理,还给了可操作的斗争策略。很多工程师都经历过:你想用成熟方案,但团队里有人(尤其是明星工程师或技术决策者)对新技术心驰神往,讲道理讲不赢怎么办?

Dan 的答案是:别跟热情对抗,跟预算对抗。

具体做法:假设我们真的要引入那项新技术,把它上线后需要做的所有运维工作一条条列出来——监控、备份、容灾演练、升级脚本、值班手册、新人培训——每一项都写成正式的工单,放进团队的 backlog。然后让这些工单和其他所有业务需求一起,公开竞争优先级。

这一招的杀伤力在于把隐性成本显性化。在抽象层面,人人都可以为“先进架构”心潮澎湃;但当“为发邮件功能维护自研消息系统”变成二十张实打实的工单,去和“下季度的核心功能”抢排期时,大多数热情会当场冷静下来。这不是偷袭,这是诚实:如果这项技术真的值得,那它的成本就该被计入;如果它的成本不可接受,那当初的心动就是幻觉。

六、什么时候该花代币?答案反而是“该花”

如果只读到“永远选无聊技术”,那等于白看。演讲真正想说的是:正因为代币如此稀缺,才更要精准地花出去。

Dan 给的判断标准是:这项技术选择,是否直接服务于你们业务的差异化核心竞争力? 你的电商平台的推荐算法、你的SaaS产品的协作引擎——这些“只有你们能做、做好了就是护城河”的部分,值得动用代币去冒险去创新。而支撑性的、 commodity 的部分——数据库、消息、缓存、部署——全世界最聪明的公司已经替你把基础设施打磨到极致了,你没有任何理由在上面重新发明轮子。

一句话概括这套哲学:把创新当成一种投资组合管理,而不是一种审美偏好。 留着弹药,只在你最有胜算、回报最大的战场上开火。

七、2026年的新注脚:AI 时代,代币更稀缺了(笔者延伸)

以下是笔者的延伸思考,并非视频内容。把这堂2015年的课放到今天,会发现它不但没过时,反而更锋利了。

如今每家公司都在“AI 原生转型”的压力下焦虑:要不要上向量数据库?要不要自研 Agent 框架?要不要给每个内部系统都塞一个大模型?按照代币模型的逻辑,这些问题的答案惊人地一致——绝大多数“AI 化”项目,本质是在给 commodity 功能支付创新代币。 一个客服回复功能,用成熟接口加规则引擎能覆盖的,就不该用“自研微调模型”去炫技。

反过来说,如果你就是一家 AI 公司,模型能力就是你的核心差异化——那么这正是唯一值得把所有代币押上去的地方。有趣的是,AI 编程助手的普及还带来一个新变量:生成无聊技术的样板代码比以往任何时候都快,“无聊选项”的实施成本在暴跌,这进一步拉大了“炫技选型”的机会成本。十年前 Dan 说的那笔账,今天算下来只会更悬殊。

知识结构图

flowchart TD
    A[来了个新需求] --> B{属于核心业务<br/>差异化吗}
    B -->|是| C{创新代币<br/>还剩吗}
    B -->|否| D[无聊技术顶上]
    C -->|还剩| E[花一枚代币<br/>列出已知未知]
    C -->|花完了| D
    E --> F[隐性运维成本<br/>全部写成工单]
    F --> G{工单能抢到<br/>优先级吗}
    G -->|能| H[值得做<br/>长期投入]
    G -->|不能| D
    D --> I[精力留给<br/>真正的业务创新]

实战启示

如果你是工程师:下次架构评审前,先做个小练习——把候选方案各自写一张“故障清单”。无聊技术的那张,你会发现五分钟就能写满,因为每一行都能搜到前人的事故报告;新技术的那张,你大概率写不出三行,因为你不知道它怎么坏。这张清单本身就是最有力的论据。别用“我觉得这方案太土”说服别人,用“这是它上线后要付的十五张工单”说服别人。

如果你是技术管理者:把“创新代币”写进团队的架构决策记录(ADR)模板里。任何引入新技术的提案,必须回答三个问题:这是不是核心差异化场景?我们目前还剩几枚代币在花?上线后的运维成本折算成多少张工单?让稀缺性成为制度,而不是靠个别老人的直觉把关。

如果你是独立开发者或创业者:这条原则对你甚至是生死级的。创业公司的创新代币可能只有一枚,试错的机会窗口以月计。你的产品假设才是要验证的核心冒险,技术栈绝不该是第二个冒险点。“用无聊的技术做有趣的产品”,几乎所有从零活到大的公司,走的都是这条路。

一条通用判断式:当你发现自己说“这个场景用X技术应该也行”的时候,警报就该响了——“也行”意味着你在为一个非核心场景支付代币。真正的核心场景,你会说“只有X能做到”。

延伸学习路径

  1. boringtechnology.club — 演讲官方文字版,十分钟可通读一遍,是视频的完美配套,适合反复回看。
  2. Dan McKinley 的个人网站 mcfunley.com — 他持续在写的工程与决策思考,可追踪他对这一理念的后续演化。
  3. Google SRE Book(sre.google 免费在线全文)— 从运维视角补全本课:了解“上线之后的成本”到底有多大、如何用 SLO 和值班制度管理它。
  4. 《A Philosophy of Software Design》(John Ousterhout)— 与本课互补的另一面:技术选型省下的精力,该花在模块设计上,这本书讲的就是怎么花。
  5. Rich Hickey 的 "Simple Made Easy" 演讲 — YouTube 搜索即可找到,从语言设计角度追问“容易”与“简单”的区别,是同一条思想脉络的深水区。

一句话总结

你的创新预算少得可怜——所以,把新技术的浪漫留给只有你能做的业务,把无聊留给数据库。

参考来源

  1. Choose Boring Technology — Dan McKinley(YouTube) — 本文分析的核心演讲
  2. Choose Boring Technology 官方文字版网站 — 演讲配套幻灯与全文
  3. Dan McKinley 个人网站 — 作者对演讲的原文页面
  4. Google SRE Book 免费在线版 — 运维成本视角的延伸阅读

注:撰稿时联网检索工具不可用,文中播放量等平台实时数据未做联网核实,请以视频页面显示为准;演讲观点均基于该演讲公开发表的文字版内容整理。


本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护,聚焦5G/6G核心网、3GPP标准解读、通信前沿技术深度分析。 出版作品有《5G核心网原理与实践》《IMS原理与实践》等4本通信专业书籍。知识星球「51学通信」提供深度技术答疑和行业洞察。

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入