架构师,程序员追求的最高title。
那么想成为一名架构师,就会出现一系列的疑问:
什么是架构师?
怎么才能成为架构师?
优秀架构师需要哪些素质?
之前根据《郭东白的架构课》总结了《成为首席架构师的打怪升级之路》[1]。这也是郭东白对架构师的思考之路。
其实在2021年5月28日的Qcon软件大会上郭东白就做了一场主题是《如何成为一名优秀的架构师》演讲。相当精彩。特地找到PPT,学习一下。可惜是没有找到完整的演讲视频。
架构师:
1)a person engaged in the design of certain large constructions. -- dictionary.com
设计人员从事某些大型建筑物设计的人
2)a person who designs and guides a plan or undertaking. -- Merriam-Webster
设计和指导计划或事业的人。
在之前的总结文章中,其实都没有给出架构师的定义,只是说比普通程序员更牛的程序员,以前提出了“技术+影响力+领导力”的能力模型。
而郭东白给出了一个更确切的定义:
具备架构能力的人。
架构能力是指为相对复杂的场景设计并引导一个或多个研发团队,来实施结构化软件系统的能力。
对于任何一家公司,架构设计永远是必要的。
其实在很多公司,架构师职位是有职无岗的,就是有架构师职责的需要,但不会独立设置架构师的岗位。很多时候都是由TL兼任。
一个优秀的架构师应该具备对软件做出正确的设计和决策的基本能力,在做这些决策时往往需要考虑很多限制条件,如:时间成本、人力成本、资金成本、范围要求、质量要求、组织结构等,架构师从来不是独行侠,他是上承需求,下接实现的一种角色。
总结一下就是要有工程化思维。
这些能力,从硬实力再到软件实力,一条也不能落下。
能力范围从普通研发到兼职架构师,再到全职架构师,层次递增。每一个层次需要关注哪些?可以翻看《成为首席架构师的打怪升级之路》。
对于能力攻关,是先宽度再深度,还是先深度再宽度?
建议先深度再宽度,这样可以一通百通,没有深度是谈不上宽度的。
第一是:有眼光,什么叫有眼光?就是要有深度的业务理解,能看到好的机会。
第二是:善于思考,有足够的技术视野能找到正确的技术和组织设计,即独立思考能力。
第三是,有良知,这是一个架构师随着时间的流逝,沉淀在身上最重要的品质。什么是有良知?为人正直,选择做正确的事情。很多人是非常聪明的,业务理解能力强,技术实践丰富,但他不一定为公司或为组织做最正确的事情。有良知是非常重要的一个事情,如果架构师没有素质,他会让一家公司的损失很惨重。
第四是:能感召,能感召是什么概念?他要能够引导组织作出正确的决策,大多数架构师不是决策者,但他是决策的建议者,因为他是个决策的建议者,所以他的沟通能力,表达能力可以引导一个组织最终走向正确的选择,这也是架构师必须具备的素质。
这几点,可以对应上前面的能力模型:技术、影响力、领导力。但这四点总结得更完善些
1、眼光其实就是业务,有了业务理解深度,才能知道价值点,进而通过影响力发挥价值
2、思考是根本,不管是对技术,还是业务。这是第一源能力
3、良知是德
4、感召力,对应领导力,能引导他人一起走向正确的选择
对于思考能力,再补充点,业务理解是什么?什么是业务理解不够?
架构师的价值创造来自于独立、理性的、有深度的思考。从技术视角看业务,从业务中发现技术机会。通过复盘发现思考漏洞,提升思考质量。
讲一个技术人做业务理解,是在技术视角往上看到业务,从技术视角理解业务叫业务理解。
并不是一个做业务的,把业务怎么做说的很详细,没用,要从技术视角看到对业务的理解,同样,技术洞察,从业务视角反过来看技术,找到洞察,这才是要的洞察。
技术做技术的洞察,业务做业务的思考,这两个完全是割裂的。
架构以及架构师,是程序员奋斗的事业和目标。所以虽然已经总结过很多篇文章,但还需要不时从高手那儿不停地吸取和反复思考。这是一个持续过程。现在有,未来还有。
通过不断地思考架构的本源和架构师的价值,成为一名德才兼备的优秀架构师。
[1]
《成为首席架构师的打怪升级之路》: https://www.zhuxingsheng.com/blog/the-way-to-become-the-chief-architect.html
[2]
基于"如何成为一名优秀的架构师"的分享总结: https://blog.llyweb.com/articles/2021/07/15/1626346284718.html
[3]
QCon大会官方PPT下载(源PPT下载): https://ppt.infoq.cn/list/qconbj2021
[4]
InfoQ官方视频合辑(可能有视频上传): https://www.infoq.cn/video/album