左耳朵耗子:打造高效团队的最佳实践|GTLC
我是陈皓,曾经是亚马逊、阿里巴巴的首席架构师,专注于云原生、高并发。这是我第一次从非技术的角度出发来讲述企业内部管理,并没什么最佳实践,我其实更多的是和大家一起探讨。因为管理是没有标准答案的。
我目前在创业,做了一个小公司,我们不到 20 个人的团队做了很多东西,包括一个整个微服务的基础架构云平台。我自认为这个小团队的生产力还行,基本上把一些关键技术都做到了,所以在这里跟大家做一些分享。
今天,并不是所有的公司都需要高效团队,但是当处理的业务复杂度、或者交互复杂度、或者服务的用户数越来越多,你就需要高效团队了。你需要保证迭代周期能满足用户越来越快的需求,这些貌似是很矛盾的。我们是不是要又快又好,然后还要低成本。所以我们的软件颗粒度也会越来越大,测试的成本也会越来越高,团队的人数会越来越多,还会分布在不同区域,管理问题也会越来越多。合作、执行力全都伴随着问题,这些问题要怎么解决?
这里有好几个备选答案:
第一个我们用流程来增效,比如敏捷,或者是一些 ISO、CMMI 的流程这样的东西。
我们还可以用“权威”,你必须干这个事,今天干不完就不用下班了。我记得曾经在一家公司做测试的时候,一天内找三个 Bug,找不到不准回家。
我们还可以用使命感或价值观,这是中国最喜欢用的,要不停地努力,这是对你好。
还有就是给钱,用钱来激励,这些都是很常用的方法。
再来就是打鸡血,有各种打法,这个我们最熟悉不过了。
还有 KPI,还有 996。这两个几乎是所有管理层最喜欢用来建高效团队的的手段。最后还有提升效率的很好的神器——钉钉。要是老板发的信息,必须得回,不回的话就有一个夺命钉……
等等
这些都是所谓提高效率的建高效团队的工具,你们是不是都在用?是不是很爽?(哈哈)
这些东西不一定错,关键是看你找到什么样的人,有的人就吃这套东西,有的人就是喜欢 996,你不让他 996,他也不知道能干啥。但今天我要讲的是别的东西,这些东西是你的公司或你的团队要去更高的位置,能解决更复杂更难的问题,能够有更有价值的产出。如果这个目标是这样的话,上面的那些招式都不灵了。
什么叫高效团队,一般看的是团队中的人,团队中的事,还有团队领导力。
我们先说人,有几个相关的问题。先来做个假设,我们今天的团队 / 公司,明天要做更高级别的事,对于一个公司来说,这是一个最基本的假设,因为公司要成长,要去更高的地方。所以如果你的团队也要去到更高的位置,这个时候,你有两个选项,一个是招到更高级的人,让自己团队的人真正的成长;另一个是一个月 300 小时的工作,干不完的话,一个月 350 个小时或者一个月 400 个小时,到底是哪一种,才能够让你站到更高的位置?
什么样的人是高效的?我们怎么找到这些高效的人,高效的人到底有什么样的一些素质?这种人难找,又很难培养,怎么办?我找不到,我也不会培养怎么办?你是花时间教育有问题的人,还是花时间培养有潜力的人,还是花时间寻找优秀的人?这里留给大家一些思考。
团队管理的头等大事是找到最好的人,没有之一。你要解决团队里面的一些琐事,让他们拧成一条线往前走。招聘错误的人破坏性极大,正确的人让团队管理和建设变得简单有效。就像 Jeff Bezos 说过的一句话,我宁愿面 50 个人一个人都招不到,我也不愿意降低我的面试标准。是不是就不招人了?也不是,你可以应急随便招人,但是,如果你明天招来的人,比今天招来的人更差,那就完蛋了。就算今天招的人是最差的,明天也要招比他更好的人,而且要不断地超过现有一半以上的人,这样你的团队才会越来越好。
那么,什么样的人才是好的人?
第一是指能搞定事的人,这是最基本的。独立完成的意思是,我不用为了完成这个事情而去找别人帮助,一个正常的团队成员必须要能独立完成他自己的事情。然后,当他能够独立完成工作后,我们还会对他有第二个要求,用最小的成本完成这个事。
第二是讲方法的人,人和人最大的区别,就是方法。我举个例子,像数学一样,我会用微积分,你不会用微积分,你就和我差很多。会用方法的人一定会比不会用方法的人强 N 多倍。方法从哪来?就是要从总结还有学习而来,像我们家小孩上小学,我教他数学题,我就觉得设个未知数,弄个方程式,什么都能解,但是他不懂这种高级方法,解数学题就得各种绕弯。所以方法是非常重要的。如果不讲方法,我个人觉得都是使蛮力的人,讲方法的人,平时一定会总结和归纳出很多的套路。不管是编程还是解决问题,如果能会用方法论还有一些模型,那么他的眼光必然是长远的。
第三就是沟通能力比较好的人,除了能够听指令,按要求完成工作,更要是能够把模糊和复杂的东西给表达清楚,如果能够说服别人的人,那就更好了。
第四是有领导力的人,坚持高标准、喜欢分享、喜欢思考、喜欢挑战,还有一些有全局感。如果只能要一个的话,我觉得是标准高,标准高的人一般都有领导力,就是他不能忍。如果一个人能忍了,他就会越来越弱,因为只要能忍,他就会各种妥协,各种 low 着来,因为忍是最简单的。但是,如果一个人不能忍了,他就会有更高的要求,不能忍的人一般都有想去改进的愿望,他们就想把这个事情做好。但是,这样的人可能会和你或你的团队产生很多摩擦,你可能会觉得这样的人是团队的恶果,但是我想告诉你,一旦出现这样的人,你应该珍惜他。这种人在社会或者组织里面是很有用的。
所以,具有领导力的人,标准要高,但是标准比较高的人,通常来说都会让标准比较低的人觉得格格不入,标准低的人说“干嘛这么累”,“为什么做那么好”,“何必呢”,“差不多得了”。这些都是属于能忍的人。
我们看一个 Google 评分卡。我在 Google 的时候,Google 会给员工让自评一下,自评在一些技术领域中属于哪一级别,从 0 到 10,一共十个级别。我仔细看了一下,把它分成三个类别,第一个就是入门,可以实现一些小的改动,了解几个原理。第二能够独立完成事,不需要别人帮助检查,对这个领域非常熟悉,能够应对所有的日常工作。再往后面,从零开始开发大规模的系统设置,包括一些高级技术的利用,能够理解一些晦涩的问题。最后一个等级是在领域出一本经典著作,那些可能是认证的大师。
上图是 Google 找人的标准,依次为技工、工程师、专家、领导者。
我们往后看,什么是找到人的优势。首先,我们找人要找特长,人和人之间的差别是一个很可怕的事情,当你见过一些很厉害的人,你会发现不是智商的问题,而是 DNA 问题,基因就是没长好。
每次去美国的工程师找他们聊,越聊我觉得我和他们的差距不是学习能够弥补的,我觉得这是 DNA 的事情。有的人的特长就是他能天生高出他的同龄人,有的人就是学得快。比如说听音乐,有的人就是会比一般人对这个事情敏感。
还有如果能找到有兴趣的人,就那种不服输的精神,说“我不要钱,我自己愿意去干,对这个东西很感兴趣”,那是嘴巴上的,得是“我不服输,再苦都愿意坚持”,这才叫做兴趣,是对某个事情很着迷。
接着才到方法,大多数人如果懂方法的话,有时间观念,会做计划,不磨蹭,对做过的事情总结,喜欢自己找答案,自己理清事情的因果关系,不希望直接要答案,这种人喜欢追求原理,懂原理的人会一通百通,懂原理的人也能够突破自己的天花板。
然后是经验,其实经验有很多东西,受过良好的教育,有不错的工作经历等等。最后才是勤奋,勤奋就是个老黄牛,我可以告诉大家,勤奋解决不了太多的问题,勤奋不可能把你所有方面往上提的。经验也不太可能,只有前面三种,才有可能是一个人的主导优势。你要找的人,或多或少一定要有 1 至 2 个点。如果找不到这样的点的话,先从自己开始,培养自己。
下图是我给我们团队做的成员划分,一个是驱动者,一个是优化者,还有贡献者。
驱动者,基本上是公司的顶梁柱,也算是合伙人,他们要做出贡献和带着团队往前走。任何一家公司都会有人带着往前走,那个人就是驱动者,所谓的“老司机”。他还需要有创新优化的能力,还有前瞻能力,能抓重点是极其重要的,因为任何事情都是有重点的。
优化者,意思是有探路能力,虽然不知道去哪,但是告诉他方向,没有路了他也会去找。这条路上有很多很多的坑,也没事,他都能搞得定,“只要告诉我去哪,我就一定能达到目标,因为我会用方法,我有解决问题的手段”。
贡献者是公司的执行力量,不是说把事情弄完就好了,还得做降低成本、提升效率的事情,而且还要够稳定可靠。
除了这三种人以外,剩下的人都是可以替代的。他不是你的核心团队成员,只是你的员工,是流水的兵。但是,如果你的团队里没有这三种人,你会很难受,或多或少要有几个这样的人。你要找到这样的人,你才可能提升你的团队。这种人是不可能通过 KPI,也不可能通过用钉钉,也不可能打鸡血,灌他使命感,他就能拥有这些能力的。
团队运作的效率是做得更多还是跑得更快?快速迭代,快速试错是最有效的吗?互联网实践就是赶快失败,赶快试错。另外一句常说的话是,战略上的不努力就导致战术上的勤奋。没想清楚就干,这是非常不好的。就像我们代码写不好,你就测试,测试不努力,你就运维努力,运维不努力,那你的客服就得努力了。总要有努力的人,这个努力的点越往前,成本就越低、也越有效。哪些东西在阻碍生产的事,是管理、沟通、流程、工具还是人员?什么是有效率的生产?劳动密集型,规模化还是自动化?
这是效率的物理学公式,可以看出,不是要比别人干的活多,也不是比别人干得快,而是所干的有多少是有用的。所以要增加效率的话,要么增加有用功,要么就降低总功。
在亚马逊,程序员拿到需求的第一句话就是,我为什么要做这个需求,这个需求有什么用?其实有时候你追问为什么,你会觉得有点不太好,但是如果你的组织都在追问为什么的话,其实你的效率可以提高到很快——因为你会不停追求真理和有价值的事,如果一个团队里大家都在这么做的话,这个团队是非常强的。
我们有些时候说老大要跟下面人去讲,我们的共同目标是什么,我觉得这个其实是没有效果的。因为老大讲出来目标,说我们要去哪,别人理解起来是有问题的,不一定会理解得很好。
但是如果反向,让他自己来追问,自己去探寻,我们公司要去哪,到底要干什么样,只有自己思考过的,才会更好。小时候父母老是给我们压了不少他们所谓的理想,但你自己不去思考的话,不去经历的话,你永远不知道父母为什么要告诉我要学这个,要干那个事,带团队也是一样的道理。
所以需要让他们经常性地自己来问,为什么要干这个事。可能会有很多的噪音,认为“不要问为什么,去干就行了”的团队,这种管理没问题,有时候我们需要这样的执行里,但是如果你要是希望以后团队往上去的话,那么你需要开始问为什么。
抓重点,任何成功的公司都是会抓重点的,不会是一开始什么都干,亚马逊一开始卖书,然后卖玩具,京东也一样,阿里也一样。阿里这个公司最厉害的我觉得就是抓重点,什么时间点该干什么,抓得准准的。该做支付宝的时候做支付宝,该做天猫的时候做天猫,该做阿里云的时候做阿里云,相当厉害,每一个都抓住了。只要你抓住重点,可以犯一万个错误,阿里的错误是我所见过的公司里犯最多的,无所谓,重点抓得对,随便犯。所以你方向对了,犯再多的错误都无所谓。这就是为什么我觉得提升效率三板斧的第一个是抓重点。很多公司都抓不住重点,觉得什么都能干。有公司老是看竞争对手,竞争对手干什么也干什么,这其实是同质化竞争,应该自己想想怎么样干更高级一些。
举个例子,移动互联网来的时候,有两家公司都受到很大的冲击,一个是百度,一个是 Google,广告是这两个搜索公司赖以生存的东西,如果他们不改这两个公司一定没有生存之路。Google 干了一个事,开源了安卓操作系统,百度干了一个事,百度外卖。Google 不是个开源公司,死了 200 多个产品,它都不开源,为什么安卓它要开源?试想 Google 如果不开源安卓操作系统,那么今天手机市场只有两个公司,一个是苹果,另外一个是微软。所以 Google 开源了安卓以后,就让天下人去做安卓系统,去跟苹果还有像微软这样的公司抗衡,这样能保住它的市场。百度没有抓住重点,所以,掉队了。
抓重点是非常重要的事,我们团队也是类似,我们觉得一年能做成一件事就已经很不错了。我到很多公司里面去看,他们都说你看我一年干十件事,我一年干了二十件事,其实一年干成一件事情,把一件事情做好就很好了。像我们每季度开会,一个季度就做两到三个 feature,但是想清楚我们要做哪个。有时候公司人多了以后,就会去想,这些人我得给他安排点什么事,不能让他闲着。如果你的团队人少,你就会想另一个事:我的团队做不过来这么多,那么哪一些更重要?如果想要促成高效团队,就要让自己饿着,让自己条件受限,只有条件受限了,才会想着用工具,才会想着简化,才会想着抓重点。
自动化,简化导致标准化,标准化导致自动化,自动化导致规模化,这是我总结的。如果不规模化的话就不会有效率。五年前,亚马逊全球的机房加起来的虚拟机一共有 2400 多万台,然后开发人员是又做开发又做测试又做运维,从头做到尾,前端、后端、开发与测试、运维全覆盖。两三千工程师运维两千多万台服务器。两千万台服务器是不可能用人工来运营的,思维方式完全不一样了。只能用人去管程序,程序去管机器。
降低成本,最重要的是去除一些支持性的工作。有的工作开发是叫产出性的,但是我们也有可能把它做成支持性的工作。测试、运维这些很大程度上也是,包括经理都是支持性的。当你的组织里面,支持性的工作的人越多,你的健康度就越糟糕。产出性的人越多,你就越好。对团队对公司同样有效,你招一个程序员,觉得代码不好,你就给配一个测试人员,你觉得他需求分析不好,给他配一个需求分析人员,觉得项目管不好,给他配一个项目管理人员,你觉得运维不好,给他配个运维。当支持性的人越来越多的时候,整体效率就是往下降的。别说效率往下降了,整个团队的生存都会受到问题。
有两种管理方式,这是 StackOverflow 上提出的,一个是电影工作组,一个是小商品工厂。电影工作组就有编剧、导演、演员,每个人都是领导者,都是在每一个分支、在各自的领域都是一个小领导,所以这群人是可以很快地拍个电影出来,他需要每个人的专业发挥,才能拍出一部好的电影。
小商品工厂不是这样,他们假设人就是懒惰的,人觉得工作越少越好,他们招来的人基本都是这样,对公司目标不关心。所以强迫、威胁、处罚等无所不用,去威胁、去用钱激励、用钉钉让打卡、996,无所不用,这就是小商品工厂。所以这种公司一般组织单元和人员很多,因为对员工不信任,审批和流程极其严重,干什么事情都要走各种流程,整个组织运作的效率非常之低。
还有两个关键点,设置共同的目标,倾向使用小团队。拆解大的问题,全功能小团队,专注和简化。
设置共同目标,就是一定要明确你要什么不要什么。如果什么都要的话,是没有共同目标的。我往这条路走,那条路就不过去了。如果这些我都要选,这就不是目标了,目标一定要有取舍。像登山队,如果你的团队想登高峰的话,就会越来越强。如果不想登高峰的话,那是另外一回事。
这是亚马逊的一些文化,吃自己的狗粮,自己的东西要自己用。Two Pizza Team,如果你的团队用两个披萨还喂不饱,你的团队的尺寸就大了,那你就要分解你做的事情了。还有一点,亚马逊喜欢简化和自动化。没有 Kitchen Sink(水槽),不能什么东西都往里放,因为这样无法运营和运维。还有 Tenets Culture,这个像“宪法”是每个团队都有,每年都要更新一次。然后是关注 SLA,在你做产品的时候,先写 3 个文档,分别是 Press Release、User Manual 和 FAQ,不能有图片,只能两页纸,这意味着你的产品要是简单的。这些只是亚马逊通过用来提升效率其中的一些手段和方法。
关于开会,我觉得国内开会简直太可怕,总结下来,第一是没有议题。我觉得开会一定要有议案,聊之前是不是拿出两个方案,连方案都没有聊什么。国内一些开会其实是政治博弈,会找各种各样的理由不做这个事情,或者是沟通协调不了。你一定要拿出议案,要不然那个会议一点意义都没有。所以我给大家建议,一定要拿方案,没有方案的话,先去找领导。先在下面把人搞定,人数越多越要有议案。
解决争议,要有责任人,而且还有议事规则。像我们公司,第一标准是工业标准,第二标准是国外标准,第三标准才是自己的经验,这样做是为了解决争议。你说这个方案有用,找个引用给我看看。找不出来的话,对不起,我不认可。哪个大公司是这么干的,哪篇论文是这么写的,哪个开源软件是这么实现的?找不到的话我不会认。找不到的话,你去写个论文,告诉大家我觉得这个方案挺好的,听听大家怎么说,大家都觉得赞了,我们再用。然后我们还要多方案比较,确定要什么不要什么。会前充分决议,会后一旦形成决议,不同意也得支持。
上面是一些有效争论,要有产品的一些原则,没有原则的话,那就没办法了。今天我可以把你拐到这个路上,明天他也可以把你拐到那条路上。所以任何事情要有自己的定位和原则,要想选一个大方案,然后分治法。
很多人说,陈皓你讲这个东西挺好,但是我们非常忙,没有时间来干这个事。这其实是在混淆很多东西,忙并不是你不去那个地方的理由,你忙应该去解决的是你项目管理时间安排的问题,而不是找到一个借口说,你这个东西我弄不了。你看,你要随时把各种问题给分开,就是你忙归忙,这是时间管理的问题,但是你不去这个地方的话,标准提不上去,你自己不学习、不进步的话,那是另外一个问题。如果人能力不行,你可以招聘,可以培训,但是你不能说,人的能力不行了,所以,我也就不必用更高的标准做事了。人为自己找理由的能力,不学也会。
把很多的事情混淆在一起谈,是相当多的人喜欢玩的一个讨论方式。所以我一般谈很多事情的时候,一定要把它切分开,谁是谁的。不要我在说这个问题,然后你跟我说别的问题。所以很多公司请我去交流,基本上都会被我问得哑口无言,因为我有分治法,他无法混为一谈。
有的人跟我说成本问题,他们就,你说这个挺好,成本是不是要求挺高的?我说你不这么做你就没成本了吗?你上线的速度快了,问题也很多,未来不断返工,代码质量越来越烂,人都走完了,这个不是成本吗?长期成本 vs 短期成本的问题。
其它的一些实践,任何事情都要有一个责任人。文档是一种深度思考,一定要学会写文档。做正确的决定,用数据和权威引用支持。模型化,一定要缩减支持性的工作,然后演示 Demo,你做什么东西,每个月找个时间来给团队做演示,当要把事情演示出来,人就会变得认真了。1-2-3 法则,1 小时没有思路,找个人讨论,2 小时没有结果,请上升到团队,3 个小时没有结果的话,请上升到整个公司。
所谓领导力其实不是职位,不是头衔,更不是称号,是别人有问题会来听你建议的一种现象。别人由心里愿意跟随你,愿意听你指教的一种现象。别人学习你、参照你、模仿你的一种现象。别人愿意模仿你、愿意跟随你。你必须要以身作则,要求别人做到之前自己先做到,Leader 是一个团队里面的天花板。
能力转换模型,首先你的视野要开,你不可能思考你看不见的东西,所以你的信息源很重要。还有另外一点是,你有了认知以后就要学习,系统化地学习才能得到知识。然后去实践,才能把知识转变为技能,这是一个三部曲。现在一些培训基本上都只到认知,到不了知识和技能。
我觉得领导带领团队,你的标准要高,要去解决问题,然后要有创造力。创新没有也没问题,但是你的标准要高,要找方法。不要用蛮力,用巧力,然后要学会解决问题,拆解难题。
这是我的一些思考过程,我觉得还是挺有用的。先把数据事实拿出来,数据和事实是没有意义的,你只有在它们之间关联,把它进行分类以后,才有信息。你不分类,不结构化的话,数据是没有意义的,所以我们叫 Information Technology 不叫 Data Technology。Data 是没有用的,你必须对它进行归类,才会有信息。有了信息以后数据才有用,在信息中找到它们的一些因果关系,你才能知道因为这个东西才会导致那个东西。这个我们叫知识,有了知识以后是可以复制的,可以总结出方法,方法才会形成智慧。想想我们的科学实验,一遍一遍地做实验,做实验其实就是要数据,结构化数据,中间找关联,然后再往前走,如果总结起来它就是个公式,所以智慧就是这么来的,这是我的一个思维方式。
还有另外一个思维模式。我在学习的时候,你说这个东西好不好,我去看历史,去看统计,历史上有没有类似的事情发生过,如果历史上没有类似事情发生过,那么也有很大机率会发生。历史的发展总是有规律。另外看它的实用性,看它的价值,我会学一些经济学原理。我还喜欢用法律和程序,事情可以有很多说法,但如果是以法律的角度出发会比较严谨。法律和程序这两个东西很相似,因为都是讲逻辑的,是讲规则的,而且是非常严谨和精确。所以乔布斯也建议大家要学法律和程序,它们的方法论是相通的。
陈皓(左耳朵耗子),前亚马逊高级研发经理,阿里巴巴资深架构师技术总监。目前创业,为 MegaEase 公司创始人,致力于为企业用户提供一个可以不改一行代码就可以提高系统性能和稳定性的产品,即 Cloud Native 和微服务调度。
【讲师 PPT 大放送】 5 月 21-22 日,GTLC 全球技术领导力峰会全球总站在上海举办,与 20+ 大咖讲师探索领导力构建经验,PPT 大放送:彩食鲜 副总裁 & CTO 乔新亮、陈皓(左耳朵耗子)、BiliBili 数据平台负责人毛剑....
点一个「在看」,让更多技术管理者一同受益。