架构师知识体系分享

架构师定位:

在互联网上可以找到各种各样的架构师定义,就连各种权威组织对架构师的整体定义都是不一致的。所以,这里不对架构师应该是什么样的,怎样达到这样水平做评估。这里只是说明作者本人对架构师知识结构现阶段的理解。

本文限于作者本人的认识水平以及知识结构的影响,对整体架构师的认识和了解可能会不一致。如有任何不妥之处请高人不吝指教。

在互联网上搜索到各种个样的架构师,基本上可以总结为以下三种:

架构师

  • 企业架构师(Enterprise Architecture):

    EA关注于构建复杂的企业生态系统,并解决高层次的战略问题。企业架构定义了业务架构的战略方向,从而可以理解需要哪些技术设施来支持该架构。
    这里最重要的是企业数字化的规划与实施能力。这个从某种角度来说是CIO的一种定义。CIO的工作包括:

    1. 制订信息化规划:根据公司整体战略发展,制订IT战略规划、团队建设和业务计划,推动公司信息化建设,就信息化建设向公司提供专业的咨询、建议和规划方案;主持分析信息化需求,制定信息化建设行动计划和时间表;
    2. 部门管理与团队建设:负责信息中心的日常工作和部门建设;合理分配任务,决定人员分工;对直接下属进行工作指导、协调和考核评价;负责信息技术团队建设和管理,持续提升团队工作、质量和效率。协调部门内外部信息的及时的沟通,有效沟通业务、职能部门,提供IT技术服务支持。

    按照上面对企业架构师工作的规划分析,企业架构师是从运维发展出来的职位。

  • 解决方案架构师(Solution Architecture):

    解决办法结构解决办法是一个完整的过程——与许多不同的过程——这是一个与企业问题与技术解决办法之间的联系。这是:

    1. 确定最佳的技术解决办法,尽可能解决现有的业务问题。
    2. 对结构、特征、行为和软件的其他方面提出建议。
    3. 确定的特点、阶段和解决办法。
    4. 提供有关解决方案的具体规定,以确定、管理和确定解决办法。

    按照上面对解决方案架构师工作的分析,解决方案架构师从售前,产品,BA等职位发展出来的职位。

  • 技术架构师(Technical Architecture):

    技术架构师主要负责工程问题和软件架构。

    从互联网上找到的技术架构师的定义基本上是这样的。但是,从某些角度来看这个定义不完善。从业务技术角度定义系统的由业务架构师、从存储角度定义系统结构的是存储架构师、从计算基础设计定义软件的是元计算架构师、从安全方面定义架构是安全架构师等等。都可以归在这一个层。

从上面可以看出,这些架构师的定义主要的影响是公司所处的行业特性。所以,这里借鉴某位高人的话:

每个人的知识体系都是不一样的,所以,不要以你的知识体系去限制别人。

也不用因为与别人的知识体系不同而自卑,想清楚自己的方向构建自己的知识体系即可。

保持开放的心态也是架构师所必须的^-^!

知识体系要点:

