郭东白的架构课48

你好,我是郭东白。上节课我们从公司的角度上,描述了架构师应该具备价值思维和实证思维,从而最大化自己的生存。

而如果从架构师的角度来思考,必须具备哪些思维定势才能达到我们上节课提出的目标呢?也就是决策信条和最终的行动,都能最大化自己为企业创造的长期价值的目标。答案是:去中心化思维和成长思维。

前者可以提升架构师做事情的成功概率,后者可以放大他个人成长的机会。接下来我会详细展开介绍这两种思维定势。

去中心化思维

在之前的模块中,我们几次提到了架构师的去中心化思维。那么去中心思维到底是什么呢?

首先,一家公司的企业文化、战略布局、资源分配和宏观决策都是中心化的。而一家公司的员工、计算资源、目标市场和目标人群又分布在全球或全国各地,也是去中心化的。如下图所示:

如图所示,左半部分属于由企业决策者共同制定的战略,右半部分则是企业日常经营的活动。

在左侧部分,使命、愿景和价值观用来引导企业的长期战略。同时,也可以由此制定出中短期的战略目标。而资金、各类资源和组织等方面的决策,则用来支持战略目标。这一切都是由企业的核心决策团队共同制定的,一般架构师不会参与到其中。

战略目标最终将转化为企业内部具体的活动(即图的右侧部分),这些活动多数是去中心化的,由企业内部员工来完成。

从技术角度看,架构师组织的架构活动是由多个研发团队构成的,因而是去中心化的。在这个过程中,架构师需要密切关注企业的战略目标和宏观决策,并将这些决策映射到去中心化的研发组织和计算机系统中去。因而在这个过程中,就需要架构师具备去中心化的思维。

去中心化是个动态的过程。就计算而言,从PC时代直到现在,算力的去中心化、计算机各学科的不断分支、算法在不同应用领域的定制化这三个趋势还没有呈现减弱的势头。

首先,算力的去中心化意味着计算问题将以分布式的方式独立完成,因此在这种体系框架之上的研发任务,是相对独立的,即去中心化。

其次,计算机学科的持续分支意味着个人专业知识上的分支,也就意味着人力资源的去中心化。

最后,算法作为技术变现中最重要的一环,在不同应用领域持续深度地定制化,则意味着算法、数据与工程体系之间大量去中心化的深度合作。这一点,从大公司里不断拆分算法团队的趋势也能看出来。

那么什么是去中心化思维呢?我认为指的就是引入更多的人,从更多的角度去思考同一个问题。这种思维方式是相对于中心化的思维而言的。后者是用尽量少的人,通过更频繁、更深层次的交流来统一认知后再思考问题的过程。

需要强调的是,架构师这种去中心化思维并不等于无组织的发散性思维。去中心化的思考是在统一目标的约束之下完成的。在这个过程中,架构师的核心价值就在于定义统一的目标约束。关于这一点,我们在模块二目标确认这个节点中有详细描述,这里就不再重复了。

那么对于架构师而言,去中心化的思维主要包含三方面的含义。

第一,有效组织去中心化的思维活动。去中心化的思维,需要高效的组织和分工才能发生。去中心化不等于没有协调和沟通,也不等于没有中心化的过程。

从模块二架构活动的介绍中我们就已经了解了,一次深度思考,需要经过多轮的集中和发散。举个例子,很多算法大赛都分成好几轮。每一轮结束之后,都会公布胜出者以及他们使用的算法和代码。这样大家就能在更高的层次上再对下一轮进行思考。

这个过程其实就是我们在模块二里提到的集体思考。我们详细描述过这种集体思考的过程,以及最大化产出的方式。包括建立决策信条、建设良好的沟通环境、引导和干预思考过程等,还介绍过亚马逊的6页纸文档。这里就不再重复了。

第二,保持频繁切换视角的思考方式。去中心化思维不是让你放弃思考,而是要求你频繁切换思考角度,将自己放在各个分布式的节点上做换位思考。从而帮助其他人看到各自的思考漏洞,看清楚他与战略目标之间的差距。

这种思考习惯需要靠长时间的训练才能逐步养成。如果你是一个技术管理者,那么在团队里定时做深度的代码与设计Review,会是一个非常好的帮助团队同学养成去中心化思考习惯的方法。

第三,相信“去中心化主义”。去中心化是对称性的,不能让架构师成为思考的单点(Single Point of Failure)。

根据我的观察,这种避免自己成为单点的思考方式,在架构师中是比较稀缺的。有外在的原因,比如有的公司没有给架构师以足够的安全感。而是用非常僵化的方式来考核,以至于架构师要被迫证明自己的不可或缺性。

也有内在的原因,比如有的架构师比较自负、缺乏沟通能力、缺少领导力,或者迫于交付和时间压力,没能很好地激发其他人的参与。

相信去中心化主义,其实是个理智的事情。惭愧地说,我在职业生涯初期,并不相信去中心化主义,而是想让自己成为最强大脑。至于我是不是单点,也完全不在乎。后来当我转到管理岗上,从管理者的视角审视,才发现这种做法并不可取。

虽然中心化可以让你成为单点,给予你更多的安全感,但实际上也剥夺了追逐更大机会的可能。一旦自己成为单点,现有岗位离不开你,也就无法接触到现有岗位之外的机会了。

我认为去中心化是个理智的选择。虽然还没有什么具体的数据可以证明,但我不止一次观察到那些相信去中心化主义的架构师,更擅长通过团队的集体思考力来解决问题,由他们组织的架构活动的成功概率会更大,职业机会也更多。

贯穿职业生涯的成长思维

什么是成长思维呢?就是以最大化能力成长为目标的职业选择思维。

其实这是一个基于冒险精神的思维方式。这种思维有这样一个假设:架构师无法在一个舒适的环境下最大化个人成长。要想最大化模型思维能力和实证思维能力,就需要有勇气,敢于走别人没有走过的路,甚至是一条有极大风险的路。

我经常会看到某个架构师的简历上写着:几年之间,把某个系统的TPS从几百提升到几万。事实上,这种架构师的简历含金量极低。稍微资深点儿的人都知道,系统容量从几百到几万,甚至是几十万,其中的方法论几乎没有任何变化。

可能他第一次尝试时,在几个月的时间里把规模从几百提升几千,从中获得了巨大的成长。但是在此之后,都是在重复走相同的路。我一般碰到这种情形,都会问候选人一个问题:“在此之后的三年时间里,你收获的最大的认知是什么?”很遗憾,很多人都回答不上来。

有些人以为架构师到了大厂就是镀到了金。事实上,对于一个架构师而言,只有生存的压力才会刺激你思考出真正有商业价值的架构。在强大的成本压力之下做艰难的取舍,只有少数幸存者才有深刻的体会。

当然,大厂也并非没有生存和成本的压力。如果你在大厂的位置,没有资深到可以直接以架构手段去应对这些压力,那就得不到这方面的锻炼。

所以在我看来,一个没有持续冒险精神的架构师,根本找不到最大化自己能力成长的高质量的训练模型。即使到了一个具有高度压力和挑战的环境中,也要敢于在待得舒适的时候选择离开,选择换个环境。只有在新的环境下,才会有新的未知因素、新的不确定性和新的生存压力。

在新的未知环境下,之前脑海里形成的架构模型就不再适用了,而需要在新的环境下对模型进行修正,也借此把你原有的架构模型的适配范围,扩大到新的环境中。这个过程,其实就是在完善实证思维能力,以及提升适应能力。

如下图所示,描述了我们这两节课提到的四种思维模式的关系。

价值思维是思维主线,并保障了架构师这个职能的存在意义。而持续不断的价值创造,来源于你对规律的总结。因此实现价值思维主要靠你对实证思维的坚持,需要你不断对现实建模,从模型中发现新的规律,并不断修正已有的规律。同样地,模型的普适性则需要由实验结果来验证和维持。

通过去中心化这种集体思考方式,可以快速丰富和完善你的模型。最终,模型也将通过实证思维而得到筛选和完善,并创造价值。

不论是模型还是实证思维,都需要源源不断的实践和尝试。这种在新的环境和新的领域中不断挑战自我的思考方式,就是成长思维。在成长思维的驱使下,你将持续拥抱新的环境,以及由此带来的新的不确定性、新的场景和新的压力,则会帮助你丰富模型,提升实证能力。

我们在模块二的小结中讨论了“王道”这个概念,我当时说了这么一句话:王道是从价值创造视角而言,一种公平、理性且公开透明的环境,以及尊重事实的行为方式。

其实这种王道就类似于上节课提到的价值思维和实证主义思维。如果所有参与者都相信这两种思维模式,我们就离真正的王道不远了。正如图中的绿色区域,就是公司成功的王道,主要通过价值创造来最大化公司的长期生存。

而图中的黄色区域,则代表个人成长的王道。也就是通过实证主义开启模型驱动的思维方式,用模型来创造商业价值。然后通过去中心化思维,来最大化模型的丰富度和完善性。最后,通过实证思维来验证模型的价值。而支撑这个认知提升的底层逻辑,就是成长思维,也就是通过对新的场景的追逐来最大化个人的认知提升。

这里也顺便回答一个常见的架构师成长的问题:架构师应该选择大公司还是小公司呢?从成长的角度来说,答案既不是大公司也不是小公司,而是选择一个能获取最大决策空间和最丰富的决策场景的地方。

也就是说,我们所经历的生存环境的多样性决定了自己的成长。所以架构师不仅需要去大公司完善自己的技术栈,也需要在一个创业环境中寻求生存的挑战。

小结

回到我们专栏开篇词的核心观点:如果没有战略意图,就无法成为一个优秀的架构师。我认为实现这个战略意图的唯一途径,就是相信价值思维、实证思维、去中心化思维和成长思维。

思考题

只有一个思考题:我们今天讲解的思维模式,与你在模块导读中思考的内容有什么不同?你有什么改进建议吗?

欢迎把你的思考和想法分享在留言区,我们下节课再见!

posted @ 2022-12-29 16:09  易先讯  阅读(39)  评论(0编辑  收藏  举报