模块导读:假如我只能要一个技能

架构系列课专栏目录总览

通过前面三个模块的学习,我们掌握了架构师的生存法则、架构师在架构活动中的工作方式、架构师在成长过程中需要获取的能力维度。那么最后一个模块,我们就来学习如何提升架构师最核心的能力——思考力。

独立思考

我们之前提到过了,思考力指的是在生活和工作中,通过独立思考带来有效结论的能力。同时,我们也解释了什么是独立思考。我认为独立思考是针对同一个问题,通过有别于他人的视角、有别于他人的证据组合和有别于他人的思维方式,来推导出逻辑结论的过程。在思考力这个定义中,我想特别强调三个方面。

首先是独特的视角。架构师经常需要以异于他人的视角来思考问题,比如我们在讨论跨域架构师时提到的全局视角,在讨论生存法则时候提到的人性视角,在讨论 CTO 角色时提到的企业长期生存的视角,等等。

在现实世界中,影响结果的维度非常多。比如针对软件架构,我们仅在模块一中就提到了目标、人性、资源、商业环境、技术环境、文化环境等六种因素。通常来说,架构师要选择一个不被他人重视,但的确能对结论产生重大影响的视角去做深度思考,正如我们在前面三个模块中讨论的一样。

其次是独立的证据组合。当选择好一个或多个维度切入思考后,选择的证据组合同样会对结论产生巨大的影响。

举个例子,我们之前的课程中多次提到了企业、技术和架构活动的生命周期。但是,哪怕是同一个团队中的同事,也可能会对同一个技术或企业生命周期作出完全不同的判断,因为每个人接触到的证据是不一样的。那么找到最有价值的证据组合,也就是最能逼近有效结论的证据组合,就是你作为架构师可以提供的核心价值。

最后是独特的思维方式。每个人的思维方式都不一样,有的人喜欢在别人逻辑推导的基础上发现漏洞,并试图修复优化;有的人喜欢对问题进行层层分解,自己独立得出结论;也有的人喜欢从其他学科中寻找类似的问题,从而发现新的解决问题的思路;还有的人喜欢在跟别人的深度讨论和辩论中逼近真理。通常来说,不同的思维方式会带来不同的推导路径,从而得出不同的结论。

不过在这个定义中,其实还有两个隐含的假设。第一个假设是同一个问题,也就是说所有人都在讨论同一个问题,大家只是在结论上没有达成共识。

这个假设听起来似乎很愚蠢,如果不是同一个问题,何谈独立思考呢。但是在现实生活中,你会发现,越是那些有挑战的问题,参与讨论的各方越是缺乏对问题的统一定义,因此很多时候我们花了很大力气,之后才发现大家讨论的都不是同一个问题,目标也完全不同。

不信的话,下次在大家争论得不可开交的时候,你可以试着打断一下,然后让每个人把正在讨论的问题分别写在纸上,看看大家对问题定义的描述是否完全一致。反正我没遇到过一致的情形。

另一个假设是统一的甄别方法,也就是说不同结论之间是可以被比较的,最终能够选出最有价值的结论。

我刚才已经说了,越是有挑战的问题,越难找到统一的度量结论的标准。事实上,如果一旦思考清楚我们在一个问题上的目标,并量化出这个目标的指标,解决方案往往也就开始浮现了。它不再是一个未解的难题。

有效的甄别方法除了能帮助我们理清问题外,还有另外一个很重要的价值,就是可以应用到我们在模块二里讲的共识机制的建设中。它可以保障最终决策的公平性,避免将解决方法的共创,变成最高权力者的决策。

有了这个对独立思考的定义,我们就可以理解这个模块的目标了,那就是提升你独立思考的能力。接下来,我就对模块内容进行一些简单的介绍。

架构师这个职能有必要存在吗

提到思考力,你可能会有一连串的疑惑:思考力为什么对架构师这么关键?为什么思考力是架构师的核心能力?为什么思考力的提升能给架构师的职业成长带来决定性的优势?等等。如果你认真思考,就会发现,这些问题其实都指向一个终极问题:我们为什么需要架构师?

且听我慢慢道来。

我在不少场合中做关于架构师的演讲的时候,会听到大家对架构师这个职业有着各种各样的假想。当然,大家也会问各种各样的问题,但我很少听到有人问:架构师这个职业有必要存在吗?

对于从业者而言,架构师是一个很赚钱的职业。那么对于用人方来说,就是一个很费钱的职业。那么,对于一家公司而言,既然架构师这个职能这么费钱,为什么我们还需要架构师呢?更进一步地,架构师这个职业有必要存在吗?

其实大家没有这个问题也很自然。我们身边多的是架构师,大家也都在花钱学习架构的相关课程。问这个问题,似乎是多此一举。可是,这个问题却是我思考最频繁和最久的问题。可以说,整个专栏的缘起、我的架构理念、总结的架构法则、贯穿我职业生涯的行为方式,都来自我对这个问题的思考。

首先,你可能觉得架构师理应是一个成熟企业所必须的职能。哪家大公司会没有一个架构师呢?请你仔细回忆一下模块二的内容,我们曾经提到过,架构活动中的目标并不是由架构师制定的,实际执行者也不是架构师。那么为什么要在这中间增加一个架构师呢?

当我们之后介绍实用主义思维的时候,你会看到到,实用主义强调“每个人都应该从实践中直接体验理论,我们应该尽量摈弃任何没有意义的中间环节”。那么,对于实用主义者来说,架构师的存在,隔离了制定目标的决策者和执行目标的执行者。这种隔离,会增加从执行者到目标之间的理解难度和反馈距离。也就是说,至少某些实用主义的信奉者会质问:架构师是否有必要存在?

我做过多年的专职架构师。在过去,我的团队中也曾设立过专职的架构师和架构师团队,他们阶段性地起到了很大的作用。不过我现在的公司里,并没有设置多个专职的架构师岗位,最后发现其实也没有影响架构活动的质量。我想说明的是,一家企业可以不设立专职架构师这个岗位。事实上,很多公司的现状也是如此。

你可能认为,公司在一个架构师身上的投入就是发给他的工资。其实不然。架构师对公司而言,消耗的最大成本是人才培养的机会。同样一个架构决策机会,如果长时间交给同一个人做,其实也就剥夺了其他技术人员的决策机会。

决策机会对于任何人而言,都是很宝贵的机会。它是一家公司里的稀缺资源,也是人才培养过程中非常重要的消耗品。那么对于公司而言,架构师占用的决策机会就是很大一笔投入。当然,公司对架构师的投入远不止这些,比如说由于架构师岗位的存在,公司还必须改变团队的沟通方式和决策模式等。

如果所有架构师都在消耗资源的话,那么他必须能创造价值,否则公司就不理智了,要付出相应的代价。因此我们不难从商业经营的角度,来推断出架构师职能所必须满足的一个条件:架构师所创造的长期价值,要大于公司对他的各种形式的投入。

或者反过来说,如果一个架构师产生的价值远大于公司在他身上的投入,那么任何一个理智的公司,都应该设立架构师这个岗位。

如果沿着上面这两个路径继续思考,我们会得出同样的结论:架构师必须选择一个以持续创造增值为目的的思维。这其实就是我们整个模块的总纲。

那么如何做到这一点呢?就是靠你的独立思考。

关于提升思考力的建议

架构师该如何通过独立思考来最大化自己的增值呢?针对这个话题,我们这个模块将会讨论以下内容。

第一部分,架构师的思维定势。我们这里所说的思维定势,指的是架构师在思考过程中的基本假设。从某种角度来说,思维定势就是你选择相信什么,或者说你在架构师的生涯中坚信和奉行的那些“主义”。

比如整个经济学就建立在“人是理性的”这个基本假设之上。我认为这些“主义”不是随意挑选的,而是和架构师这个职业的内在特性所绑定的。那么一个架构师应该采用什么样的思维模型呢?为了激发我们的思考碰撞,我在这节课的最后,特意留了关于这个话题的思考题,所以这里先不列出我的答案。

