架构师:始于理性思考,成于科学实践——郭东白老师分享总结
一. 怎么做一个架构师
不迷信权威
英国皇家学会的座右铭:"Nullius in verba",即“不迷信权威,而是通过诉诸实验所确定的事实来证实所有的陈述”。https://royalsociety.org/about-us/history/
(软件)架构师的定义
https://en.wikipedia.org/wiki/Software_architecture
架构师的目标企业
架构师是一个分工后的角色,会对着多个研发经理、多个研发模块、多个研发领域。一对多的关系,表示了架构师和别人在关注不同的点。
核心价值
架构师的核心价值在于跨领域。
是否等于技术专家
完全不等同于技术专家,技术专家关注的是一个领域的深度,而架构师是跨多个不同的领域的不同视角来看事情。
是否每家公司都需要架构师
不是,小组织架构不复杂、设计不需要很复杂宏观整体设计需要协同,团队沟通很高效,发展目标也很明确。在时间跨度、组织跨度、领域跨度都很小,是不需要架构师的。
架构能力
虽然不是每家公司都需要架构师,但是我们每个人都需要架构能力。
架构师最需要具备的能力项是什么(有 7 点)
研发能力:比如要知道业务是怎么建模的,否则没有办法为研发人员做更复杂、跨团队的决策
处理横向问题的能力:规模化的能力,比如管理能力、成本、质量、安全等
长期思考:可扩展性、可维护性
技术衔接:架构师是看别人不在看的东西,比如前后端的衔接、业务和数据的衔接、业务人员和数据仓库和数据分析的衔接、业务到数据仓库到算法的衔接、技术解决方案的衔接(自建、开源、外采的衔接)
技术视野:
领域拓展:今天做一个业务,未来是怎么进入下一个业务的,具体的比如线上到线下的拓展、极客邦到极客时间的拓展等。
规模跨度:当第一曲线进入第二曲线(或前一个业务到下一个业务)时,是有一个规模跨度的,当规模跨度出现时,你要怎么确保原先的架构怎么在新的规模下是可使用的。可使用不等于跑起来即可,一个软件的复杂度超越它的目标用户是一个非常恐怖的事情。
时间跨度:现在好用的东西,一年后好不好用,三年后、五年后呢?至少目前 API 设计是非常稳定的,没有什么大的变化,这就代表了一个非常成功的设计。
剩下 2 个是非技术层面的能力
项目管理
沟通交流
架构师在做的事情
大多数时候是为其他工种补位,别人没做的你可以做,别人没想到的你可以想
架构师到底是深度重要,还是宽度重要?
大多数人不可能两样都做好,根据我的经验是先具有一个深度,是进入到一个行业的敲门砖,然后在多个领域拓展宽度。很多时候别人找你聊架构或者让你做这个岗位,是因为你在一个领域有了一定的深度。
能不能既要深度,又要广度?
至少目前不是一个很现实的情况。因为现在计算机这个领域里,每一个垂直领域,技术发展都太快了,比如算法、图形、DBA 基本没有共同语言。
技术到底做到多深才叫有深度?
深到获取额外的机会。比如 2B 业务的公司,它对并行计算、性能的要求没那么高,而你只要比你周围的人更懂一些或者做过一些性能的调优,你可能就是公司内的大牛了。而你成为大牛的过程就是你获取资源的机会,这些机会就使你能够去做架构实战了。只有实战了,才能真正的获得架构师的经验。
二. 怎么做一个优秀的架构师
什么叫优秀的架构师?
我没有标准答案,可以拿建筑设计师做一个类比,如果建筑非常 lasting,能长久地被人喜欢。一个优秀的架构师,要为组织创造出一个经得起时间考验的整体设计,且保证其交付。
什么是经得起时间考验的设计
任何一个架构都会随着时间增加,变得价值逐渐衰减,而如果你的设计比其他人的设计能够衰减的更慢,或者说你创造更持久的增量价值、更容易被维护,就是更好的、经得起时间考验的设计。
优秀的架构不是从书本上学来的,而是架构师持续学习后设计出来的的。
一个优秀的架构师是怎么创造价值的
架构师在软件、领域、业务纬度都是一对多的关系,架构师创造价值的地方也在这三个方面。
架构师和研发不一样,
架构师第一步是做整体设计
第二步是在多个领域中为组织做出创造出更高效的研发环境,怎么做呢?比如做某些形式的规范标准,研发规范、安全规范、统一的工具层、平台层、中台层等。
第三步要为企业的未来做布局,很多时候今天赚的钱不是今天的设计赚到的,而是更早之前的设计赚到的。
架构师分级
项目级(一个项目一个项目的做)、系统级、组织级(为组织的整体转型做设计)、企业级。
架构师最需要的素质是什么?
前两点都在说独立思考,一个人到底有没有思考力。
有眼光,有深度的业务理解,能够看到好的机会
善思考,有一定的技术视野,能找到正确的技术和组织设计
后两点都在说人的品质,是随着时间最重要的品质,如果只能记住一个,就是“有良知”
有良知,为人正直、选择做正确的事。如果没有这个素质,会让一家公司损失惨重
能感召,能够引导组织作出正确的决策。大多数架构师不是决策者,而是决策的建议者,架构师带着良知,引导组织作出正确的事情,是非常重要的。
怎么做好独立思考
再引英国皇家学会的座右铭:"Nullius in verba",这是一个理性思考,怎么找到真理的过程。怎么找到真理,普遍怀疑的习惯,包括你自己,
基于洞察和推理来思考,而不是基于权威来思考,很多时候、很多人是受到了权威的影响,而没有经过自己的思考,作出了错误的建议。架构师为什么背锅,要看他有没有顶住压力为组织做出正确的决策或建议。
怎么获取架构师的经验
在大公司给了你做深度的锻炼机会,要迅速获取深度;如果在小公司,要迅速获取广度。
什么环境是对架构师有利成长的
需要信任、授权、时间、资源这四样东西,少一样都很难做。做架构师难就难在,在一家公司同时获取这四种东西。
还需要一个企业文化:
包容,架构师不可能不犯错误,如果对错误不包容,架构师就不可能成长
求真,能够创造出相对轻松的交流环境,使得愿意理性思考、找更先进的模式能有发言的机会,并且他的发言会被认真的倾听。
为什么很多公司需要架构师
有的公司在某一个时间会做技术重构,在这个技术重构时需要架构师
之前没有架构设计,所以有架构师的成长环境,也很容易创造价值
三. 结语
成长首先来自于他自己的深度作为起点,再是获取的宽度,还应该有些好的素质,要有眼光、善思考、有良知和感召。
成长过程
第一是思考力的培养,是靠高质量洞察和对真理的追求不断的发现一个架构的过程
第二是感召力的提升,来自于良知和持续做正确的事。
最后送大家一句话:架构师的成长,始于理性思考,成于科学实践。
版权声明: 本文为 InfoQ 作者【青春不可负,生活不可欺】的原创文章。
原文链接:【http://xie.infoq.cn/article/a864dc3cfca5bfa0451b3a628】。未经作者许可,禁止转载。
评论 (2 条评论)