架构训练营第一周学习小结
知识脉络
本周从市面上的招聘简历开始,分析企业在招聘软件架构师的时候,需要架构师来解决那些问题,需要具备那些能力。后续就系统介绍了架构师的主要职责和相对应的能力要求。然后从软件架构的定义出发,分析什么是软件架构,如何做软件架构。这里主要的方法论是4+1视图模型和使用UML进行软件架构设计与建模。最后则是给出一份参考的软件架构设计文档,供后续的实际工作运用。
个人觉得比较核心和关键的知识点摘录如下:
架构师的主要职责
编写架构设计文档
开发编程框架
重构软件代码
设计系统架构
进行技术选型,解决技术应用中的问题
优化系统性能
模块分解与微服务架构重构
保障系统安全与高可用
大数据应用
技术创新
沟通管理
架构师主要能力
编程能力
基础技术掌握能力
常用技术产品的理解和应用能力
性能优化与分析故障能力
常用架构模式与框架的理解和应用能力
建模以及设计文档的方法和能力
业务理解与功能模块及非功能模块拆解能力
快速学习能力
沟通与领导能力
个人感悟
作为一个在一线编码满十年的老兵,对于架构师这个title不算陌生。事实上,从5年前开始,自己就或多或少的在做这个架构师的工作。无论是新系统的架构设计,还是老系统的重构,自己都有不少经验,架构图和ppt也画过不少,也定制过不少编程框架。从经历上来说,确实是做了很多架构师应该做的工作。不过,虽然个人已经做了很多架构的事情,我却总是觉得,自己不算是一个合格架构师。架构师肯定是比我牛的人,上能写PPT搞定老板,下能撸框架征服码农。但是架构师具体要做些什么,怎么样评价架构师工作的好坏,从来没有人告诉我。所以这次的架构师训练营,给了我全新的视角,认识架构师这个工作的定位,了解架构师的职责,以及架构师的能力习得方法。
架构这个词,我一般跟建筑业找类别。对于一栋建筑来说,所谓的架构设计,指的是建筑的结构设计,包括外观和功能划分。建筑方案一旦确定,后续的实际建造就是依据架构方案进行建造。这个过程其实和软件开发很像,也是先有设计方案(架构方案),然后软件实际落地实施。但是两者也有很明显的区别,得益于现代敏捷开发理念推广和开发配套工具的成熟,软件开发的迭代速度越来越快,业务方向的变化也越来越频繁。大鱼吃小鱼的商业模式被快鱼吃慢鱼取代,导致所谓的架构设计工作被严重弱化,甚至很多互联网公司就直接没有。还有大中台小前台,FAAS各种新的技术,冲击传统的软件架构设计方案,让人怀疑,是否还需要花大量的精力来设计一个架构方案和组织实施落地。这个问题,李老师也在课程里面提到了。公有云以及相应的开发能力虽然可以快速让一个系统落地,但是随着系统的用户规模指数增长,业务也会复杂到某种程度,这个还是需要架构师接入,进行业务的梳理和系统重构。所以从软件的整体生命周期来看,架构师还是软件开发的必须具备的。
版权声明: 本文为 InfoQ 作者【李日盛】的原创文章。
原文链接:【http://xie.infoq.cn/article/bec19f9bf9a895608fd04ee1d】。文章转载请联系作者。
评论 (1 条评论)