第二部分,架构活动中的思考维度。你可以回想一下模块二的内容,在一个具体的架构活动中,随着架构活动的推进,架构师能贡献的价值也在发生变化。因此,在架构活动中的不同生命周期,我们就需要不同的思考方法。

在这个模块里,我们会分解架构活动的几个重大周期,强调每个周期中架构师应该采用的思考方式是什么。同样地,我们这里会略去具体的建议,而把相关内容留作思考题,帮助你最大程度地从这个模块获取价值。

第三部分,判断思考的质量。思考力的提升,意味着你的日常需要高质量的思想碰撞,那么怎么寻找那些有高质量思考的人呢?甚至再深挖一步,怎么判断每次思考的质量呢?靠投票肯定是不靠谱的。如果靠投票的话,人类历史上很多伟大的学说都会被淹没。关于这个部分,我会简单阐述一下我判断思考质量的方法。当然,我也希望你能在留言区写下你的判断方法。

第四部分,思考案例。最后,我会列举两个关于思考力提升的具体案例。第一个案例是 Amundsen 和 Scott 的南极探险案例,虽然案例内容与软件架构没什么关系,但作为挑战高风险目标的经典案例,曾经被投资界、商业界和企业管理界反复研究。所以我们也来看看,从他们的案例中,能够得出什么样的结论。

我试图通过第一个案例,来解释我们如何从其他学科和日常生活中寻找架构灵感,同时提升我们独立思考的能力和深度。

另一个案例与软件架构有着非常大的关系,也就是中台。通过这个案例,我试图解释我们如何判断他人的行为和论断,分析这些论断背后的立场和驱动因素。

这两个案例都非常复杂,我期望通过这两个案例,能够引导你尝试拨开迷雾,逼近真理。也期望通过这个模块的学习,能帮助你获取一些系统性的思考方式,提升日常的思考质量。

最后说句题外话,Amundsen 和 Scott 的南极探险故事有非常多的参考资料,我把资料链接放在了课程最后,其中 3、4、10 是重点,有兴趣的可以去看看。

小结

诚恳地讲,思考力这个模块是我们这门课中最不成熟的模块。没有人教我一个架构师应该如何去思考,网上和书本里也几乎没有关于这个话题的内容。但是从我的经验积累中,我认为一个架构师应该遵循某些思维定势,并且要在特定的场合采用特定的思考路径。

遗憾的是,我仅仅能从我不算太成功的职业经历中提取经验。所以说,我抛出来的仅仅是块砖。但是我坚信一件事:架构师的思考力可以通过学习来提升。

虽然我不知道提升架构师思考力的标准答案是什么。但是我认为要逼近这个答案,至少有一个起点:能有一位架构师将自己充满瑕疵的方法拿出来,请大家讨论、批判,并提出更好的建议,然后为其他人呈现出高质量的思考。

因此,虽然我心里对这个模块的内容完全没有底,但是我依旧愿意分享出来,希望能引发你的思考和批判。你的批判,其实就是我写这门课的最好的礼物。当然,如果还能给我和其他读者分享一下你的方法论,或者是你看到过的更好的方法论,那就是我和整个专栏读者的福气了。

所以对于所有的学习者而言,这个模块最重要的不是学习课程内容,而是在最大程度上参与讨论,并分享你的想法,这就是我们这个模块的目标。也希望你能从这个模块导读开始就这样做,认真完成这节课的思考题。

免责声明:
1.本站所有内容由本站原创、网络转载、消息撰写、网友投稿等几部分组成。
2.本站原创文字内容若未经特别声明,则遵循协议CC3.0共享协议,转载请务必注明原文链接。
3.本站部分来源于网络转载的文章信息是出于传递更多信息之目的,不意味着赞同其观点。
4.本站所有源码与软件均为原作者提供,仅供学习和研究使用。
5.如您对本网站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。
火焰兔 » 模块导读:假如我只能要一个技能