《软件工程之美》材料地址:https://time.geekbang.org/column/article/91312
什么是架构师思维?
指的是要具备良好的抽象思维、分治思维、复用思维和迭代思维。
架构师能力模型
- 有架构师思维:具备良好的抽象思维、分治思维、复用思维和迭代思维;
- 懂业务需求:能很好地理解业务需求,能针对业务特点设计好的架构;
- 有丰富的编码经验:像抽象、分治、复用这些能力,都需要大量的编码练习才能掌握;另外保持一定量的编码经验也有助于验证架构设计;
- 良好的沟通能力:架构师需要沟通确认需求,需要让团队理解架构设计。
如何成为好的架构师
- 首先需要要成为一个优秀的程序员,
- 然后多模仿、多学习好的架构设计,
- 最后还要早点选择好行业和平台,积累好行业的业务知识,借助平台获得大量的实践机会。
我的留言:
讲到架构,我想先得谈一下康威定律。康威在1967年曾说过,“Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations.”通俗地说,就是组织形式等同于系统设计。所以系统架构设计的进化,是和组织形式的变化结合的。从ITIL来说,BIA,(business IT alignment)是IT的核心,所以充分认识组织的业务模式和运营方式,才能让架构师设计出适合于企业的系统架构,架构设计的最高境界就是适合企业业务的运营。从单体架构到微服务架构,从前后端分离到中台,都是架构适应业务(功能与非功能需求)的体现。所以架构师首先必须要有业务思维、产品思维。TOGAF把企业架构分成业务架构、应用架构、数据架构、技术架构四个子域,我觉得相当全面。
从程序员开始,如果能培养好老师讲的架构师能力模型中的四个思维和三个能力,我们可以给自己规划出一个架构师的成长路径,从单个业务应用开始,然后扩展到一个业务领域,最终到达企业架构师,甚至成为跨企业应用架构师的境界。
老师回复: ?谢谢你从组织架构维度的补充,组织架构和系统架构确实是相辅相成的关系,例如像微服务,一个拆分的原则就是看组织架构要不要细分,否则并不一定要分拆成微服务的架构。