去中心化的思维主要包含三方面的含义。
第一,有效组织去中心化的思维活动。去中心化的思维,需要高效的组织和分工才能发生。去中心化不等于没有协调和沟通,也不等于没有中心化的过程。从模块二架构活动的介绍中我们就已经了解了,一次深度思考,需要经过多轮的集中和发散。举个例子,很多算法大赛都分成好几轮。每一轮结束之后,都会公布胜出者以及他们使用的算法和代码。这样大家就能在更高的层次上再对下一轮进行思考。这个过程其实就是我们在模块二里提到的集体思考。我们详细描述过这种集体思考的过程,以及最大化产出的方式。包括建立决策信条、建设良好的沟通环境、引导和干预思考过程等,还介绍过亚马逊的 6 页纸文档。这里就不再重复了。
第二,保持频繁切换视角的思考方式。去中心化思维不是让你放弃思考,而是要求你频繁切换思考角度,将自己放在各个分布式的节点上做换位思考。从而帮助其他人看到各自的思考漏洞,看清楚他与战略目标之间的差距。这种思考习惯需要靠长时间的训练才能逐步养成。如果你是一个技术管理者,那么在团队里定时做深度的代码与设计 Review,会是一个非常好的帮助团队同学养成去中心化思考习惯的方法。
第三,相信“去中心化主义”。去中心化是对称性的,不能让架构师成为思考的单点(Single Point of Failure)。根据我的观察,这种避免自己成为单点的思考方式,在架构师中是比较稀缺的。有外在的原因,比如有的公司没有给架构师以足够的安全感。而是用非常僵化的方式来考核,以至于架构师要被迫证明自己的不可或缺性。也有内在的原因,比如有的架构师比较自负、缺乏沟通能力、缺少领导力,或者迫于交付和时间压力,没能很好地激发其他人的参与。
相信去中心化主义,其实是个理智的事情。惭愧地说,我在职业生涯初期,并不相信去中心化主义,而是想让自己成为最强大脑。至于我是不是单点,也完全不在乎。后来当我转到管理岗上,从管理者的视角审视,才发现这种做法并不可取。虽然中心化可以让你成为单点,给予你更多的安全感,但实际上也剥夺了追逐更大机会的可能。
一旦自己成为单点,现有岗位离不开你,也就无法接触到现有岗位之外的机会了。我认为去中心化是个理智的选择。虽然还没有什么具体的数据可以证明,但我不止一次观察到那些相信去中心化主义的架构师,更擅长通过团队的集体思考力来解决问题,由他们组织的架构活动的成功概率会更大,职业机会也更多。
此文章为6月Day15学习笔记,内容来源于极客时间《郭东白的架构课》,推荐该课程。