架构师的性格特质
「如何防止架构师PM化」一文发出后,特别是在阿里社区进行推广后,收到了很多的反馈。大致概括下来就是架构同学心有戚戚,PM 同学对其中的部分观点有点不大认同 ^_^ 这里我想解释一下的是,这篇文章是对架构师脱实向虚的一种警醒,不是对 PM 工作的否定。这里面道理很简单,就像我们说 CEO 不能做得像 CFO 的时候,并不是在说 CFO 这个角色不应该存在或者不称职。
架构师这个角色很重要,架构师脱实向虚是值得警惕的,是不利于个人和团队的。那架构师怎么样做实,怎样的同学才是一个合适的架构师呢?在「架构师的十八般武艺」这个系列里面,阐述了一些架构师需要具备的技术能力。但是所谓的德才兼备,架构师除了基本的技术能力之外,还需要在性格上具备一定的独特特质。本文我们就来说一下架构师需要具备怎样的性格特质。
在架构师的性格特质上,可能一百个人眼中有一百个哈姆雷特。最基本的,我认为最关键的性格特质,概括下来可以形成十个字:坚定、开放、敏锐、大气、懒惰。
坚定。
架构工作从来不是一项容易的工作。架构工作最需要坚持。这里可以分为三方面的坚持:
1.对事情的坚持:规划了一项架构课题,在执行的过程中,可能会遇到各种各样的阻力,包括组织的变化、业务的不认可、团队同学在困难面前的退缩。这个时候,需要架构师在笃定价值的前提下,首先自己不能放弃,其次要为团队指明目标和照亮路径。很多架构课题,也许只需要一点点的坚持,就会有不一样的结果。
2.对标准的坚持:在面对业务、进度的压力的时候,能不能坚持基本的架构标准。有没有对坏的架构设计和实现说不的勇气,往往是一个域系统质量好坏最本质的原因。如果不能时刻坚持基本的架构标准,各类的架构负债就会不断的产生,直到压垮整个系统。
3.对技术的坚持:有一个很有意思的规律,理论科学往往领先应用科学一个十年,应用科学又通常领先商业一个十年。比如在相对论之前就有了黎曼几何,一个发明要形成商业价值往往需要数年甚至数十年的演进。所以,我们需要坚持技术价值,坚持技术可以领先于业务,做一些合理的提前规划和布局。只有这样,才能解决技术迭代周期和业务产品迭代周期之间的矛盾。同时,在预铺的过程中,架构师需要有魄力和能力去影响和说服业务。
开放。
架构师需要开放的态度。
1.对于新技术需要有开放的心态。在 IT 界,各类技术和理念层出不穷。作为架构师,首先需要有开放的心态,需要能先接触了解和学习,然后对其中有价值的部分进行吸收试验和融合。Software eat the world, Opensource eat software。只有保持开放的心态,才能更好的拥抱开源技术,引领自身架构的升级。
2.对于不同的架构思路和建议保持开发的态度。每个人的价值观、视野和知识背景的不同,对于同一个架构问题,可能会有不同的架构思路和选择。没有任何一个人是绝对正确的,对于不同的意见作为架构师需要保持开发的心态,用架构决策说话,用数字和例子说话,以理服人。
敏锐。
这点就比较好理解,架构师必须是聪明的,必须在业务和技术上有敏锐的视野。
1.对业务发展的敏感度。一个架构师需要同时是一个合格的产品。需要从产品和业务的视角去审视架构需求和架构演进。特别的,作为应用架构师,更需要对自己所处的业务领域有比较深入的洞察。只有保持对业务发展的敏感度,才能规划和设计出能支撑业务发展的架构。
2.对技术变革的敏感度。技术的发展和变革,似乎已经脱离了摩尔定律,往指数级的方向去发展。云计算、函数式编程、人工智能、虚拟现实,科幻作品中的场景都似乎在慢慢的变为现实。作为技术一号位的架构师,如果无法保持对技术变化的敏感度,无法持续的往架构中引入先进的技术元素,势必是会被淘汰的,不管是个人还是团队。
3.对架构问题的敏感度。这一点指的是在日常的架构评审和代码 CR 的过程中,需要对设计和实现中的问题,有强烈的肌肉记忆。一些架构上的本质问题,比如不满足 KISS 原则、违反 SOLID 原则、边界不合理等,架构师需要能在第一时间发现并及时的纠正。这个,可能需要日复一日的积累和练习。
大气。
小市民当不好架构师。^_^
1.在架构设计的过程中,需要懂得取舍。关注模型、关注契约、关注集成和边界,适当的时候先暂时屏蔽掉内部的实现。只有具备这种特质的人,才能跳出细节,做好架构的规划。
2.在坚持和妥协之间,需要有平衡的能力。时间往往是不够用的,系统架构要拿到极优解,需要能果断的做出取舍,抓大放小。
3.有抛弃传统,从头再来的气度。技术的演进,在某些时刻是断崖式的变革。比如从虚拟机到容器,比如 chatGPT,比如 Restful,这些技术的引入,都需要抛弃掉系统中固有的传统的元素。如果一个架构师无法在这点上做大气的取舍,往往会因为因循守旧而错失机会。
懒惰。
在 10 年前,这一点是被我列为第一位的。那时候看问题更多的从技术视角。如果从全局的视角,这个可能就要放到最后一位。^_^
懒惰是技术进步的源泉。
对于重复的劳动、对于过度复杂的设计、对于不简洁的实现,架构师需要具备天生的反骨,同时在团队内部形成复用、简单、用技术解决问题的氛围。
版权声明: 本文为 InfoQ 作者【agnostic】的原创文章。
原文链接:【http://xie.infoq.cn/article/2a68d22420dc01b5ec877dd15】。文章转载请联系作者。
评论