10年架构师和CTO经验总结:从程序员到CTO

在这个不断变化的技术环境中,软件架构的重要性愈发凸显。然而作为一个职业,软 件架构师的地位却不断受到业内外的挑战。在20世纪90年代互联网技术发展初期,软件架 构师是备受推崇的职位。在相对简单的技术诉求下,他们的决策直接决定了系统的性能和 扩展性。技术的快速发展导致一个软件系统变得越来越庞大和复杂,涉及的技术领域和组 件也越来越多,这些都使成为一个成功的软件架构师的门槛变得越来越高。与此同时,敏 捷和快速迭代的开发模式强调快速交付功能,因而长期的架构规划有时会被忽视。但是, 我们不能忽视软件架构师的价值。技术不断发展,需要经验丰富的软件架构师来引导系统 的设计和发展。他们在技术选择、性能优化、安全性、可维护性和业务目标的实现等方面 发挥着至关重要的作用。

制定自己的架构师成长战略

为什么我认为架构师的成长需要一个战略呢?为什么你不能像我一样成为一个“偶然 的架构师”呢?

我读博士用了 5 年,但从系统地学习架构理论到成为一位真正的架构师花了 10 年。 这个过程让我有了一个坚信的理念:要想在架构师这个职业上超越别人,必须尽早制定自 己的架构师成长战略。

我喜欢读史书和人物传记,我在大量的阅读中发现,有一类人(如亚历山大)的成功 平常人是无法复制的,但有一类人(如埃隆 ·马斯克、史蒂夫 ·乔布斯和马云)的成功还 是有迹可循的,他们的经验是可以学习的。

怎么学呢?阅读这本《架构思维:从程序员到CTO》吧。

架构思维:从程序员到CTO

架构设计不只是技术维度的广泛认知,更是商业维度的全局把控。

本书是Coupang副总裁郭东白10多年架构师和CTO工作的经验总结。在本书中,你可以了解互联网行业进化的本质,架构师的工作内容、所需能力等,你熟知的每一个互联网案例背后的架构设计原则和逻辑。

阅读本书,你将掌握:

  • 架构思维,架构设计的3种思维定式和4种思维模式;
  • 生存法则,影响架构活动成败的6个要素及对应的生存法则;
  • 实践挑战,架构活动中必然或可能遇到的技术/场景挑战及应对思路;
  • 成长规划,从程序员到CTO的职业能力跃迁。


当你学完本书时,你将了解行业发展脉络,理解架构师工作的底层逻辑,掌握架构设计的思维原则,从而梳理出自己的清晰的成长地图,实现职业角色的跃迁。

推荐理由:这不是一本架构师速成书,本书中除了有对架构设计中的技术选型的分析,还有对架构活动中的环境、人性、经济等的洞察。在这个不断变化的环境中,郭东白老师从自己亲身经历的诸多案例出发,将丰富的经验和开阔的视野提炼出一名优异的架构师应有的能力和战略目标,本书对所有IT从业人员都有益,尤其适合想成为架构师的研发人员和想提升自己架构能力的架构师。

内容简介:

本书以架构师工作中的痛点问题为导向,结合大量真实、复杂的案例,帮助架构师提高架构设计能力,规划职业成长路径。本书共4部分,第一部分“架构师的思维模式”介绍3种架构师的思维定式和4种架构活动中常见的思维模式;第二部分“架构师的生存法则”介绍影响架构活动成败的6个要素,以及由其引出的架构师的6条生存法则;第三部分“架构活动中的挑战、根因和应对”介绍架构师在整个架构活动中持续发挥的作用以及架构活动不同阶段常见的问题;第四部分“架构师的职业规划和能力成长”介绍架构师的成长地图和对应角色的关键能力,以及提升思考力的方法。

本书的整体结构

本书共分 4 部分,每部分都有独立的主题和目标, 并且全书的内容组织也有一定的特色。

第一部分 架构师的思维模式

计算机行业经历了 40 多年的高速迭代, 目前还没有慢下来的迹象。这个过程中硬件 和软件技术也经历了革命性的变化。

在这么大的跨越过程中,架构师是否有一组可以持续践行的思考原则呢?我认为是有 的,就是第 2 章中介绍的架构师的思维定式,这些思维定式也是贯穿架构师整个职业生涯 的思维方式。

这些思维方式起源于整个计算机行业一些没有变化的性质:

● 软件企业追求商业成功这个事实没有发生变化;

