自从 2009 年入职百度以来,已经经历了 11 年了,我自己从一线研发工程师开始,也逐步成长成为了带领复杂技术方向的技术负责人。
10 年多的工作历程,让我有幸经历了大范围的技术演变,特别是云计算和云原生技术从朦胧到普及,对工程师和架构师的要求也发生了不少变化。
趁着自己入职 11 周年的日子,结合我自己在百度的成长历程,总结下我认为在云计算特别是云原生时代,对软件架构师的核心能力要求,希望帮助大家在通往架构师的路上少走弯路。
本文是《云原生时代架构师的十大核心能力》下篇,若想了解文章上篇内容,可以阅读
百度资深技术负责人:云原生时代,架构师需具备的十大核心能力(上)
(六)沟通表达和合作双赢能力
沟通表达是工程师必不可少的基本能力。随着自身的成长,我也越来越多的参与到了诸如职称评定,技术评审和工作汇报等会议中。我发现很多同学做不到高效清晰的表达。比如有的同学在没有任何背景情况下,直接讲解决方案,下面听的同学完全不清楚方案要解决什么问题,自然无法进行判断;还比如有的同学对设计方案的局部细节花费了大量的时间进行描述,但是没有全局视角或者整体的介绍;再比如有的同学在做工作总结和汇报时,对技术方案进行了全面的说明,但是忽略了对最终结果和价值的总结,完全看不到项目的收益。类似的例子不胜枚举,基本上每天我都会遇到并且纠正。
那么如何培养沟通能力呢?我认为首先是要有同理心,站在听众的角度思考,根据用户想听到的内容组织自己的发言。比如做工作汇报的时候,听众更多的想知道事情的结果,计划或者问题和解法,对技术细节不那么关心。做架构评审的时候,听众关注架构设计和技术可行性,对非关键细节就不需要过多阐述。其次是双赢心态,项目合作对双方都能取得好处,自然容易达成一致并形成合作。有的同学在和其他团队合作的沟通中,强势的要求对方积极配合,而丝毫没有替对方考虑的收益,那这样的合作就很难形成了。
除此之外,强调一个沟通表达的礼貌问题,在发表意见之前,注意倾听对方的话语,切忌频繁打断其他人的讲话。随意打断别人的讲话,不仅不容易听懂对方的意思,而且还十分不礼貌,也很难顺畅沟通和合作。
认知升级,从架构师成长为技术负责人
从 2015 年开始,业务服务和机器规模大幅度增加,在团队需要和个人意愿匹配的情况下,我又转换到了一个新的战场,带领了分布式集群管理、服务治理和分布式存储等基础架构方向,也就是从这时候开始,让我逐步认识和理解了云原生技术。业务上从零开始把整个搜索服务一点点的从物理机时代成功的转向了容器微服务时代,节省了大量资源,大幅度提升了服务变更和管理效率。
技术上从纯自研的 PaaS 架构向云原生 Kubernetes 和 ServiceMesh 进化,站在巨人的肩膀上,用更标准化和现代化的技术武装我们。我自己也逐步成长为云原生方向的技术负责人,下面的几项能力我认为比较关键:
(七)技术深度和广度结合能力
架构师至少应该在 1~2 个技术领域有着深入理解的基础上,再同时涉猎技术广度。如果缺乏对技术基础知识或者某个技术方向的深入理解,那想继续在技术广度上拓展就非常困难了。在技术深度的基础上,学习和理解相关技术也相对比较容易。
计算机技术发展特别迅速,即使在 BAT 或者 Google / Facebook 等世界顶级科技公司,也切忌固步自封,要多了解多同类问题的架构设计和解决方案,养成学习和调研竞对的习惯,可以帮助我们少走一些弯路。
也正是因为我在自主研发 PaaS 技术的同时,观察到了开源社区和云原生技术的发展趋势,看到了逐步成为事实上标准的 Kubernetes ,观察到了像 Prometheus 和 ServiceMesh 这些先进的理念和技术实现,才会逐步的让我们的技术方向转向社区成熟的云原生上来。
(八)技术驱动和技术影响能力
作为架构师充分锻炼和打造技术驱动力和影响力可以更好的帮助团队达成目标。对公司内和公司外打造技术影响力都非常重要。现阶段技术社区非常活跃,公司内部的技术课堂也非常充分。架构师可以通过开源项目,技术论坛,技术课程,学术论文,或者在技术类大会上发表演讲等多种途径来提升个人的技术影响力。平时指导一线工程师的过程中,注意积累素材,既是对团队同学的一种培养,还可以接触相关的技术圈子,扩大人脉。
从 2016 年开始我陆陆续续的参与业界技术大会进行技术分享,不仅仅锻炼了自己的结构化思维能力和沟通表达能力,还让我认识了很多技术圈的朋友,包括不同领域的架构负责人,开源社区的领头人和技术图书的朋友等等,我自己也从小范围的技术分享到专题出品人和主题演讲,技术访谈等多种参与形式,全面提升了自己的技术驱动力和影响力。
(九)坚持不懈的高效学习能力
计算机技术发展速度非常快,持续学习能力对于计算机工程师来说都非常重要。持续学习能力与其说是一种能力,更多的还是一种习惯的养成。大家可以回想一下,自己每天读多少文章,每周或者每个月读几本书,平时对于读到的文章或者书籍有没有记录笔记等。
处于信息爆炸的时代,我们可以接触到的信息也越来越多,持续学习能力还要注意信息质量,注意把握信息的核心内容,对信息区分精读和粗读。这里我觉得一些付费内容往往质量较高,正所谓一份价钱一分货,为知识付费投资自己还是挺划算的。
我自己也是从 2015 年开始逐渐养成了早上阅读的习惯,基本上每天都是 7:30 到公司之后阅读两个小时才开始工作,内容覆盖分布式系统,云计算技术,技术人成长等领域,同时把看过的资料整理在我自己的"云原生架构师"公众号里,方便日后查找。早上是头脑最清醒也是最没人打扰的时间段,可以充分集中精力,非常适合学习。
(十)正确的价值观积极正能量
一个成功的人,往往都需要具备正确的价值观和解决问题的勇气,这也是我们常说的德才兼备。遇到挫折和指责,能不能首先反思自己的问题,进行自我批评;遇到困难或者逆境,能不能有坚定的信念和勇气,直面问题勇敢面对;待人接物,能不能坚持诚信的原则,能不能信守承诺;面对挑战和压力,能不能有所担当,不甩锅不逃避;面对误解,能不能坚持原则等等。
上面结合自己的成长经历,总结了我认为合格的架构师应该具备的十项基本能力,希望对大家有所帮助。
作者信息:郑同学,百度主任架构师, 云原生团队技术负责人, 负责百度云原生产品的技术研发工作。
评论 3 条评论