软件架构师的四个层级学习之路

大家都知道SEI的CMMI认证,很少人了解SEI另一个认证领域是软件产品架构认证。除了CMM/CMMI培训之外,SEI最火的培训是他们的软件架构培训。当年我曾将其推荐给多家客户,也建议一些有能力的咨询师去SEI获得软件架构评估师的资质。可能是我带货能力不行,几乎没看到有人行动。最近看到一篇Gregor Hohpe的博客文章,推荐一些软件架构书籍,觉得颇有参考价值。他没有走所谓“top 10”的俗套,而是根据个人经验,自底向上,从单个模块到大的场景(context)给出了一条软件架构师的四个层级学习之路。有志于成为软件架构师的同学,可以从低向上阅读,付诸实践,通过自己的努力成为自己领域的大咖。

 

层级1:模块级

 

    单个模块设计时,架构师应注重好的编码和设计实践,下面四本书,从具体到抽象能对你有所帮助。Clean Code:Bob大叔这本书,估计大家都比较熟悉,他给出了许多基本方法,帮助你写出好的、整洁的代码。Refactoring:另一本广为人知的书,Martin Fowler揭示了好的软件不是一蹴而就的,需要不断的优化,重构,你可以把这本书当成一本设计书来读。Design Patterns:Gamma等人写的这本书堪称经典,虽然读起来有些抽象,如果你能熟练掌握应用一些设计模式,你的设计平衡能力一定会有提升。Pattern-oriented Software Architecture:这本书我没有读过,它给出了更广泛的软件架构模式。

 

 

1.png


层级2: 关联模块级

 

    稍微有点意思的软件都不大可能在独立隔离环境下运行,所以如何整合模块功能是架构设计重要的能力,下面四本书在这个层级会对你有帮助。 Building Microservices:这本书其实是关于分布系统架构平衡的书,对想成为架构师的同学非常重要。Fundamentals of Software Architecture:这本书覆盖了许多内容,亮点是模块化思维和架构风格,教你如何把不同的东西整合到一起。Enterprise Integration Patterns:17年的时间丝毫未损这本书的价值,其中的例子(网上可以看到)会让你受益不浅。Pattern-oriented Software Architecture 4:大概是分布系统设计内容最全的书。

 

2.png 

 

层级3: 系统级

 

    这个层级我们把视角从一棵棵树转向整个森林,这个层级不乏优秀之作。 Just Enough Software Architecture :George Fairbanks这本书属于难得的一本相对通俗易懂的书,应该出现在每一个架构师的必读书单上。Software Systems Architecture:700页的大头著作有许多真知灼见,希望你有耐心把 Nick和 Eóin的书看完。Thinking in Systems:系统思维和复杂系统理论是系统设计的基础,一本书肯定不会解决你的全部问题,但Donella Meadows的著作可以把你带进这个领域。The Model Thinker:比较难读的一本书,模型为主的思维是优秀架构师应有的武器,如何把一些数学描述的模型在你脑子里转换成软件系统工程是一件极具挑战的事,所以这本书也应放入架构师的必读榜单。

 

3.png 

 

层级 4: 场景级

 

有经验的架构师都知道系统设计不是故事的全部,架构都出现在具体场景中。对场景的理解能力区分对架构师来说也是至关重要,场景应该是架构师的顶层级。  Technology Strategy Patterns:Eben Hewitt这本书简直是架构咨询师的宝物,它涵盖了大量架构师碰到的问题。The Phoenix Project/The Unicorn Project :  Gene Kim的姐妹篇帮助你理解业务和IT的关系以及常见的问题场景。十几年前和Gene打过一些交道,那会儿他还在做信息安全的事,没想到不仅跨界,而且成绩斐然。The Software Architect Elevator:这是Gregor Hohpe的私货,举贤不避嫌,他称这本书能够帮助架构师理解技术外对组织的影响考虑因素。

 

 

4.jpg 

 

    软件架构还有许多有价值的书,下面的链接给出了202本架构书,学无止境,通过四个层级的路径,有志于成为软件架构师的同学可以通过学习这些书进入这个领域,有一个初步的全面理解,在实践中不断学习,成为你们组织内部不可缺的大拿。

                        

https://handbookofsoftwarearchitecture.com/books/


 



原文转自公众号 丛斌博士   老丛讲桌 


点击关闭
  • CMMI认证客服

    CMMI3认证客服

    CMMI咨询

    CMMI4认证