
当一个团队招不到高级工程师,他们从初级工程师身上榨取高级工作。初级产出的系统靠橡皮筋和口香糖粘着,紧耦合、不可维护、只有创建者看得懂。这把每个初级锁在他们建的系统上,在已经承受不了更多的人身上堆积永久责任,阻止他们成长为团队真正需要的高级工程师。组织摧毁了自身生产它最急需之物的能力。
简单的画面
你需要一座桥但只请得起实习建筑师。实习生建了个能用的东西但怪异到只有他自己看得懂。现在你不能开除他、不能调走他、不能雇新人维护。他被困在永远维护自己的烂桥上,永远学不会建好桥。同时你用更多实习生建更多烂桥。最终一座塌了,你花大价钱请顾问救火,然后重复整个循环。
过度压榨循环
反馈循环有四个阶段:
-
榨取,初级工程师被给予超出技能水平的工作因为没有高级可用。他们产出的系统紧耦合且不透明。
-
锁定,创建者成为唯一有资格维护或修改其系统的人。这堆积了一个永久责任阻止他们被释放去做其他工作。
-
脆弱,以这种方式建了10到20个系统后,由各自只理解自己那部分的人互相连接,整个项目对每个工程师来说都成了单点故障。如果任何一个人离开,他们的系统就不可维护了。
-
崩溃,一个关键问题浮出得太晚无法内部解决。紧急顾问(救火员)以巨大成本被叫来。火灭后,团队雇新的初级工程师然后循环重启。
这是制造模式的死海效应:死海效应描述好的人如何从功能失调的组织中蒸发。救火员陷阱描述组织如何从一开始就阻止好的人被产出,本可以成长为高级的初级被锁在糟糕系统的维护角色上,当他们倦怠离开时带走了所有制度知识。
专家型初学者在第2阶段进入:被锁在自己系统上的初级没有接触更好方法的机会。他们的高原变成了标准,任何建议不同架构的人都在威胁维持项目存活的脆弱均衡。
缺失的高级
一个高级工程师阻止的级联失败的成本比他们的工资高几个数量级。一个咨询客户有源代码管理配置错误,临时缓存文件被追踪并分发到团队。任何高级工程师一看就会修好。没有高级,缓存文件导致游戏引擎跳过音频生成,破坏了所有音频。音频分包商报告一切正常。接下来是几个月的互相指责、潜在的诉讼和敌意的工作文化,全因一个微不足道的配置错误。
不设这个岗位的代价永远超过为它付费的代价。 说”我们找不到高级,我们团队能搞定”的组织在赌整个项目不会有任何微小问题级联,这个赌注几乎每次都输。
你的下属都在骗你
救火员到场后的第一个发现:在到达后几纳秒之内,每个工程师都在告诉他们所有的问题,关于管理层、公司和开发流程。不是因为救火员长了张可信的脸,而是因为工程师们已经试了好几个月传达这些问题而管理层要么忽视、要么降优先级、要么主动惩罚反馈。
这是具象化了的发声萎缩。工程师使用了发声。管理层把他们的报告转化为零行动。工程师学到发声是徒劳的然后切换到**“打卡上班,打卡下班,不关我事。”** 白金汉的洞察适用:你可以通过工程师是否舒服地给出建设性反馈来判断他们是否健康。当反馈产出零行动,热心的公司优先型工人转变为脱离的打卡机器,不是出于懒惰而是出于理性的绝望。
一个客户的制作人没有工程知识,不断把工单分配给错误的专家,网络工程师收到游戏玩法修复,游戏玩法工程师收到渲染任务。每个工程师都提出过这个问题。每份报告都被忽视。一个网络工程师花了三个月学习动画图因为他的工单这么写的。工程师找到了一种不改善公司却改善自己的方式,对不被听到的发声最理性的回应。
当救火员向高层管理摊牌时,他们的第一个问题是:“谁在泄露这些信息?“他们想惩罚反馈而不是修复问题。救火员被辞退了。一个月后,工程团队从七人减到两人。再一个月后,零人。公司雇了全新的初级然后循环又开始了。
这个模式超越了工程。当平庸的领导者不带愿景、魅力或技术技能就获得了权力,他们求稳、玩政治,而且因为他们知道自己不称职,他们认领功劳、回避指责。结果:官僚主义爆炸(18级的职业框架、季度评估、OKR、KPI、DORA、SAFe)和填满每个日历的会议。招聘进一步退化,人被雇是基于他们是否不构成威胁,所以任何伟大的痕迹都保证被拒绝。理想的雇员变成一个无脑的全能型人半称职地做被告知的任何事。人才蒸发,效忠系统固化,CYA 文化成为唯一可见的生产力形式,公司漂入无关紧要。
常见误读
低水平理解:“招更好的工程师就行了,问题是人才。”
中等水平理解:“这是关于技术债务,多重构就行了。”
更好的理解:救火员陷阱是一种组织反馈失败,不是技术的。系统差是因为建它们的人被设置来失败。人失败是因为没有足够高级的人在场来阻止。而高级不在场是因为管理层将就了更差的或完全忽视了需求,然后因为初级不是高级而开除他们。瓶颈不是工程技能。是组织听到并对来自最接近工作的人的反馈采取行动的能力。
核心收获
差的领导者奖励纵火犯扑灭他们自己点的火。会议是bug,不是功能,遮掩着信任问题、不清楚的目标和缺失的沟通渠道。领导者必须有足够的技术能力来欣赏那些没有发生的问题,但系统奖励可见的救援而非不可见的预防。
救火员陷阱解释了为什么同样的公司年复一年地为同样的紧急情况叫同样的顾问。紧急情况从来不是问题。紧急情况是一个摧毁问题本可被预防的条件的反馈循环的症状。打破循环需要两样组织在结构上抵抗的东西:倾听初级和在火灾开始前投资成长。武器化的代码审查使问题更复杂:即使初级确实产出了工作,审批门也可以通过看起来像质量控制的模式摧毁他们的速度和士气。悖论是最需要这项投资的公司恰恰最没能力投,因为所有预算都给了救火员。
参考: