57 | 心性:架构师的修炼之道

57 | 心性:架构师的修炼之道

怎么成为优秀的架构师?架构师的修炼之道究竟是什么?

心性,是架构师区别于一般软件工程师的地方。也是为什么他能够看到那么多人看不到的关键点的原因。

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

但架构师面临的问题往往是错综复杂的。

现实场景:

你拿到了一份长长的源代码,加上少得可怜的几份过时文档。然后被安排做一个新功能,或者改一个顽固 Bug
没有清晰的网络协议和接口文档,更别提详细设计文档

问题是:你真的是在改善系统,还是在破坏系统?

很多时候,你是在破坏系统。代码为什么会散发臭味?就是因为有很多很多缺乏良好架构思维能力的工程师在加功能,在做重构。

最值得研究的是重构。重构不为改善用户体验,它的目标是为了改善系统质量,清除代码中的臭味。但现实中也有不小比例的重构实际上是在让问题变得更糟糕。

这里有工程师发展成为架构师所需要的最重要的心性修炼:

认同他人的能力。

架构师最重要的是有同理心,要有认同他人的能力。不要在没有全面理解他人思想的情况下去调整既有代码的设计逻辑。

  • 联系到人

不要犹豫,争取一个小时的时间和他们做沟通。这比你直接一上来就啃代码要好

纯啃代码就好比做逆向工程把机器码转回源代码,是一件非常复杂的事情。

  • 联系不到人

老老实实去啃代码。结合文档看代码往往会事半功倍,但也要注意识别出文档和代码不一致的情形,把它们记录下来。
经验积累得多了,看到源代码就能很快体会别人的思想。这背后所依赖的,其实也是架构能力。
架构师往往对一个需求场景会有多条实现路径的思考和评估。这样的思考和评估做多了,看到别人的代码就容易建立熟悉感,一眼看出别人的思路是什么。

架构师的同理心,也体现在需求分析上。

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

没有了全貌,那就是井底之蛙,谈何架构?

并不是我们理解了架构思维的原则,就能够做好架构。

架构之道,是虚实结合之道

理论与实践相结合。不可能只要理论,否则架构师满天飞了。如果两者只能取其一,我选实践。

从实悟虚,从虚就实,运用得当方得升华。
在实践中感悟,不断升华自己的认知。

由 “基础平台(硬件架构 / 编程语言 /操作系统)”,到 “业务开发(桌面开发 / 服务端开发)”,再到 “业务治理(服务治理 / 技术支持 / 用户增长)”,基本上覆盖了信息技术主体骨架的各个方面。

有了基础平台,有了前端与后端,有了过去与未来,我们就有了真真正正的全貌。

我们博览群书,为的就是不拘于一隅,串联我们自身的知识体系,形成我们的认知框架。

全局观这件事情,对于心性上的修炼,比的是好奇心与韧性。

保持对这个世界的好奇心。看到新科技与新思想,先认同它,去体会它,理解它产生的需求背景与技术脉络,以此融入自己的知识体系

架构师需要有学习韧性。但并不是所有的技术都值得深耕。我们也都没有这个精力去这么做。我们要做到的是,随时想深入耕耘就能深入

结合自己的工作内容和兴趣

但实际上瓶颈不在于工作内容,在于自己心性的修炼

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

架构师第三大能力的修炼,是迭代,是反思,是自我批判

差别在于,你究竟在用什么样的态度来接任务,码代码。

你是捏着鼻子忍着,继续接老板安排下来的新任务;还是,百忙里抽出一点时间,把之前写的代码改到你满意的样子。

通过迭代而升华。这是架构能力提升之路。

通过重构,你建立了新的知识体系。

它是内在根本性的变化,看不见但你自己可以体会得到。

面对每一个新的开发任务,都是一次重新审视架构合理性的机会

就算这个模块从来没有交给过他人,所有代码都是你自己写的,也不代表这个模块就不会老化,发出臭味。

发现架构无法很方便地支持某个需求,就意味着架构存在缺陷,这时要及时停下来思考以下问题:

还有哪些潜在的需求,现在还没有收到,但是未来可能会需要去满足?

如果这些需求当初就提出来了,架构做成什么样更合理一些?

当前的架构设计,迭代到新架构设计,它的成本是什么样的?

在架构调整这件事情上,早迭代,小步迭代,比做一个大的重构版本要好

有疑问、勘误、请您在下方留言,感谢您的支持 ღ( ´・ᴗ・` )!

感谢您阅读,这篇文章归 极客点子版权所有.
如果转载,请注明出处: 极客点子版权所有(/page/984.html) 知识共享许可协议
本网站使用 创作共用 归属 - 非商业用途 - 共享4.0国际许可协议的相同方式 许可.

关于作者:

    简介:

    系统架构师 、作家、
    研究方向:数据分析、 深度学习、 服务器架构、 系统原理