前段时间,看了车好多 CTO 郭东白老师在 QCon 大会的直播,内容主要是和国内广大技术人聊聊如何成为一个好的架构师,以及他对这个行业的感受和理解。郭东白引用 1620 年创立的英国皇家学会的拉丁文会训“Nullius in verba”来解释自己的理解,那就是:“别把任何的话照单全收,自己去思考真理。”架构师要有自己的思考能力。
那么可以想一下,公司为什么需要架构师,你需要到什么样的目标企业去做架构师?在当前这个分工明确的环境下,架构师的角色是什么?一个研发工程师可能只会关注某个软件模块,而架构师会对接多个研发经理或多个研发模块 / 研发领域,也就是说,架构师的核心价值在于他能够处理一对多的跨领域关系,他需要关注和别人不一样的东西。
跨领域能力
架构师和架构能力是两码事,任何架构师都需要有一定的架构能力,例如软件研发工程、数据库、云原生架构,包括算法,编程协同等等。此外还要关注跨组织和跨设计领域。架构师最需要的能力是什么?第一种能力很普通——研发能力,处理横向问题的能力,比如说成本问题,质量安全等问题。
还需要技术衔接能力,其实架构师是在看别人看不见的东西,比如说前后端之间的衔接,业务和数据的衔接,业务数据到数据仓库到算法,到整个数据链路的衔接,这就需要从架构师的视角来看。另外就是技术视野上,往往这是很多架构师也不一定具备的能力,比如领域拓展,今天在做一个业务,那未来怎么进入下一个业务?
还有时间跨度前瞻布局能力,一个技术、一个功能现在是好用的,但是在迭代速度特别快的互联网时代,架构是不是更强,API 设计是不是长久稳定等等,都需要架构师去考虑。
架构还有另外两个层面,一个是项目管理,另外一个沟通交流。
架构师其实是为其他工种做合理补位的,别人做不了的事情架构师可以做;别人没有思考到的,架构师可以去思考,这是架构师在创造的价值。也许有人会问,架构师到底是深度重要,还是宽度更重要?郭东白理解为,深度支持宽度。首先你必须有一个领域的深度,这是进入到一个行业的敲门砖,然后在多个领域上拓展宽度,正所谓的 T 型人才。那么到底多深才叫深呢?其实当你深到能够获取额外机会的时候,就足够深了。
优秀架构师要具备什么素质?
郭东白老师对架构师的素质,也可以说是品质,特别看重,他认为优秀的架构师应该具备四个方面的素质。
第一是:有眼光,什么叫有眼光?就是要有深度的业务理解,能看到好的机会;
第二是:善于思考,有足够的技术视野能找到正确的技术和组织设计,亦即独立思考能力;
第三是,有良知,这是一个架构师随着时间的流逝,沉淀在身上最重要的品质。什么是有良知?为人正直,选择做正确的事情。很多人是非常聪明的,业务理解能力强,技术实践丰富,但他不一定为公司或为组织做最正确的事情。有良知是非常重要的一个事情,如果架构师没有素质,他会让一家公司的损失很惨重。
第四是:能感召,能感招是什么概念?他要能够引导组织作出正确的决策,大多数架构师不是决策者,但他是决策的建议者,因为他是个决策的建议者,所以他的沟通能力,表达能力可以引导一个组织最终走向正确的选择,这也是架构师必须具备的素质。
其实郭老师提出的四个素质,也对应了文章开头提到的英国皇家学会的拉丁文会训“Nullius in verba”,它是一个求真的过程,追求理性思维的过程,它是一个长期持怀疑态度的习惯,但是怀疑对象也包括你自己。
同时,架构师要基于洞察和真理来推理思考,而不是基于一个单点观测,或者基于别人的权威的话来做决定,这就需要架构师正直、有良知,不屈服于权威的压力,去做一个错误的建议或者错误的推断。
“但行好事,莫问前程”的人不是好的架构师,这是从众行为。架构师正好反过来,是独立思考行为,是不断的怀疑,是批判思考的行为。
什么环境对架构师成长是有利的?
其实架构师是需要一个相对而言对架构师友善的环境。第一,架构师到底需要什么?一个架构师要成长,首先他需要信任,第二他需要授权,第三他需要时间,第四他需要资源,少一样都很难开展工作。
如果一个公司没有很系统的架构设计,对于架构师来说这是一个创造机会或者创造价值的场景,一开始的选择是很重要的。其次,架构师除了资源之外,还需要一个正确的文化,什么是正确的文化?郭老师将它称为“包容和求真的企业文化”,首先能包容错误;另外一个是求真的文化,企业能够创造相对宽松的交流环境,使得技术人愿意理性思考,能有发言的机会,且他的发言会被认真的倾听。
总结来说,一个架构师的成长,其实主要来自于他在这个领域的深度和宽度。而架构师的成长过程也是思考力培养的过程,是不断发现架构的过程,是靠着高质量洞察和对真理的持续逼近,也是一个循环的过程。
郭老师坚信,因为成功经验而不停的成功,可以给架构师带来信心和勇气,架构师的成长一定是始于理性思考,成于科学世界。