有关陆奇的两篇公众号文字,仔细读来,有一些感触。
关于价值观
每个公司,每个群体、每个个人,都是有一套价值观来驱动的,价值观决定了做事情的动机,进而影响做事情的方式,最终会对事情的结果产生重大影响。价值观是一个团队走到一起,并长期走下去的决定性因素。
但价值观又是非常飘渺的,他很难被量化,也缺乏有效的、具体的抓手,一般来说,能靠制度,靠技术解决的事情,是不会写进价值观的。群体的价值观,是由每个个体的对价值观的实践来体现的,团队的组建、后期的培养同等重要。在团队建设上,我看重以下三层:
- 理念:志同道合
- 个人品质:正直,有责任心,有成就他人的胸襟,能坚持做正确的事情
- 工程师素质:坚信用技术解决问题,坚持学习,追求卓越
「志」和「道」
在我们运维部门建立的第一天,我们就确定了部门的使命「保障全球最大的出行平台稳定、高效的运行」,所以这就是我们的「志」和「道」。其中有两个关键字:稳定、高效。这两个关键字,界定了我们的工作主航道,可为与不可为。
暂不谈稳定性工作,我想重点探讨一下针对「高效」的理解。高效包含两方面的意思,一是人效高,二是资源使用效率高。人效高,并非是单纯的提高SRE自身的效率,更大的部分是要提高整个研发、运维体系的效率。一个典型的互联网公司,运维和研发的人员配比可能为一比二三十,所以通过技术手段,持续的提高RD效率,赋能RD,最大化整个公司的效率,是运维团队的重要工作方向。
举个例子,在我们公司,每周有数千次的线上变更,这些变更操作,都是由RD同学独立完成实施的,从结果上来,相比交由 SRE 来执行线上变更,整体的迭代效率是大大提高的。当然这项工作能够如此推行下去,有两点是必要条件:
1. 变更带来的风险不能增加;
1. RD 同学执行变更的体验要足够好,操作要足够简单,整体效率是提升的;
否则,这项行动注定会失败。
关于条件1,从我们对一整年的实际分析数据来看,稳定性case,55%都是由于变更引发的。因此在很早之前,为了控制变更风险,所有线上的变更操作,都是交由专门的、经验丰富的SRE来执行,降低变更引入的风险,更多的是依赖「人」的经验,无法有效复制到更大人群范围。为了解决这个问题,我们将变更的过程标准化,透明化,「让每个人来操作,效果都一样」成了我们的一个指导思想,强制性的流程规范和最佳实践,在发布系统落地。发布过程中弹性的、可拿捏的部分,可以个性化配置,同时,通过建立量化机制来驱动最佳实践的落地。
关于条件2,变更操作从SRE转移到RD手中,转移之后,虽然RD会花费一定的时间和精力来执行变更任务,但这些时间,相比转移之前,双方的沟通时间成本、SRE的需求执行排队时间成本来说,是大大减少了的。因此这是对双方的效率都是提升的,对整个公司是长期有益的。
「个人品质」
首先,正直应该是我们所坚持的做人做事的准绳,在个人认知能力范围内,主观上不做「错」的事情,我理解这大概也就是 Google 的「don't be evil」所讲的东西吧。其次,责任心是个人成功的基本要素,特别是在运维领域,能第一时间响应问题,把事情一跟到底,彻底解决,久而久之,这样的人,我相信在任何岗位上都是值得信赖和依靠的人。
另外,在大公司,大团队,大家诟病最多的可能就是内耗、协作不通畅、沟通成本高等。良好的沟通协作,是组织效率最大化的前提,这个东西为什么这么难解呢?在我看来,可能有下面一些客观原因(这些客观原因,待后续专门分解):
- 激励机制畸形,过度强调晋升
- 跨团队目标设定不统一,未形成互补
- 公司未能形成很好的仲裁机制和相关的文化
- 公司缺乏创新的文化,未能很好的提供创新和尝试的环境
但是从发挥个人主观能动性上来看,公司的各个管理层,各级 leader 在其中扮演中最为重要的角色。作为 leader,对于团队的行事方式,团队文化的影响是绝对性的。团队 leader 能否从全局出发考虑问题,从公司的整体利益作为出发点做决策,决定了团队的工作方向和工作方式,正所谓「上行下效」。因此在领导梯队建设上,选好人,培养好人,让「适合」的 leader 成为大多数,那就能形成良性循环,整个组织协同的阻力会大大减少。反之,那就可能形成劣币驱逐良币的局面。
知行合一,愿望是美好的,道理都是如此,但知易行难,共勉。
「工程师成长」
我很认同陆奇对于如何成长为一名优秀工程师的5条建议,仔细揣摩,未能有跳脱其外。
- Believe in 技术
- 站在巨人的肩膀上做创新
- 追求Engineering Excellence
- 每天学习
- Ownership
Believe in 技术,这是作为工程师的信念,不要小看信念的力量,特别是遇到难题的时候,如果没有这个信念的支撑,可能就很难去坚持并取得突破。扩大到工程领域之外,人类的发展历程,也很好的印证了信念的作用。人类的发展,从认知革命、到农业革命,工业革命,再到如今的科学革命,每个时代的发展速度和拥有的能力水平,是跨数量级别的差距。这其中的关键因素在于人类的信念发生了变化,在科学革命之前,人类发展遇到瓶颈,不自觉的求助于宗教或者神话,囿于现状,把问题的解决寄托于神灵。而到了科学革命之后,人类好像一下子开了挂,首先我们承认自己对于世界有很多很多未解之处,端正了态度,其次认为这些未解之谜都是暂时的,都可以通过科学技术来逐个解释并加以利用。因此,人类在短短的几十年里,登上了月球,探测器飞向了火星,发现了新的能源利用方式,制造了新的材料等等,这一切都在于人类自身的思考方式发生了变化,坚信通过科学技术可以持续扩大人类的能力,资本也越来越多的投入到了科学研究之中。
知识的大爆炸,一方面没有人有精力和能力从头到尾研究一项技术的所有上下游环节,另一方面也没有这个必要,精细化分工和协作提高了全社会的效率。对于计算机科学更是如此。开发一个 app ,原则上不需要先从头开发一个 android。利用好现有的研究成果和技术积累,提高效率,加快创新的速度,在有限的时间里发挥最大的价值。譬如,要开展一项工作,首先去看看业界当前的最高水平是什么,别人已经趟过的路就不要再趟了,努力和前沿看齐,先争取处于同一起跑线,再往前摸索。
关于追求卓越,一般情况下,把一件事情做到完成,基本一名合格的工程师都可以搞定,但是把事情做到超越预期,做到具备核心竞争力,这样的人是少之又少,所以不要局限在把事情仅仅是完成,或者限定在自己所认为的完美,多抬头看路,要做就做到完美。
关于每天学习,知识总有过时的时候,学习能力和学习本身,才是永恒的竞争力,作为一名追求成长的工程师,坚持每天学习。学习的方式方法、学习的途径可以多种多样,极端情况下,如果不知道该学什么,那么在纠结清楚之前,先随机找个领域钻进去吧,或许学着学着就清晰了。
Ownership,不局限于工程师成长领域,但凡各行各业出类拔萃者都是如此。把公司的事情,当做自己的事情去跟进;对工作中出现的不好的地方,也要勇于指出和纠正;对于三不管的地带,要乐于去填砖缝。久而久之,不成长都难!