● 架构师作为一个独立的专业决策者这个角色没有发生变化;

● 整个计算机行业持续高速发展这个事实没有发生变化。

这 3 个现象分别对应本书所倡导的架构师的 3 种思维定式,即价值思维、实证思维和 成长思维。

我在第 2 章中把思维假设表述出来,因为我在思考和处理问题的时候,会引入一些隐 含的假设作为起点,这些假设的差异最终带来了决策的差异。我的目的是像几何学一样, 从一组公理开始所有的证明,而在此之后的原则和结论都是基于逻辑的推导。

这么做可能会让你觉得第一部分读起来有些枯燥。如果是这样,你可以只阅读这一部 分中每章的小结,然后从第二部分开始阅读。读完其他部分之后,再回过头来阅读第一部 分的内容。这也是我的极客时间专栏“郭东白的架构课”的组织顺序。

第一部分的最后一章介绍了架构活动中的思维模式。架构师作为一个大型软件项目的 组织者和设计者,必须为软件系统带来结构性的提升。在这个工作目标不变的情况下,架 构师会在大型架构活动中重复遇到相似的决策挑战,这些挑战的性质相同,因此应对这些 挑战有一系列有效的思维模式,这就引出了架构师的 4 种常见的思维模式,即全方位思维、 批判思维、实用主义思维和分析思维。

这些思维定式和思维模式是贯穿全书的思考起点,也是本书书名用“架构思维”的 原因。

第二部分 架构师的生存法则

第二部分主要讲的是架构师必须尊重的一些原则—架构师的生存法则。如果架构师 违背了这些生存法则,他指导的架构活动就可能会面临巨大的失误,他的职业生存也会受 到威胁。这就是我最想用时光机带给年轻时的我的内容,也是我的专栏“郭东白的架构课” 中最受欢迎、读者留言评论最多的内容。

第 4 章是对这些生存法则的整体介绍,从第 5 章到第 10 章,每章介绍一条生存法则。 这 6 条生存法则分别对应影响架构活动成败的 6 个要素,分别是目标、人、经济价值、环 境、过程控制和文化。

这 6 条生存法则分别代表了我在这 6 个要素上观察到的最常见的共性问题。针对每种 问题,我试图挖掘其中的本质,然后针对问题的根因提出解决方案。

举个例子,第 5 章解释架构师的第一条生存法则—有唯一且正确的目标。这是架构 活动成功的前提,但架构师经常要面对那些“既要……也要……还要……”的决策者,让 架构师在一组相互制约且缺乏理性的目标下变得手足无措。我在这一章里先找到产生这个 问题的真正根因,即决策者放弃了他的取舍权,然后介绍一系列手段帮助架构师在这种情 况下为企业做出最优的决策。

这就是我认为这些生存法则可以帮到年轻时候的我的原因:它们能帮我理解架构活动 中出现的问题背后的本质。有了这些知识,年轻的我肯定会有不同的经历。因此, 用来引 出生存法则的具体案例对决策的指导价值反倒不大了,但这些抽象的生存法则依然能帮我 看清问题的本质,那么年轻的我就能在理解根因的基础上想出新的解决方案,从而为企业 创造更大的价值。

这就是生存法则的价值。

第三部分 架构活动中的挑战、根因和应对

具体到一个复杂的架构活动,如果架构师想要为这个架构活动带来更大的成功概率, 他就必须在架构活动的不同生命周期关注当时可能出现的问题,从而在正确的时间点上对 未来可能出现的问题做有效的防范和充分的准备。

这一部分主要介绍架构师的这些关键防范或准备动作。虽然都是介绍动作,甚至动作 的内容都有一定的相似性,但是本书和其他架构方面的书有一个巨大的差异:我不是仅解 释具体动作,而是从架构师在架构活动中必然遇到的挑战谈起。这些挑战背后有一个或者 多个根因,只有知道了准确的根因,才能发现最有效的应对动作。

事实上,只讲动作让架构师很难实践,因为计算机行业中每家企业几乎都在寻求创新 突破,所以每个架构师遇到的问题和对应的解决方法都是独一无二的。在激烈竞争的互联 网时代,架构师的每个动作更不能有多余。因此, 架构师必须清楚地知道自己为架构活动的每个生命周期节点要创造的价值,才有可能判断自己打算做出的动作是否有效。有了价 值目标,架构师才能想办法度量自己的动作的效果、发现问题,未来再尝试新的动作。这 也是贯穿全书的价值思维和实证思维的思考方式。

