Software Architect · 模块 20

架构师很少能直接下命令。他的影响力建立在清晰、信任、reasoning 的质量,以及放大他人的能力之上。

Influence · alignment · mentoring · principles

§ 01

技术领导力是提升团队决策的能力,不是亲自做出每一个决策。

原则比意见更能 scale

交通规则让成千上万的司机通过路口,而不必在每个路口都向调度员请示。

如果架构师手动回答每个问题,他就成了 bottleneck。如果他把 principles、quality gates 和 decision framework 表达清楚,团队就能自己行动。

举个 principle 的例子:"Domain layer 不依赖 infrastructure"。这比在每个 PR 里争论能不能在 use case 里 import ORM 强得多。

Influence 需要信任

导航能稳定地带你到目的地,人们才会一直听它。一次自信但错误的路线,会让信任掉很久。

信任来自准确、敢于承认 uncertainty、对 trade-offs 的诚实描述,以及对团队上下文的尊重。一个总是"知道得比你多"的架构师,会迅速失去影响力。

强有力的表态听起来不像绝对真理:"我觉得这套数据模型风险很高,因为迁移会牵动 external API 和 billing。我们检验一下替代方案。"

§ 02

架构师离开时应该留下一个更强的团队,而不是一个对自己有依赖的团队。

例子:把 architecture review 当作教学

好教练不会替球队打比赛。他帮助球员看清整个场地。

review 里,架构师不下结论,而是提问:invariants 是什么、idempotency 放在哪、怎么迁移、partial failure 时会发生什么、哪些 metrics 能证明成功。团队自己锐化设计,并把结论写进 ADR。

下一次,团队会在没有架构师的房间里,自己问出其中的一部分问题。

反例:英雄架构师

如果一座桥只靠一个人每天手动拧螺丝才不塌,那就不是一座可靠的桥。

架构师亲自修所有难题、写最重要的几块代码、把所有决策装在自己脑子里、什么也不下放。外表看起来高效,内里却制造了 bus factor 和 learned helplessness。

真正的领导力,会降低对单个人的依赖。

自检
  • 哪些决策团队可以在没有我的情况下做出? - 哪些 principle 替代了一再重复的争论? - 最近一个月我把架构 reasoning 教给了谁? - 我的参与在哪里变成了 bottleneck?