一、背景
最近读了一篇非常不错的文章《我对技术架构的理解与架构师角色思考》。
非常推荐大家也读读。
文章是一篇站在顶层俯瞰架构师角色非常醍醐灌顶的文章,读过后,对于文章中架构师的核心能力、职责、挑战有了更加清晰的认识,下面捡关键点简单详细展开。
二、读后感
文中作者对技术架构的理解分为顶层设计、物理架构、应用架构,顶层设计十分重要,而有顶层设计意识才能开始思考这个问题,能做什么样的顶层设计,体现了这个架构师的Lever层次,顶层设计需要把“要做什么事要定义的非常清楚,要达到什么样的结果也要定义的非常清楚”,这样才能更好的指导他人开展工作,这是大规模系统建设的基础。物理架构主要是逻辑背后真实的结构,架构要想清楚将来的物理形态。应用架构个人认为也叫业务架构,做好业务边界划分,分工合作,以指导更多的人参与开展工作。
文中作者对架构师角色的讨论,首先提出干掉架构师,同时更多的研发承担架构师,个人认为这是精益思想在研发的体现,研发首先是在一线的,同时是要解决具体的问题的,而架构本身也是要解决具体业务问题,因此研发应当延展具备抽象技术问题,用架构思想解决实际的技术/业务问题的能力。架构师角色必备需要具有前瞻性,前瞻性首先体现在站在巨人肩上,学习前人的知识沉淀,这要求能够主动与前人沟通,了解他们“为什么要这么设计”,背后的背景和考量,同时要接触真实的业务方,包括上游、下游、合作伙伴,才能具备全局整体认识,个人认为全局是抽象的基石,是彻底解决问题的根。架构师角色专注于解决复杂问题,首先要会抓基本面,了解当前紧迫问题,以及应对问题的调整 ,能够用分层与加以拆分复杂问题。
文中对于架构师能力总结为三个方面,发现问题、分析定义问题、解决问题。发现问题不仅仅是要发现问题,还要发现未暴露的问题,对于一个问题要了解问题背后是什么,这一类问题背后是什么,并加以把具体问题抽象为一类问题,同时还要对问题具有基本的判断力,“哪些是需要治标,哪些需要治本”。分析定义问题也是必备技能,往往不缺解决问题的同学,但是缺定义问题的同学,将发现的问题,进行抽象和归纳,定义出问题的基本要素,同时定义出问题的短期和长期方案,推进技术的进步。解决问题关键在于制定问题的实施路径和解决方案,协同团队和上下游推进问题的解决,不能闷头做事,要多抬头,思考整体目标,问题定义是否有方向性偏差,及时调整实施路径和解决方案,真正做到切中问题点。架构师的解决问题往往体现在救火上面,但是但不仅仅是救眼前的火,更应该救未来的火,层层深入把整个链路打通看懂,深挖思考,可以结合“如果要解决得更彻底,还要做……”的句式加以套用。
文中也指出了架构师的挑战,首先是全局式的视角,具有全局视角才能开展顶层设计,将合适人与资源安排在合适的位置上面,将复杂问题拆分为简单具体可执行的实施路径和解决方案。技术广度要求架构师了解方方面面的及技术业务,并且真的是要去把玩,彻底了解透彻这些东西,同时也提示我们,当知识逐渐成体系,才有能力去消化和打通不同技术点背后的相关性。架构师要持续的学习,要了解业界最近在发生什么变化,这个领域最关键的项目和人在做什么;建议每天花 2 到 3 个小时去学习,首先学习与工作相关的东西,结合工作上抓下探形成体系。架构师对业务要有深入理解,业务、架构、技术要三位一体,才能成为一个优秀的架构师。最后是架构师要为结果负责,技术的先进性转化为业务的先进性,忘掉屁股,一方面 是忘掉自己,另一方面是排掉阻碍,架构师服务一家公司,应当带着使命解决问题,使命可以驱动提供遇山开道、遇水架桥——决心,及时协调,团结凝聚合力。
原文:https://mp.weixin.qq.com/s/GQZuxBw8mdWv67naal3PCg
来源:oschina
链接:https://my.oschina.net/u/4408224/blog/4941249