架构师的职责
本节内容是皓哥之前在公司内部制定的文档,经公司同意后发布于此。
行为准则 Principles
使命: 技术架构师倾向 使用技术手段来提升整个组织的能力。 所以架构师的行为准则如下:
- 全局视角: 站在整个组织视角,是全局视角,而不是局部的。
- 技术手段: 一定是更为倾向使用技术手段而不是管理手段解决问题。
- 提升标准: 以高标准要求自己和整个组织,能不断提升标准。
- 着眼长远: 一定是放眼长远,而不是急功近利,表现为建设基础设施。
主要职责 Responsibilities
架构师团队主要的目的有下面几个:
带人布道: 团队人才是公司的最重要的资产,所以,架构师的首要责任就是把人员的能力提升起来,所以,架构师需要成为别人的导师,并需要对整个组织进行技术布道和培训。以统一大家对技术的认识。
引领创新: 包括如下的一些内容:
评估、推动、落地,并应用前沿技术,跟进技术趋势、标准以及行业的最佳实践: 比如,Cloud Native 架构,开源框架 Spring Cloud,HTTP/2 标准,Swagger,CI/CD,Git 工作流,服务治理等等
降低技术门槛: 通过一些技术封装手段,降低技术门槛,让更多的人可以更好的理解、更简单更安全的使用复杂的技术。
优化工业界面现有的技术和标准,以占据技术优势: 注意:并不是所有的公司都需要这一点,比如:像Google公司优化TCP协议,阿里优化JVM,亚马逊的Aurora改造MySQL数据库为分布式数据库。
解决难题: 解决工程团队或是业务团队中遇到的技术、工程或是业务难题。
工程问题: 如何快速定位故障,如何提高软件质量(通过一些技术收口或是框架或是工具)、如何让系统运行更为稳定……等等
技术问题: 异地多活、数据库、网络、分布式一致性、编程、高并发、高可用、性能优化、算法……等等实际的技术细节问题。
业务问题: 业务风险控制、业务模块拆分、业务完整性、业务逻辑抽象问题……等等。
提升效率: 包括如下内容:
- 能力复用: 通过抽象、标准化、平台化的手段让技术能力可以复用。
- 简化和自动化: 简化现有系统和流程,甚至组织架构,努力自动化一切可以自动化事。
- 工程效率: 通过梳理分析现有的工程中流程,分析需求、设计、开发、测试、上线、运维的整个工程流程,优化其中的瓶颈点,自动化其中的重复工作。
- 解放生产力: 表现在去除不必要的事宜,自动化重复劳动,减少整个组织中支持性的人员和工作。
组织形式 Organization
架构师团队的组织形式,是需要下沉到各个职能团队了解各个团队的实际情况(但是不能做进入其项目事务),然后根据上述相关职责在各个业务开展工作,向整个组织负责。也就是说,架构师归属于各个团队的编制,但汇报主线向整个组织汇报。
每个架构师都应该有自己专长的“课题”和“方向”,并在这个“课题”和“方向”上努力完成上述的相关职责。
日常工作 Daily Work
在职能团队中,主要是如下相关工作:
关键技术设计评审: 其中包括:设计文档、核心代码、上线计划……等
提供技术难题解决方案: 其中包括:设计文档编写、核心代码编写。
故障处理评估: 其中包括:故障概因分析,故障整改方案。
提升团队能力: 其中包括:团队痛点和需求收集,技术培训传道,标准和新技术推动。
在高层架构师团队中,主要是如下相关工作:
制定年度(季度)工作计划和目标: 计划目标主要是围绕业务和技术要求、工程能力提升、和降低成本提高效率来进行。
确认技术方向: 与其它成员确定整个组强的技术方向、技术标准和技术规范。
提升整体效率: 通过在职能团队中的日常工作,以及团队的痛点和需求收集,通过顶层设计来做整体解决方案。
软件开发工作: 开发整个组织通用的软件,其中包括,应用类的,平台类的、框架类的、工具类的以及集成类的。
绩效评估 Performance
绩效评估的内容主要来自其工作职责。如下所示:
- 创新: 推动了什么样的技术标准或最佳实践?应用了什么先进的技术?优化了什么样的技术?开发了什么样的软件系统?让团队或组织具备了什么样的能力?
- 简化和自动化: 简化了哪些系统,自动化了哪些事?
- 提升效率: 降低了什么样的成本(时间成本、故障成本,劳动力成本…)?提升了哪些标准?加速了什么事的过程?让什么组件在整个中心复用起来了。
- 解放生产力: 减少了哪些支持性的工作?释放了哪些工作量?
- 解决问题: 解决了什么样的技术或业务难题?
评估标准,可以有5个维度:完全超出期望、部分超出期望、达到期望、部分达到期望、完全达不到期望。