郭东白的架构课_50_39能力维度四如何从做技术到为企业创造生存优势
你好,我是郭东白。
我们今天这节课呢是架构师能力维度的第四个部分。
我们继续探索一下架构师成长过程中,下面两个月迁,也就是从跨域架构师到总架构师的跃迁,再到CTO的跃迁。
我们之前已经提过了,你要是能为CTO和总架构师解决他们所面临的问题,那你必然获取他们的起重,加速你的职业成长。
你学习这门课最重要的是理解一个CTO或者一个总架构师是怎么思考的,你如何才能帮助到他们,为什么这节课呢?这两个角色要一起讲呢?因为现在大多数企业这两个身份是合二为一的,有CTO一个人肩负,我也简单讨论一下,为什么会是这样?通过研究这个问题,我也顺便帮你认清楚这两个角色的内涵,让你在不同场合以不同角度帮助到他们。
我们先来看看总架构师的核心能力,也就是做正确的技术决策。
其实我们之前已经提到了,总架构师呢也是一个跨域架构师。
为什么我们要把总架构师这个角色独立出来呢?从跨域架构师到总架构师要跨越什么障碍呢?总架构师到底要具备什么特殊能力呢?我们先研究一下总架构师这个角色。
他作为跨域架构师的特殊性,在架构决策这个职能上,跨域架构师之间呢会形成上下级关系。
但是总架构师不一样,他在架构决策这个职能上没有上级。
也就是说呢,总架构师呢要为公司软件架构的正确性负责,你可能要挑战我了。
每个架驭跨域架构师不也是为自己领域内软件架构的正确性负责吗?为什么总架构师就特殊了?这次呢你的挑战是正确的,总架构师呢也是一个跨域架构师。
所以就像上节课我们提到的一样,在处理整体和局部冲突这件事情上。
总架构师呢就是在执行跨域架构师的角色,从公司层面解决技术架构上整体和局部的冲突问题。
不过这两个角色呢还有一个很大的区别。
请你回想一下上节课,我们对跨域架构师下的定义,它的主要作用呢是克服局部不优,找到全局最优解。
但是从公司层面来看,软件架构存在全局最优解吗?我们在模块一关于外部适应性的讨论中曾经提到过,软件架构的正确性其实是面向未来的技术不确定性下的外部适应性。
这种正确性啊跟还技术债,还有去除局部次优的架构缺陷不同,还债和去除缺陷都有明确的目标。
但是对于一个企业来说,面向未来的架构正确性,但乎永远没有正确的答案。
我们之前呢在模块一最大化商业价值中提到过,技术发展、技术人才、供给、商业竞争等等,都有非常大的不连续性和不确定性。
举个例子,本来公司里很稳定的研发人员可能由于某个技术热词而被其他公司挂的一干二净。
互联网移动端、全栈工程师增长、黑客及其学习永远人生等等。
这些简历大字的背后都是汹涌的。
李职潮公司的营收呢也不是永远稳定的,原本很有稳定的业务呢,可能因为疫情就要彻底崩盘了。
也就是说呢从跨越架构架构师成长到总架构师呢,必须要跨越不确定性的障碍。
技术架构是否正确,有很多考虑因素,既有对未来的判断,也有对人才供给的判断,还有对公司内部外部环境的判断。
这里呢没有对错,只有对长期趋势风险和收益的估计是一个需要拍板的过程。
你通过这个分析呢,你也我们就能明白总架构师的定义了。
在软件架构这个上下文里,总架构师指的是当面对技术发展的不确定的信性的时候呢,能够对未来有一个清晰且正确判断的软件架构师顺便停一下的这个持续做出正确判断的能力。
在亚马逊呢叫做are right a lot.不过呢这个能力呢不是专指架构师的,是亚马逊leadership principle的一条,是每个人都要具备的领导力原则之一。
其实哪家公司不想要这样的人才呢?我相信买彩票的时候,你肯定什么能力都不想,就想要这一个总架构师。
这种正确决策的能力常常被叫做技术嗅觉。
那么怎么跨越不确定性的障碍提升技术嗅觉呢?我认为呢这里有个简单的答案,就是不断寻找高风险决策的机会。
如果说我职业生涯中只有一个职业职业选择的原则的话,那就是这句话其实说白了呢就是要主动去冒险。
这一点呢,我认为对大公司的架构师来说尤其重要。
在大公司环境成长下来的兼职或者全职架构师,往往以解决实际问题为主,很少有做决策的机会。
在重大的技术不确定性的场景下,多数时候都是他的上级。
在做风险和利益的权衡,然后给出架构决策。
我在大公司里呢见到过很多优秀的跨域架构师,也为他们长期蜷缩在大公司里的舒适环境里而感到惋惜。
他们没有获得跟自身思考力相匹配的决策机会。
时间长了呢,不但决策能力退化,连勇气这个宝贵的品质也逐渐消失了。
正确决策的能力呢不是凭空出现的,跟其他能力一样,都需要在不断的试错过程中反复打磨,既需要时间,也需要机会,更需要我们在模块一法则六中提到的相对友善的文化环境。
所以现在的问题呢就是怎么才能提升高度不确定性下正确决策的能力呢?其实就是思考力的提升。
关于这个话题呢,我们整个模块四的内容有覆盖。
这里呢先不展开了。
不过呢如果你因为各种考虑无法离开一个相对舒适的环境去冒险,那我还是要给你一些具体的建议来扩大你参与类似决策的机会。
也就是呢帮助总架构师做一些决策,让他每次做重重要决策的时候呢,就能想到你。
首先呢有个必要条件,你呢在某个领域呢要拥有明显的优势,能在公司层面胜出。
如果你是公司稳定性的大拿,对业界流行的方案有深刻的认知,那么公司做稳定性相关的决策时,肯定会叫上你。
你在帮助他人做高风险决策的时候呢,要做的事事情呢就有这么八件。
第一理解整个决策的背景。
第二理解决策的制约因素。
第三,在你所精通的领域提供尽可能多的数据,从而在最大程度上降低小决策的不确定性。
第四呢,从你所精通的领域出发,为最终的决策做出建议,也就是拍个板。
第五,尽可能多的参与到决策、讨论中,了解其他领域的不确定性和受敛方法。
第六,无论最终决策是不是跟你建议的一致。
第要尽可能理解最终决策背后的逻辑。
第四呢之后的数月甚至是数年持续关注决策的后续进展。
反思你提供决议中那些缺失和判断的部分。
第八之后的数月,甚至是数年,关注其他领域后续的变化,思考最终决策的正确性。
注意呢不仅是要看最终效果,还要看判断决策逻辑和过程的对错,哪怕决策是对的。
那么其中呢有多少是靠运气呢?有多少是来自于对当前环境和未来趋势正确的判读。
如果判断错了,那么其中有多少是假设错了,有多少是方法错了。
如果你在一个相对开放和包容的文化环境中,如果你真的有实力,你应该被注意到,你也可以有机会通过上述的方法提升你的影响力。
那么接下来我们讨论一下CTO到底是做什么的?我做了六年的CTO,在这个岗位中呢收获了不少成长。
不过我对这个问题的思考呢,也一直在调整审视自己的定位和看法。
我先说一下我当下的结论。
Cto呢就是一个从技术视角出发,为公司做正确决策的CEO.怎么理解这句话呢?作为一个CTO呢,你的长期目标和决策优先级跟CEO呢是完全一致的。
只不过呢你是从技术视角来思考公司的生存和发展,而不是CEO所考虑的商业视角。
我在这个岗位呢时常会问自己,CEO现在要什么,长期要什么,我怎么做才能帮到他在技术视角上,我看到了什么机会和风险?他看到了吗?在CTO这个岗位上呢,你要关注整个市场的走向,竞争对手的增长,也要关注整个公司的经营状况,财务报表、技术团队的人力分配等等。
所以呢CTO的大多数时间都是在以技术视角和CEO思考同一个问题,那就是怎么为企业带来生存优势,以扩大企业生存优势来制定技术战略,是一个CTO的主要思考方式。
通过技术创造出生存空间,其实就是CTO的最大增值,也是它换取更多决策机会的最重要的资本。
这个视角呢有非常大的特殊性。
除了CTO这个位置之外,所有的技术职能,包括总架构师,都是以企业技术实力的增长为第一优先级的那CTO不是呢,它是以企业长期生存为决策的第一优先级。
通过这些分析呢,我们很自然的呢也能给出CTO的角色定义。
在软件架构这个上下文里,CTO呢是以扩大企业生存优势,为技术决策唯一目标的架构师,我们有必要呢做一个进一步的解释。
先看一个简单的案例。
假设呢你所在的行业竞争激烈,所在的企业呢还没有积累足够的资本和影领先优势。
有一天呢技术团队在讨论是不是应该采用云原生的架构来代替现有的方案。
从长期的技术发展发展角度来看,云原生呢会带来更好的计算伸缩性,更大的技术生态更先进和更快速。
Ll云原生呢会带来更好的计算收缩性更大的技术生态,更先进和更快速迭代的技术栈。
那么公司呢就应该把线下的机器迁移到云原生上,才能加速在云原生技术站上的积累,而且要立即规划和行动,才能尽早培养人才,积累技术优势。
但是呢从一个CEO的视角来看,有这么三点需要考虑。
第一呢做迁移会增加技术投入,降低业务的迭代速度。
第二,云原生的迁移带来的回报是一个当期且相对缓慢的释放过程。
在迁移的前期,由于周边技术不成熟,投入大,资本回报反倒小。
第三呢,也就是最重要的一点,迁移到云原生呢并不能给企业带来当下的生存优势。
而长期的生存优势呢跟云原生并不能是简单的证明关系。
所以从那个CEO的视角来看呢,对比其他更实用,也就是明确回报的技术投入。
云原生呢还不是一个最高优先级。
这个案例呢说明一件事情,作为CTO呢,你要站在CEO的角度上思考技术问题。
技术先进、性能不一定是首要目标,必须要从竞争视角出发,以公司的生存和长期成长为目标来做技术取舍。
在这个视角下呢,投入技术创新,加速技术壁垒的建设,放弃某项先进技术和某个团队,甚至寻找技术之外的选项,断臂求生都是非常合理的选择。
这呢就是我对技术战略的理解。
Cto这个能力呢其实就是人们常说的商业嗅觉。
只有商业嗅嗅觉足够好,才能知道怎么做技术战略,把最重要的技术放在最关键的位置上。
如果回顾一下我们关于技术战略的直播加餐,你会发现我做的技术战略都是为公司的业务增长服务的。
现在呢我们回到模块里的话题,那你需要跨越什么样的障碍才能在CTO这个位置上成功呢?其实我们前面的分析已经提到了,在软件架构这个话题上,CTO的视角的独特性在于技术不是第一优先级,也不是唯一的选项。
这种以商业视角而不是技术视角思考的方式,就是你必须跨越的障碍。
你可能问我,你是CTO,如果技术不是第一选项,那么你面临的肯定不是技术问题吧。
我给你一个重大的技术问题,但技术不是第一,也不是唯一选项的例子。
你就明白了,某个CTO呢管理一个跨国业务。
有一天呢,他的团队告诉他,我们收到了法务部门的通知,某某国家颁布了数据合规法令。
依照合规要求呢,我们需要在这个国家建数据中心,投入呢是五百人日,外加四百五十万美金的建设成本,以及其他为数不详的维护成本。
这个项目呢非常复杂,需要马上启动。
Cto听到汇报以后,没有批准任何技术语言,而是请政府关系的部门联系了当地的监管机构,还有律师事务所寻找不建设机房之外的其他选择。
继而的各种操作之后呢,机房不用建设了,不但省下了各种成本,也避免了系统复杂度的大幅提升。
这种在技术之外寻找解决办法的思维,是一个CTO所必须的。
但是呢这种思维呢却不是你我生来具备的。
我相信你和我一样,从摸到计算机的那一天起就爱上了他。
我们相信软件是无所不能的,所以才选择了这份职业。
我们被他吸引,为他着迷,为学习新技术或者调试代码而废寝忘食,最后呢成长为CTO.但是呢正是这份对技术的着迷,现在却成了你在CTO视角上的最大障碍。
在技术决策上呢,你必须学会放弃团队利益,放弃技术痴迷,甚至放弃技术好奇心,然后才能为公司做出最大化生存优势的决策。
那怎么才能帮助到CTO的思考呢?其实跟刚才讲的一样,你要在提升公司生存优势这件事情上给CTO最大的输入,同时最大程度的参与决策,提升自己的判断力。
具体方法呢跟刚才讲的一样,这里就不重复了。
不过呢,你可能问我了,那么你是介意我现在就放弃技术思维吗?错了错了千万不能放弃,我做了六年CTO了,到现在依然没有放弃技术思维,这是怎么回事呢?接下来呢就聊聊我的双重人格总架构师和CTO.在多数企业中呢,CTO和总架构师这两个角色是合二为一的,由CTO一个人肩负。
为什么呢?首先很简单呢,总架构师呢非常难找,公司对这个岗位的能力要求非常高。
总架构师在软件架构正确性的判断能力上,整个公司包括CTO在内,无出其右。
其次,这个岗位上的人才很难从内部培养出来。
因为这个角色呢需要通过许多高风险的决策机会呢才能提升判断力。
很多时间也是大多数中小企业所最稀缺的,然后呢是成本问题。
总架构师的职级呢薪酬很高。
从CEO的视角来看呢,要招聘的人才非常多为这个岗位呢。
付出高薪往往不是很多中小企业的第一优先级。
但有呢这两个角色是汇报关系,但是决策的出发点呢完全不同。
所以呢经常会发生冲突,发生冲突多了,姐姐会失去信任,长此以往呢难免分道扬镳。
最后呢总架构师的个人成长诉求,很多总架构师希望自己做CTO,在更多维度上做决策思考,一旦有机会,也会主动选择离开,很难招聘,很难培养又容易离开。
所以在大多数的公司呢,这两个角色必须由CTO一个人来承担了。
但是呢这两个角色对一个企业而言都是必不可少的。
我在文岗里放了一张图,你听完音频可以去看一下。
我也呢再来解释一下图里的内容。
在这张图里呢,假设你的CTO是最终的决策者,你呢有两个分裂的人格,一个呢是总架构式人格,一个呢是CTO人格,分别持有不同的视角和决策优先级。
对待任何一个问题呢,CTO的人格呢都要和CEO保持高度一致,以企业的生存为第一优先级,并且要兼顾到商业竞争、业务、财务和产品的视角。
而总架构式的人格呢必须以技术实力的增长为第优优先。
这两个人格呢要不断交分。
总架构式的人格呢,要把CTO这个决策者的视角更多拉到技术思维,维去去以技术先进性和技术团队的利益为先。
而企t的人格呢,又要把CTO这个决策者拉到商业思维上去,以企业的长期生存优势为先。
这种冲突势必存在于每个日常的决策中不断交分。
但是交分的最终目标只有一个,就是为企业的长期利益做出最优的架构。
决策。
总架构师的人格价值在于为CTO决策者提供了不同的视角,并且在必要的时候帮他顶住来自于CEO的压力,坚持正确决策。
而CTO人格的价值呢在于抵抗住来自内心对技术的痴迷和保护自己。
团队同学的本能为公司的全局做出最优决策。
必要的时候呢,技术先进性、团队利益和架构合理性都是可以牺牲的选项。
所以说呢做好总架构师呢,其实有一个必要条件,就是具备和CTO建立深度信任的基础,以及能够化解日常冲突的能力。
在频繁的冲突和信息不对称的情况下,做到这一点呢其实非常难。
所以呢我自己呢最终也同时选择保持两个分裂的人格了。
当然呢我也没办法呢在各个领域保持高的注意力,所以呢也在不断寻找和培养具备总架构师能力和CTO能力的人才,通过他们的判断力呢来弥补我的不足。
说到这里呢,我要提一下我自己依然在提升的一个能力,就后对各种压力下找到尽可能多的兼具优秀商业嗅觉和技术嗅觉,然且在企业利益优先的人才,然后把尽可能多的决策机会交给他。
如果你是管理者呢,我相信你会同意这一点的。
因为对人才的判断力才是任何一个管理者最重要的能力,能够相信尊重、容忍跟自己不一致的判断,而且能够在他判断失误的情况下,帮助他提升给他再次决策的机会。
这才是一个了不起的管理者,也是我长期努力的方向。
不过这是管理话题,不属于架构师成长的一部分,我这里呢就不再展开了。
好了,今天的内容呢就是这些,我们来总结一下。
今天呢我们研究了总架构师和CTO这两个角色在决策角度上的差异性。
总架构师的技术嗅觉呢非常重要,他呢要为整个公司的软件架构的合理性负责。
要面向未来的技术不确定性,做出正确的判断。
但CTO不一样,CTO的商业嗅觉更重要。
技术呢不是第一优先级,企业的长期生存才是他角色的第一优先级。
总架构师的存在也会对CTO的视角的判断呢形成补偿。
他呢会把整个公司的视角,更多的拉向技术先进性和软件架构的长期合理性上去。
所以呢想做好总架构师,就必须能和CTO建立深度的信任,并且能够很好的化解日常冲突。
你在当前职业发展的阶段下,能获取CTO或者总架构师的器重,对你的架构师成长很关键。
所以你呢你要靠提升自己决策建议的质量以及思考力。
当然呢你还要从技术视角上给他们最高质量的输入。
同时呢也要最大程度的参与整个决策过程,提升自己的判断力。
最后也要通过不断的反思来提升自己的判断力。
自此架构师的能力维度全部介绍完了。
那么在进入下节课之前,我想请你思考一下,你怎么看待这五个能力维度。
这个划分你认同吗?为什么你有什么建议吗?欢迎把你的思考和想法留在留言区,我会和你交流,也欢迎你把成课程分享给你的朋友。
同时呢我们一起进步,我也请你关注我的抖音号,郭东白。
好,我们下节课再见。