这一部分介绍的动作只是我有限的工作经历中得到的最佳实践。我不是想让年轻时的 我记住这些动作,而是我想让年轻时的我看到可能面临的挑战。这些挑战来自计算机行业 一直增长的竞争压力、时间压力、人才供给压力和长期不确定性。不同时代的架构师面临 的是这些根因的不同展现形式。

通过这一部分内容的学习,你能快速识别一个挑战,由此迅速联系到它的根因,从本 书中提到的应对思路获得启发。这样你就可以根据自己所在的企业、场景和竞争压力情况 灵活设计自己的应对动作。

第 11 章介绍架构师在整个架构活动中持续发挥的作用:建立共识、控制风险和注入 理性思考。第 12 章到第 18 章分别介绍架构活动的 7 个阶段中最常见的问题,并一一提出 相应的干预动作。这种干预动作涵盖了很多架构师的共同困惑。

● 如何通过价值创造让自己变得不可或缺?

● 从架构师的工作内容来看一个架构活动中有哪些完全不同的阶段?

● 在架构活动的每个阶段架构师会遇到什么样的挑战?

● 哪些挑战会大幅影响整个架构活动的成功概率和价值产出?

● 这些挑战背后的根因是什么?

● 在不同阶段架构师应该采用什么手段去预防这个阶段或者未来可能出现的问题?

● 如何在各种资源条件的制约下最大限度地保障架构目标的实现?

当阅读第三部分的时候,跟随我的推导逻辑很重要,因为只有这样你才能学到发现问 题根因的办法和应对思路。

第四部分 架构师的职业规划和能力成长

前面提到在当今激烈竞争下架构师必须有一个职业成长的战略意图。有了与自身实力 极不相称的战略意图,成长之路必然坎坷。但是, 如果有人能给你一张成长地图,在遇到 困境的时候你可能就没有那么慌张了。

第四部分就是架构师的成长地图,这部分主要描述架构师成长的宏观视图和一个可能 的路径设计。

在第 19 章到第 23 章中,我把架构师的成长的关键能力分解成 5 种,分别是结构化设 计的能力、解决横向问题的能力、解决跨领域冲突的能力、构筑技术壁垒的能力和为企业 创造生存优势的能力。这些都是架构师职业生涯中非常重要的能力,也代表了架构师在不 同阶段要面临不同的挑战,并且要解决不同复杂度的问题。

这 5 种能力分别对应架构师职业成长的 5 种角色,即程序员、兼职架构师、跨域架构师、总架构师和 CTO。我之所以介绍能力跃迁而不是讲我个人在这 5 种角色上的经历和教 训,依然是在遵循前面提到的价值思维的逻辑:架构师在这 5 种角色上分别带来 5 种不同 的价值,想要最大化这些价值就要提升相应的能力,而这些能力之间存在着很大的不连续 性。这就意味着,架构师想承担更大的职责就必须先跨越相应的能力障碍,构建一个全新 的能力维度,仅靠把现有能力做到极致是不够的:一个程序员永远不可能只靠写代码就成 为 CTO。

架构师的成长就是能力跃迁的过程,如图 0.1 所示,图中每个方框代表架构师的一种 能力和对应的角色,每个方框里位于上方的粗体字表示这种能力,下方的细体字是具备这 种能力的角色,如程序员的主要能力就是结构化设计的能力。

24 章系统性分析架构师成长的必要条件和充分条件。这一章的目的是想讲清楚架构 师成长中最关键的条件是什么,让架构师能在诸多诱惑之间做出正确的取舍。所谓战略, 其实就是取舍。你要做的就是把自己的精力放在提升在职业发展中真正有区分度的能力上。

第 25 章着重介绍架构师提升独立思考的能力的手段。有不少人认为思考力是天生的, 个人的行为对思考力提升没有多大帮助,而我认为,思考力是可以通过后天的训练提升的。 架构师,或者是任何个人决策者,都可以通过训练和建立自己的思考者网络来提升自己的 思考力。

第26 章通过一个具体案例展示如何长时间观察并且深度思考一个问题,最终得出一个有别于他人的有效结论。我选择了过去8 年间在国内如火如荼的中台的案例,用分析思维发现造成一些企业尝试中台失败的原因,也希望这种分析能够帮到那些正在建设中台的企业。

  • 21
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值