一线架构师独家秘籍:关于责任,能力与知识管理

  1. 云栖社区>
  2. 博客列表>
  3. 正文

一线架构师独家秘籍:关于责任,能力与知识管理

jurassic_1 2016-06-08 12:04:12 浏览2281 评论0

摘要: “唯有了解,才会关心,唯有关心,才会采取行动,唯有行动,才会有结果”。架构师需要承担设么样的责任,需要具有什么样的核心能力,有需要怎样的知识管理呢?本文来自一线架构师的独家经验分享,送给想成为架构师的你!

话说不想当架构师的程序猿不是好攻城狮,那么要想成为真正的软件架构师,成为能够为软件设计架构的技术领导者,你需要学会承担什么样的责任呢?又需 要什么样的核心能力和知识管理能力呢?本文中有着多年金融保险集团企业架构经验的一线架构师孔庆龙老师将为大家带来属于自己的独家架构经验秘籍。

 

文章正文:

 

1.架构师承担什么样的职责

 

记录片《黑猩猩的守护者》中珍妮·古道尔博士说过:「唯有了解,才會關心,唯有關心,才會採取行動,唯有行動,生命才有希望」,套用到架构师身上“唯有了解,才会关心,唯有关心,才会采取行动,唯有行动,才会有结果”

 

做架构师首先要知道自己承担什么样的角色和职责,之后才能构建自己的知识体系用于辅助决策和指导实施。不同的企业对架构师工作的要求不同,有些企业没有设置架构师岗位,相关工作有需求或开发人员承担,按照架构师所从内容侧重点不同架构师可以分为: 业 务架构师(Business Architect)、技术专项领域架构师(Domain Architect)、技术架构师(Technology Architect)、企业总体架构师(Enterprise Architect)、项目层面的技术架构师(JAVA架构师、 .NET架构师)。

 

2.架构师的核心能力

 

架构师的经验很重要,因为只有经历过才能更深入的理解痛点以及表面繁华背后需要填的坑,比经验更重要的是要具备深入思考的能力,时常对从事的专题领 域的进行经验总结,才能跳出本位看全局,不断提升自己的判断和分析的能力。


在做分析或经验总结时,一般采用结构化思维方法,首先梳理目标,清理目标与自己 或将来发展的关系;其次做现状分析,知道自己有什么、缺什么以及分析与目标的差距,眼下首要的任务是什么;再次是路线与措施分析,并制定保证有效执行的方 案;最后是下定决心以较高的执行力来实践。当然沟能力也很重要,在执行决策前,先与分析相关干系人的诉求,并协调其合作要比单纯的编程能力更为重要。架构师也需要具备一定的商业头脑,只有这样才能很好地理解企业战略目标,制定能够赢的技术路线与之匹配。

 

以传统企业几年前的服务整理为例,目标:改善现在的无序现状,建立服务及交易标准,构建符合企业发展需要的SOA服务平台,为业务的灵活多变提供支撑;现状: 企业开业多年积累了大大小小几百个系统,因为建设之初上线时间卡的比较紧,大部分是采购成熟的基于垂直架构体系的商业套件,长期下来系统如烟囱一样一个一 个建立,为了解决信息孤岛,采用了系统集成方案,在执行过程中因为接口缺少统一管理,系统边界、模块间之策不清。运维过程中需要相关或无关的人员一起参与 进来才能定位问题,问题排查慢、耗费大量人力。眼下最重要的是先建立服务及交易规范,规范新建系统对接,并指导历史系统改造。路线:如何执行是需要好好规划的,如下图“面向SOA的企业架构”就是执行前需要考虑的方方面面:
684808b6c4a949efe614a9128dba39dea6e13f4b



