code学习

架构师成长路线

想一两句话把什么是架构师讲清楚,是非常困难的一件事。因为架构师这个角色是致力于解决高度复杂抽象的问题,所以架构师的定义也是复杂抽象的。

但并不代表架构师的定义无法被解释清楚,我们需要多花点时间,从各个角度来解读架构师。

通俗地解释下什么是架构师

大白话的解释就是,软件产品的设计师。架构一词最早源于建筑学,软件工程的架构师与建筑工程的架构师有非常多的相通之处,都是负责“产品”的宏观层次设计。

他人眼中的架构师

在老板眼中,架构师是一名技术领导者,带领团队攻关疑难问题。

在业务方眼中,架构师是一座业务与技术的桥梁,填平业务与技术的鸿沟。

在研发团队眼中,架构师是一位导师与布道者,是大家学习的榜样。

在项目组眼中,架构师是团队的灵魂支柱,再困难的问题,抽丝剥茧后,也能变成小问题。

在外行人眼中,架构师是年薪百万的牛人,但为何如此,摸不清门道。

架构师服务的客户是谁?为客户提供什么价值?

  • 第一类客户是需求人员(大多时候是产品经理,有时直接面向商家)。架构师需要不断和需求人员沟通,协助需求人员挖掘出客户的本质需求,保证需求质量。
  • 第二类客户是研发人员。架构师需要将复杂的业务问题和目标,抽丝剥茧后,转换为技术设计语言(应用、模块、包、代码、API、数据库表等),指导研发人员顺利落地;出现技术争议时,在业务价值与技术实现间做好平衡。
  • 第三类客户是业务决策者,架构师需要为重大业务规划提供的技术演进方案与成本预估,帮助决策者做出正确决策。

架构师的日常工作

  • 领导重大项目,攻关疑难问题,确定项目的架构方案和技术选型。
  • 制定研发标准和规范:编码标准,工具规范,评审流程,测试方法等。
  • 将架构方案和决策文档化,和团队沟通,并推行自己的架构主张。
  • 把高层的业务目标变成可落地的技术规划和解决方案。
  • 检查、评审他人的技术方案。
  • 和其他架构师、利益相关者沟通协作。
  • 为团队澄清复杂问题、指导研发人员、解决技术冲突等。

架构师的种类

业界对架构师并没有统一的分类标准,推荐这两种分类方式:

从宏观到微观的角度划分:

企业架构师:决定整个公司的技术路线和技术发展方向,有些公司也会称为首席架构师,实际上这个角色已经无限接近于CTO了。

系统架构师:负责整体系统的架构设计,着眼全局,不太注重某个应用本身的架构,而是各服务、各系统间的协作上,更加关注如何综合运用已有的产品和技术,来实现客户期望的业务模式。系统架构师要求通晓业务、软硬件技术等多项知识,对知识的全面性要求很高。

应用架构师:负责某个应用的技术架构,主要偏业务型应用,关注理解业务,梳理模型,设计模式、接口、数据交互等方面,同时也需要关注服务器负载、可靠性、伸缩性、扩展性、数据库切分、缓存应用等方面的基础架构设计。

按软件工程阶段划分:

解决方案架构师:专注于解决方案的规划和设计,所谓“解决方案”,就是把产品、技术、基础设施、理论方法,通过不断的组合和创新,满足客户的特定业务目标和需求。

业务架构师:从企业战略、组织结构、业务流程、业务能力等维度入手,关注某一个行业或业务领域的分析,产出业务模型,最终指导系统模型设计。也可以叫业务领域专家、行业专家、业务咨询师、资深顾问。

应用架构师:负责某个应用的技术架构,主要偏业务型应用,关注理解业务,梳理模型,设计模式、接口、数据交互等方面,同时也需要关注服务器负载、可靠性、伸缩性、扩展性、数据库切分、缓存应用等方面的基础架构设计。

特定技术架构师:专精某项技术的资深专家,从事中间件架构、大数据架构、安全架构、存储架构、网络架构、前端架构等技术规划和架构设计工作。

本文介绍的架构师主要偏向于系统架构师和应用架构师。

架构师在项目中的协作关系

架构师成长路线

架构师成长阶梯

架构师成长路线

架构师核心能力模型

这里以阿里P序列职级为例:

架构师成长路线

成长建议

  • 阅读经典书籍
    • 业务理解能力:《有效需求分析》《如何落地业务建模专栏(徐昊)》
    • 领域建模能力:《实现领域驱动设计》《领域驱动设计Gitchat专栏(张逸)》《解构领域驱动设计》
    • 微服务架构设计能力:《微服务架构设计模式》
    • 大型项目协作能力:《学习敏捷 构建高效团队》
    • 沟通表达与文档能力:《金字塔原理》《麦肯锡问题分析与解决技巧》
  • 规划实践机会
    • 提升业务理解能力:主动参与业务规划讨论,基于业务方向,思考技术规划并与TL确认。
    • 提升领域建模能力:多找产品沟通,牵头梳理复杂业务问题,分析领域模型的症结,产出治理方案。
    • 提升微服务架构能力:组织技术团队成员,梳理线上频发的疑难问题,找出架构设计的不合理处,产出治理方案。
    • 提升大型项目协作能力:尽早了解业务OKR,主动承担大型项目的PM角色。
    • 提升沟通表达能力:主动沉淀高质量的业务/技术知识文档,向TL或HR寻求跨团队分享机会。
  • 参加培训与分享
    • 学习极客时间等平台的线上课程与技术大佬分享。
    • 参与技术分享大会与沙龙。
    • 参加公司组织的培训课程,并完成作业。
  • 针对能力模型,持续自我复盘,总结沉淀。

本文来自博客园,作者:汤师爷说,转载请注明原文链接:https://www.cnblogs.com/tangshiye/p/16027852.html