加载中...

本篇要回答的问题:怎么成为优秀的架构师?为什么这门"架构课"讲到第五章才正式谈架构思维?架构师区别于普通工程师的,到底是技能还是心性

上一讲我们回顾了服务治理篇,至此"基础平台→桌面开发→服务端开发→服务治理"四大模块结束,软件大厦的骨架已立。本讲正式进入第五章"架构思维篇"。许式伟给出一个出人意料的答案:架构师的修炼之道是修心——心性,才是架构师能看到别人看不到的关键点的原因。

关键判断:理论与实践不可只取其一;若必须取一,许式伟选实践。架构之道是"虚实结合之道"——从实悟虚、从虚就实。这也解释了为什么前四章先讲实践再谈思维。

同理心的修炼:认同他人的能力

理想场景是:拿到干净需求文档 → 需求分析 → 概要设计 → 详细设计 → 编码。但现实是:你拿到几百万乃至上千万行源码 + 少得可怜的过时文档,被安排加新功能或改顽固 Bug。

名言:程序员最讨厌的两件事——写文档,以及接手没文档的代码。

最值得研究的是重构:它不为改善体验,而为清除代码臭味;但相当比例的重构反而把问题搞得更糟。

错误姿态 正确心性
不全面理解他人思想就调整既有设计逻辑 认同他人的能力,先读懂他人的思想再动手
一上来纯啃代码(如同把机器码逆向回源码) 若能联系上原核心人员,争取一小时沟通,胜过直接啃代码
忽略文档与代码的差异 结合文档看代码事半功倍,但要识别并记录二者不一致处

洞见:经验多了,看到源码就能很快体会别人思路——背后依赖的仍是架构能力(对一个需求有多条实现路径的思考与评估)。需求分析比接管系统更难,因为它要代入用户、空杯心态去认同他人。

全局观的修炼:好奇心与韧性

第二大能力是全局观——没有全貌就是井底之蛙,谈何架构。

要点 说明
为何不一上来谈架构思维 因为理解了原则≠能做好架构,架构之道是虚实结合
前四章覆盖了什么 基础平台 + 业务开发 + 业务治理 = 信息技术主体骨架的各方面
侧重点是什么 放在架构演变过程——研究"什么东西在迭代",学的是发展历史而非静态骨架
心性考验 好奇心 + 韧性

关键判断:保持对世界的好奇心——看到新科技新思想,先认同它,体会它产生的需求背景与技术脉络,融入自己的知识体系。学习要有韧性,但不必所有技术都深耕,要做到的是"随时想深入就能深入"。

很多工程师抱怨工作内容平淡无奇没法进步,实际瓶颈不在工作内容,在心性修炼——好的架构师有化腐朽为神奇的能力。

迭代能力的修炼:学会否定自己

第三大能力是迭代、反思、自我批判。

场景 平庸做法 升华做法
半年后看自己旧代码"怎么看怎么不爽" 捏着鼻子忍,继续接新任务 抽时间把旧代码改到满意——这才是架构能力升华的过程
面对每个新开发任务 当成纯粹的功能交付 当成一次重新审视架构合理性的机会
发现架构难以支持某需求 打补丁硬塞,系统越来越脆弱 停下来思考:未来还有哪些潜在需求?当初怎么设计更合理?迁移成本多大?

关键判断:就算所有代码都是你自己写的,模块也会老化发臭——因为加新功能时常出现当初没考虑的场景,被迫打补丁。早迭代、小步迭代,远胜于做一个大的重构版本。

总结

架构师成长之旅就是心性修炼之旅。技能层面可归结为三种能力,但更难的在心性层面三项修炼。

先把"是什么"回答清楚

维度 三项内容
技能层面 理需求的能力 · 读代码的能力 · 抽象系统的能力
心性层面 同理心(认同他人)· 全局观(好奇心+韧性)· 迭代力(自我否定中成长)
概念 一句话说明
修心 架构师区别于普通工程师的根本
虚实结合 从实悟虚、从虚就实;二选一时选实践
认同他人 读懂他人思想再动手,否则重构会破坏系统
学习韧性 不必都深耕,但要"想深入就能深入"

一句话速记

架构师的修炼不在技能而在心性——用同理心认同他人、用好奇心建立全局观、用自我否定持续迭代;架构之道是从实践里悟出来的虚实结合之道。

几条值得记住的判断

  • 理论≠能力:理解架构原则不等于能做好架构,二选一选实践。
  • 重构最危险:不读懂他人思想就动手,是在破坏而非改善系统。
  • 瓶颈在心性不在工作内容:好架构师能化腐朽为神奇。
  • 早迭代、小步迭代 胜于一次大重构。

思考题

回看你半年前写的某个模块——你现在"怎么看怎么不爽"吗?如果是,恭喜你进步了。接下来你会捏着鼻子忍着继续接新任务,还是抽时间把它改到满意?后者才是架构能力真正升华的地方。

公告栏
这是我的个人知识库。
记录技术,也记录生活 —— 读过的、试过的、想明白的,都堆在这儿。
最新文章
网站资讯
文章数目 :
5
已运行时间 :
本站总字数 :
15.7k
本站访客数 :
本站总访问量 :
最后更新时间 :
全局知识图谱
当前页面 已访问 文章 标签
ESC 关闭 · 滚轮缩放 · 拖拽移动 · Ctrl+G 开关