架构设计系列文章,请参见连接。
架构师定位:
在互联网上可以找到各种各样的架构师定义,就连各种权威组织对架构师的整体定义都是不一致的。所以,这里不对架构师应该是什么样的,怎样达到这样水平做评估。这里只是说明作者本人对架构师知识结构现阶段的理解。
本文限于作者本人的认识水平以及知识结构的影响,对整体架构师的认识和了解可能会不一致。如有任何不妥之处请高人不吝指教。
在互联网上搜索到各种个样的架构师,基本上可以总结为以下三种:
-
企业架构师(Enterprise Architecture):
EA关注于构建复杂的企业生态系统,并解决高层次的战略问题。企业架构定义了业务架构的战略方向,从而可以理解需要哪些技术设施来支持该架构。
这里最重要的是企业数字化的规划与实施能力。这个从某种角度来说是CIO的一种定义。CIO的工作包括:- 制订信息化规划:根据公司整体战略发展,制订IT战略规划、团队建设和业务计划,推动公司信息化建设,就信息化建设向公司提供专业的咨询、建议和规划方案;主持分析信息化需求,制定信息化建设行动计划和时间表;
- 部门管理与团队建设:负责信息中心的日常工作和部门建设;合理分配任务,决定人员分工;对直接下属进行工作指导、协调和考核评价;负责信息技术团队建设和管理,持续提升团队工作、质量和效率。协调部门内外部信息的及时的沟通,有效沟通业务、职能部门,提供IT技术服务支持。
按照上面对企业架构师工作的规划分析,企业架构师是从运维发展出来的职位。
-
解决方案架构师(Solution Architecture):
解决办法结构解决办法是一个完整的过程——与许多不同的过程——这是一个与企业问题与技术解决办法之间的联系。这是:
- 确定最佳的技术解决办法,尽可能解决现有的业务问题。
- 对结构、特征、行为和软件的其他方面提出建议。
- 确定的特点、阶段和解决办法。
- 提供有关解决方案的具体规定,以确定、管理和确定解决办法。
按照上面对解决方案架构师工作的分析,解决方案架构师从售前,产品,BA等职位发展出来的职位。
-
技术架构师(Technical Architecture):
技术架构师主要负责工程问题和软件架构。
从互联网上找到的技术架构师的定义基本上是这样的。但是,从某些角度来看这个定义不完善。从业务技术角度定义系统的由业务架构师、从存储角度定义系统结构的是存储架构师、从计算基础设计定义软件的是元计算架构师、从安全方面定义架构是安全架构师等等。都可以归在这一个层。
从上面可以看出,这些架构师的定义主要的影响是公司所处的行业特性。所以,这里借鉴某位高人的话:
每个人的知识体系都是不一样的,所以,不要以你的知识体系去限制别人。
也不用因为与别人的知识体系不同而自卑,想清楚自己的方向构建自己的知识体系即可。
保持开放的心态也是架构师所必须的^-^!
知识体系要点:
根据上面的结论,不要认为别人的知识结构就是好的。为自己选择方向构建出适合自己的知识体系才是最好的。可以说是非常好的"闻道有先后,术业有专攻,如是而已。--《师说》韩愈"的诠释。下面说明知识结构的几个要点:
-
不要拘泥于知识体系:
《微服务设计》:
规则对于智者来说是指导,对于愚者来说是遵从。——Douglas Bader
知识体系为我们创建了解决问题的可选集,这个可选集从一定角度来看不可能是完善的。例如:演进式架构?Clean Architecture?DevOps?大家都听说过,但是有哪位能说充分的理解了它?而且对它随着时间的发展,都有不同的理解。所以,过程中需要分析这些技术、过程、实现的思想,在遇到类似的问题的时候去指导其他事情的实践。
举一个简单的例子。在刚毕业那几年有幸接触到CMMI5,其中有两项现在还是印象深刻:量化,持续改进。现在作者本人可以把所有的事情都使用持续改进的思维方式去解决,生活中是否有很多不如意,装修老是有问题?生活总是很混乱?非常现实的问题,怎么做持续改进呢?
从软件过程的知识中衍生出对待生活,对待自己的方式。所以,我们学习的是"道",使用的才是"术"。
不要把做事停留在"器"的层面,要学习做事过程中的"道"。
-
可复制的、可传授的知识体系:
现在人们的思维方式都得到了很大的提升,社会也随着人们的思维方式提升得到了更多的发展。最简单的一个事项:现在人们都在想怎么帮助别人成功。虽然现在有些走偏,各种成功学、各种病毒式传播都是很不好的例子。也有很多很好的例子,例如:技术分享、付费知识等等。
但现在帮助帮助他人成功或者帮助他人成长的过程中,怎样去执行?将自己的知识体系化,系统性的与他人讲解?其实有很多方式,例如:云基础设施,就降低了企业运营软件系统所要成本。
在知识领域没有比较好的方式,因为每个人对事物的理解、解释都是不一样的。所以,最好的办法就是:
授人以鱼不如授人以渔 --《淮南子·说林训》
这也很符合马斯洛需求层次理论的描述。
-
知识体系是会随着时间发生变化的:
世间每时每刻都在发生这变化。随着对知识体系的利用,也会总结出对某一块知识的经验。随着这样的过程对原先的知识体系的认识就会发生变化。以这些经验总结出方法论,去充实知识体系。这样是比较良好的一种对待知识体系的方式,也会帮助个人持续的成长。
-
使用知识体系指导自己的发展:
正如上面这句话所说到的,在遇到陌生的事物的时候怎样去面对是一个问题。需要有方法指导即知识体系。
完整的知识体系会是对知识的一种整理过程,可以帮助创建知识体系的人了解自己,了解自己的知识体系。从而不断的将自己推进到更高的层次。
知识体系:
知识体系可以分为几个层次:个人能力层,外包能力层,解决方案能力层,咨询能力层。
从个人成长角度看会从底层能力成长上层能力。从企业方面,使用企业规划、实施方法去自上而下的完成。从整体上讲有了知识体系之后可以组织自己的知识,并得知自己的欠缺。既可以解决问题,还可以指导学习。
以整体的企业架构(EA)为主组合运营、咨询、《软件工程》中的内容形成整套的架构师知识体系。企业架构主要帮助架构师解决项目从哪里来,怎么来,怎么规划的问题。运营,咨询帮助进行辅助的工作支持。再辅以《软件工程》从需求->分析建模->架构模式->实现技术->安全->质量->运维。
架构师的知识体系里面"技术实现"是个人基础能力部分。就像很多文章都在讨论的《架构师是否应该写代码》的问题一样。架构师必须可以整体上把握系统的情况,还可以在细节上做把控。
内容简介:
-
重要内容:
- 企业架构模式;
- 分析建模;
- 质量;
- 运维;
- 设计模式。
规划和设计系统时必须的知识。
-
主要内容:
- 实现技术;
- 运营;
- 咨询;
- 需求;
- 管理。
项目实施、技术实现、技术咨询相关的知识。
-
持续完成:
- 持续改进;
- 持续成长。
持续的提升自己,团队,公司所需要的内容。
参考:
架构师:
成为跨领域的「解决方案架构师」需要什么素养?
Who is Solution Architect: Processes, Role Description, Responsibilities, and Outcomes
企业级架构师能力模型
方法论:
如何构建你的知识体系 - 书田
产品经理的势、道、法、术、器
企业架构:
IT战略规划项目方法论
软件架构模式