架构师训练营 - week1 - 学习总结
架构师的整体认识
架构师的职责可以认为是一座桥梁,架起沟通企业业务发展问题与信息技术解决方案的桥梁。
各个企业发出的架构师JD 时,首先企业会从自身业务实际需要出发,提出要求架构师能够承担的职责,从人的方面和从事的方面,共同推进信息技术系统的落地和稳定运行。期间具体的工作内容就在 JD 中的职位职责进行描述。接下来,企业对候选人能够胜任架构师职责提出要求,分别从经验和能力两方面说。经验主要是有相关工作经历,毕竟架构是一门实践技能,只有亲身经历过才能意识到重大问题,才会有可靠的解决方案。经验需要时间的积累。积累最终会在能力上体现出来。面对问题从容不迫。
架构师在人的方面作用,核心是沟通问题。对上管理者,自己负责的系统需要满足各个利益相关方的关注点,毕竟系统是为业务服务的,也是为人服务的;对下研发人员,需要指导和管理实际研发工作,要做到高效有序高质量的构建软件系统;对横向职能部门,既要提供帮助,也要能寻求帮助。
由以上认识,可以归纳下面几点:
架构师是工作职责的定义,而不是工作职位的定义。特别在小的软件公司,需要的架构工作是分散在每个研发身上的。要主动去做架构相关的工作,就可以获得锻炼,而不需要被动等待认证
架构的目标是解决软件系统复杂性的。这里有技术上事的复杂,也要人的复杂。如何能屏蔽技术复杂性和构建良好的研发沟通环境,是每个架构师所关注的
架构师的成长
架构师可以训练,架构却不能训练。
架构的思想可以学习,所以架构师可以被训练。但是每个架构师面临的系统不同,有的系统人的因素多,有的系统技术因素多。架构师只能不断的实践总结,去探寻最适合的解。
架构师的核心价值是:
第一个实现这个系统的人。他们在自己的头脑中已经把系统可能遇到的问题和对应的解决方案想好了
随时面对意外情况的人。当研发人员遇到没有见过的问题是,最终需要架构师提出解决方案
汇集各方共识的人。每个相关方都有自己的利益诉求,如何能把各方关注点进行平衡,最终在软件系统中落地,是对架构师最大的考验。
粗略的划分架构师需要的能力:
良好的编程能力
计算机基础技术掌握能力
常用技术和产品的理解与应用能力
系统问题定位和性能瓶颈分析与解决能力
常用架构模式与框架理解应用能力
建模与设计文档化沟通能力
快速学习能力
沟通与领导能力
架构的文档化
具体到架构师的成长,可以从写架构文档入手。
面对一个问题,把自己头脑中的设计落到字面上,用易于其他人理解的图形描述出来。写文档的过程也是不断反思设计的过程,多问自己几个问题:
面对这个系统,我当前的模块拆分是不是最优的,有没有两个模块过于耦合,是不是划分模块过于细小而研发部署成本巨大
如果出现某种变化,我的设计能否应对,是否很小范围改动就能适应。这种变化出现的概率大吗
有没有潜在的相关方的关注点我遗漏了,潜在相关方会成为这个系统成败的决定因素吗
总结
架构师的成长是有意识积累的过程,一个一个坑走过的过程。具体的技术会过时,但思想会延续迭代。架构师只能选择作时间的朋友。
版权声明: 本文为 InfoQ 作者【month】的原创文章。
原文链接:【http://xie.infoq.cn/article/160180d5641796eef063622dd】。文章转载请联系作者。
评论