考虑导企业已经积累了大量接口的,接口改造和测试耗费巨大周期长,而且部分系统是外包的源码控制力弱,目前团队人员等因素,需要分阶段执行。第一阶段,通 过统一的服务总线和监控平台实现交易的监控, 比较适合企业现状,选择比较成熟的产品加经验丰富的实施商(ps:根据以往经验有的时候,有经验的实施商比产品重要),进行交易线服务接入接出规范制定并 进行服务接入;第二阶段,深入服务治理,一些基础服务下沉为平台、流程服务归入BPM、提高可管理性为服务主动管理和预警提供有效手段。
 

e3b4dfd965a4b4d1587ea630ae0a7163aaaba5f3

3.架构师的知识管理

 

架构师的知识面很广,需要快速的学习知识、快速的掌握并运用、经常将知识沉淀为经验并分享给伙伴、督导团队执行并创新。


关于如何构建自己的知识体系建议:(1)保持好奇心和阅读习惯坚持做笔记、(2)深入思考问题背后根源,学习和掌握方法论、(3)经常与人交流或查看牛人博客、(4)经常总结并分类 管理与分享。

 

下面的表格是几年前在没有使用APM类监控工具时人工排查问题排查列表,“知识积累部分”就是用来对常见问题进行分类保存,并时常归纳总结,经验是最好的老师。
                                   

 

 

编号

检查项目

检查人

工具

处理办法/

正常参考值

检查结果

第一步:

分解问题

客户端环境

1.1

 

 

 

 

 

网络环境

1.2

 

 

 

 

 

通过问题分解确定是不是问题?如果是问题再进行下面的问题跟踪分析过程

第二步:

问题跟踪分析

硬件资源

2.1

 

 

 

 

 

中间件

2.2

 

 

 

 

 

应用

2.3

 

 

 

 

 

数据库

2.4

 

 

 

 

 

第三步:

问题处理

中间件/应用

3.1

 

 

 

 

 

数据库

3.2

 

 

 

 

 

第四步:

问题解决确认

环境问题

4.1

 

 

 

 

 

版本问题

4.2

 

 

 

 

 

外部接口问题

4.3

 

 

 

 

 

数据库问题

4.4

 

 

 

 

 

第五步:

知识积累


 

 

 

 

 

 

                                 

PS:《你的知识需要管理》中对知识管理的五部分:学习,保存,共享,使用,创新,有深入的介绍。

 

4.架构师的问题解决能力

 

专业主义,架构师的好奇心比较强,喜欢解决问题。然而做技术容易先入为主,会觉得技术重要性第一,比方下面的故事:

“你所在的项目接到一个新的接口开发需要,作为架构师你如何处理?”

不要往下看,先考虑下……

建议的思维方式:要不要做、应该谁来做(涉及到系统边界问题)、如何做、什么时候做合适、做了对将来有什么影响……等。作为技术管理者,架构师应在不同的场景内跳入、逃出,大格局着眼,细节入手,并时时总结,尽量规避先入为主的执行思维(如:首先考虑使用协议、接口规范、如何执行、要多久才能完成、如何规避风险……等)。

架构师,特别是一线架构师经常会作为技术专家来支持问题的解决,下面是以往问题经验的总结:

84de6dfd84cdfa924e60aa181af0b933adbf34fa

5.对传统企业上微服务的看法

 

避免新瓶装旧酒,综合考虑组织架构和团队技术水平,企业文化等因素,如果企业的服务治理还在初级水平,那么还是先着手解决眼下关键问题。如果想大胆创新,那么一定要做好规划分析——因为新技术不只解决问题也会带来很多新的问题。


6937e639c70a6077c9c0d9d1809daf045fcb0bf2

 

6.推荐书籍

 

《简单逻辑学》、《知道做到》、《你的知识需要管理》、《架构即未来》、《企业应用架构模式》、《软件架构师应该知道的97件事》、《代码大全》



                                                    中生代技术分享群微信公众号

                                                da9312524921e637b684eed7bf3249db58f7badc

本文作者  孔庆龙

【云栖快讯】阿里云栖开发者沙龙(Java技术专场)火热来袭!快来报名参与吧!  详情请点击

网友评论