根据上面的结论,不要认为别人的知识结构就是好的。为自己选择方向构建出适合自己的知识体系才是最好的。可以说是非常好的"闻道有先后,术业有专攻,如是而已。--《师说》韩愈"的诠释。下面说明知识结构的几个要点:

  • 不要拘泥于知识体系:

    《微服务设计》:

    规则对于智者来说是指导,对于愚者来说是遵从。——Douglas Bader

    知识体系为我们创建了解决问题的可选集,这个可选集从一定角度来看不可能是完善的。例如:演进式架构?Clean Architecture?DevOps?大家都听说过,但是有哪位能说充分的理解了它?而且对它随着时间的发展,都有不同的理解。所以,过程中需要分析这些技术、过程、实现的思想,在遇到类似的问题的时候去指导其他事情的实践。

    举一个简单的例子。在刚毕业那几年有幸接触到CMMI5,其中有两项现在还是印象深刻:量化持续改进。现在作者本人可以把所有的事情都使用持续改进的思维方式去解决,生活中是否有很多不如意,装修老是有问题?生活总是很混乱?非常现实的问题,怎么做持续改进呢?

    从软件过程的知识中衍生出对待生活,对待自己的方式。所以,我们学习的是"道",使用的才是"术"。

     不要把做事停留在"器"的层面,要学习做事过程中的"道"。

  • 可复制的、可传授的知识体系:

    现在人们的思维方式都得到了很大的提升,社会也随着人们的思维方式提升得到了更多的发展。最简单的一个事项:现在人们都在想怎么帮助别人成功。虽然现在有些走偏,各种成功学、各种病毒式传播都是很不好的例子。也有很多很好的例子,例如:技术分享、付费知识等等。

    但现在帮助帮助他人成功或者帮助他人成长的过程中,怎样去执行?将自己的知识体系化,系统性的与他人讲解?其实有很多方式,例如:云基础设施,就降低了企业运营软件系统所要成本。

    在知识领域没有比较好的方式,因为每个人对事物的理解、解释都是不一样的。所以,最好的办法就是:

    授人以鱼不如授人以渔 --《淮南子·说林训》

    这也很符合马斯洛需求层次理论的描述。

  • 知识体系是会随着时间发生变化的:

    世间每时每刻都在发生这变化。随着对知识体系的利用,也会总结出对某一块知识的经验。随着这样的过程对原先的知识体系的认识就会发生变化。以这些经验总结出方法论,去充实知识体系。这样是比较良好的一种对待知识体系的方式,也会帮助个人持续的成长。

  • 使用知识体系指导自己的发展:

    正如上面这句话所说到的,在遇到陌生的事物的时候怎样去面对是一个问题。需要有方法指导即知识体系。

    完整的知识体系会是对知识的一种整理过程,可以帮助创建知识体系的人了解自己,了解自己的知识体系。从而不断的将自己推进到更高的层次。

知识体系:

架构师知识体系

知识体系可以分为几个层次:个人能力层,外包能力层,解决方案能力层,咨询能力层。
从个人成长角度看会从底层能力成长上层能力。从企业方面,使用企业规划、实施方法去自上而下的完成。从整体上讲有了知识体系之后可以组织自己的知识,并得知自己的欠缺。既可以解决问题,还可以指导学习。

以整体的企业架构(EA)为主组合运营、咨询、《软件工程》中的内容形成整套的架构师知识体系。企业架构主要帮助架构师解决项目从哪里来,怎么来,怎么规划的问题。运营,咨询帮助进行辅助的工作支持。再辅以《软件工程》从需求->分析建模->架构模式->实现技术->安全->质量->运维。

架构师的知识体系里面"技术实现"是个人基础能力部分。就像很多文章都在讨论的《架构师是否应该写代码》的问题一样。架构师必须可以整体上把握系统的情况,还可以在细节上做把控。

内容简介:

  • 重要内容:

    1. 企业架构模式;
    2. 分析建模;
    3. 质量;
    4. 运维;
    5. 设计模式。

规划和设计系统时必须的知识。

  • 主要内容:

    1. 实现技术;
    2. 运营;
    3. 咨询;
    4. 需求;
    5. 管理。

项目实施、技术实现、技术咨询相关的知识。

  • 持续完成:

    1. 持续改进;
    2. 持续成长。

持续的提升自己,团队,公司所需要的内容。

最后给大家推荐一个BAT架构技术交流群:957413713  ,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,相信对于已经工作和遇到技术瓶颈的码友,在这个群里会有你需要的内容。

点击链接加入群聊【BAT架构技术交流群】:https://jq.qq.com/?_wv=1027&k=5XRbSdL

猜你喜欢

转载自blog.csdn.net/qq_43148017/article/details/87633346