在最近的项目中,越来越体会到许世伟老师说的架构师心性修炼的说法.
架构师,其能力可归纳为:
- 理需求的能力
- 读代码的能力
- 抽象系统的能力
这3种能力基本上就对应做好工作的关键:【有专业,懂业务,善落地】
但是架构师还需要修炼的是心性,包括:
- 同理心的修炼,认同他人的能力。比如从当下视角出发,如何看待不合理的系统、设计、代码?老的系统意味着是历史的产物,历史是充满局限性的,其本质是因为人是有局限性的。这就是需要保持同理心,也需要修炼同理心。从理性上认识到这种局限性,我们更加需要有同理心来看的现状。
- 全局观的修炼,保持好奇心和学习的韧性。架构师需要有学习韧性。但并不是所有的技术都值得深耕。我们也都没有这个精力去这么做。我们要做到的是,随时想深入耕耘就能深入。
- 迭代能力的修炼,学会反思,学会在自我否定中不断成长。否定自己即是迭代,是反思,是自我批判,需要不断审视过去的认知,过去的架构是否可改善,即使是自己写的代码是否可优化重构。面对每一个新的开发任务,都是一次重新审视架构合理性的机会。就算这个模块从来没有交给过他人,所有代码都是你自己写的,也不代表这个模块就不会老化,发出臭味。这里面的原因在于,很多时候你给模块加上新功能的时候,往往会出现很多当初架构没有考虑到的场景,导致不得不用打补丁的方式把需求给满足了。一个需求捏着鼻子做,两个需求捏着鼻子做,慢慢的系统就不堪重负,变得很脆弱,到后面加功能就会变得越来越困难。所以,发现架构无法很方便地支持某个需求,就意味着架构存在缺陷,这时要及时停下来思考以下问题:还有哪些潜在的需求,现在还没有收到,但是未来可能会需要去满足?如果这些需求当初就提出来了,架构做成什么样更合理一些?当前的架构设计,迭代到新架构设计,它的成本是什么样的?在架构调整这件事情上,早迭代,小步迭代,比做一个大的重构版本要好。
架构师成长之旅,是心性修炼之旅。我们需要记得,并不是理解了架构思维的原则,就能够做好架构。
架构之道,是虚实结合之道。理论与实践相结合。
从实悟虚,从虚就实,运用得当方得升华。架构思维的感悟并不能一步到位,永远有进步的空间,需要我们在不断实践中感悟,升华自己的认知。