架构师成长的关键能力

从架构师的角色定义开始,而后引出架构师最核心的价值创造,也就是设计和实施结构化软件系统的能力。

在维持同质这个核心价值上,具有不同能力维度的不同架构师角色的领地是什么。

首先是程序员 / 代码的结构性,这是软件结构性的最小起点,指的是每个程序员提交的代码在设计上的一致性。代码是所有上层软件结构性的最终载体,也是现实世界中所有结构化决策,最终具象化到软件世界中的呈现方式。这种一致性的主要价值,在于代码的可维护性,以及代码易于变更、升级迭代和扩展的性质。

然后是兼职架构师 / 横向问题的解决方案。这是第一层抽象,也就是在多个代码模块中间共享同一个横向问题的解决方案,让横向问题的解决方案在多个模块中是一致的。这种一致性往往来自一个简单的组织抽象,也就是在多个代码模块中共享同一个有解决横向问题的兼职架构师。这种一致性的价值,就在于更低的实施成本和更高质量的解决方案。

接着是跨域架构师 / 整体的解决方案。这是第二层抽象,指的是在多个领域之间维持整个解决方案的结构性。这种结构性体现了设计理念、数据模型、信息交互的一致性,最终将促进整个领域的结构性。这种结构性的价值,就在于让整个领域的软件质量更高、可维护性更好、更容易升级迭代。

接下来是总架构师 / 决策原则。这是第三层抽象,指的是在软件架构相关投入上的决策原则,在整个企业内具有一致性。也就是说,总架构师的存在是为了保障企业在不同层次、不同领域上的软件投入的决策原则是同质的。这个决策原则,就是最大化技术的长期增值。

程序员、兼职架构师和跨域架构师,这三个角色都是在依照同一个假设来工作的。这个假设就是更高层次上的软件系统的结构性,会带来更好的外部适应性。这三个层次,按照从高到低的排序,依次是跨领域的、横向问题上的、代码层面上的一致性。

最后是 CTO/企业生存优先的理念。这是最高层次的抽象,指的是理念上的一致性。我们在课程中提到了,从 CTO 的视角看,企业在决策理念上应该和 CEO 视角保持一致,也就是最大化企业的生存。在这个理念之下,企业的资源投入,不论是在技术、运营,还是市场,都应该和最大化生存这个目标保持一致。技术这个职能没有特殊性,仅仅是其中一个手段。

每个人都有自己的风险承受度,以及内心最喜欢做的事情。有的人内心可能很喜欢当一个 CTO,但却无法承受能提供这种机会的高风险环境。所以认为 CTO 对他的诱惑还没有那么大,否则他会想办法说服自己的。所以说从程序员到 CTO,还有一个隐含的必要条件,就是你成长的意愿,这也是最重要的条件。

此文章为6月Day1学习笔记,内容来源于极客时间《郭东白的架构课》,推荐该课程。

おすすめ

転載: blog.csdn.net/key_3_feng/article/details/130997286
おすすめ