没有人因为简单而被晋升
原文:Nobody Gets Promoted for Simplicity
要点摘录
- 简单的方案在晋升评审中天然吃亏——“实现了功能 X”只有三个字,而过度设计的方案可以写出一长串叙事
- 复杂性之所以被奖励,不是因为它正确,而是因为现有的评估体系倾向于衡量”做了什么”而非”避免了什么”
- 面试和设计评审中,简单方案常被”未来扩展性”的追问逼退,工程师因此学会了复杂性能让人印象深刻
- 真正的资深不是掌握更多工具和模式,而是知道什么时候不用它们——任何人都能添加复杂性,留下简单需要经验和自信
- 作为工程师:让简单性被看见——记录你评估并拒绝的复杂方案,把”决定不做什么”也写进工作总结
- 作为管理者:改变提问方式,把举证责任放在复杂性上——“最简单的可发布版本是什么?什么信号告诉我们需要更复杂的方案?“
关键概念
过度设计:为暂时不存在的需求预先加入复杂结构,通常会提高理解、维护和协作成本。
可见性偏差:评审更容易看见“新增了多少东西”,却不容易看见“避免了多少复杂性”,于是复杂方案更容易显得有分量。
举证责任:讨论方案时,谁需要证明自己的选择更合理。作者主张应让复杂方案而不是简单方案承担更多证明责任。
未来扩展性:对未来可能需求的预留能力。它有价值,但如果脱离现实信号被滥用,就容易成为复杂化的借口。