Mike Curtis的整个职业生涯一直致力于让企业不被官僚主义拖累。他拥有在AltaVista、AOL、Yahoo和Facebook等硅谷巨头中丰富的工作经验,现在,他在Airbnb担任工程副总裁,成为这个在高速成长中团队中最专业的舵手。凭借在科技巨头企业中接近20年的管理经验,Curtis成为对抗官僚作风的老手。
实际上,Curtis以一条简单的原则来建设一个高效的团队:对抗低效官僚作风最好的方法其实是经典用最经典的方式——了解它,招对人,为创造高效的工作条件。通过践行这条真理,Curtis驾驭住了世界一流的工程师团队,团队支出报告和网站的稳定度,都令公司无比满意。达成这些成果,Curtis靠的是减少规定而不是制造规则。
与常规的官僚概念稍有不同,Curtis给创业公司中的官僚作风做了如下定义:
1:阻碍着你的那些破事。2:阻碍着你的工程师们的那些破事。
对于一个组织而言,有时候会发生这样奇怪的状况,当雇佣更多的员工时,产出并没有相应的上升。“随着一个组织的大小和复杂性的增长,个人在其中的工作效率缺降低了,”Curtis说道。随着人数的增长,官样文件也呈几何级不断增长变化。
为什么会出现这种情况呢?Curtis说:“我觉得这就是我们本身应对问题的方法上来了。”我们天生的对与任何问题的应对方式——不管是服务器宕机了还是在社交场合失态了——都是首先保证同样的问题不犯第二次。在管理公司的过程中,或多或少的我们都会通过颁布新的规章制度来避免员工犯错。“当你颁布了一条新的规定的时候会发生什么呢?显然,就是这条规定必须不与现行规定相违背。”随着这张为了防止问题出现的大网不断扩大。很快,人们就被各种条条框框所束缚,导致效率低下。
为了从公司创业之初就消灭这种官僚作风的倾向,Curtis相信应该采取两条实用的策略:
“首先,你的团队应该有良好的判断力,因为你需要信任他们。之后,你通过强力的原则来让你的团队拥有优秀的判断力。”
招聘合适的人充实团队
减少规则的前提是,你必须打造一支在规则缺失的情况下依旧能够作出正确判断的团队。因为,招聘合适的人十分重要。
在招聘过程中,记住这样一个问题,“这个人会不会为他所面对的未知事物所激励?”
没有一家公司会实现完美,从来没有。所以当事情开始变坏的时候,你需要那些愈挫愈勇的人——这些人不会停下来抱怨,而是去着手解决问题。即使遴选和面试的过程十分艰辛,考察应聘者是否能融入公司文化至关重要。
很多企业和工程师团队领导者们都愿意为找到技术大牛而在别的方面有所牺牲。别这么做。Curtis建议在面试中至少花45分钟给面试者的文化和性格上去。文化背景和观点的多样性是Airbnb招聘过程中最重要的一点,所以“文化适应性”就是找到拥有职业道德并认同公司使命的人。如果一个人都不相信公司能够成功,他肯定是不是合适人选。
在Airbnb,Curtis发现按照以下四条来做能够从面试中得出最多的有效信息。
先让他们舒服一阵。在面试的前15分钟,让候选人描述一个他们得意的项目。这个环节的目的是答题的了解到激励他们的因素——是技术挑战呢,还是与团队成员之间的交流呢?Curtis评价道:“尝试着找到这个人活力的来源”
然后,让他们不舒服。硬币的另一面也是重要的,你需要知道你的候选人在他们不那么兴奋时会做出什么样的反应。问问他们关于困难的经历或者失控的时刻。Curtis有一些用来切入的问题:“描述一次你非常不同意管理层的情况,发生了什么?”和“回忆一次你为了赶在最后期限前交付而偷工减料的经历,你是如何处理这个的?”这种问题是纯粹用来观察被面试者的反应的。候选人是否开始指责别人然后说,“这就是为什么我不能完成我的工作,或者这就是为什么那个公司没有前途?”或者说他们会开始谈论自己是理解别人的观点,问题最终是如何通过合作解决的。”
标准化你的结果。判断一个候选人是否有能力解决一个编程上的问题是一回事,判断一群人的时候就复杂的多了。这是一份难得多的工作,但是我们还是可以在这上面应用一些技巧。Curtis说道:“我们把所有的候选人拉到一间屋子里并让他们开始同时开始检查几个数据包,这样可以客观的进行对比。”最基本的原则是,对于候选人的判断要尽可能地客观。
注意是否受到过面试培训。如果一名候选人对公司的内部语言出人意料的熟悉,他们很可能在面试前受过培训。他们或者自己先查了很多资料,要么便和公司中工作的某人交流过了,”Curtis说道。这并不意味着一票否决,而是说你得注意不能让自己为此所影响。
利用第一印象进行判断
理想状态改下,你的文化背景面试会保障你雇佣到一批多元而又能秉持你的信念的,有高度职业道德同时还能带来新的想法与视角的员工。一旦他们进了门,第二个关键时刻到了,“新入职工程师的第一周工作是你为他们建立期望值的最佳窗口。”Curtis说道。在领导工程师团队的过程中,他发现在入职管理流程中做这些事情会在未来带来巨大的回报:
1.提醒这些新成员他们在与最优秀的人一起工作。“我往往会谈及有多少人也申请了他们的职位,这样他们就会知道入职之路是充满竞争的,他们正在与特别棒的人合作,”Curtis这样说。这样的说法除了给员工们士气上和兴奋度上的显著提振外,也极有效的让新员工们拥有一种紧迫感,让他们对未来充满正面展望。
2.强调快速的重要意义。在Airbnb,Curtis对于新工程师们的指导就是将小件优先完成。对于那些习惯做巨大的系统工程的人们来说,这是一个全新的世界,但不可否认的是,这让员工们养成了一种万事皆重要的完美主义观念。Curtis对新员工们这样说:“先搞定一些简单的小代码,搞清楚事情是怎么做的,之后才可以做大家伙们。”
3.让不完美成为一种资源而不是累赘。让所有人从一开始都知道你的预期目标:有些人会从不确定性中汲取能量。“我会告诉他们,事实是那些成功的人往往是看到不完美并从中汲取动力的人们。”Curtis这样说。同时,不能忽视的是,单纯的冷嘲热讽和抱怨是不会得到正面回应的。
4.重申你的团队价值观。这些原则可以是任何你觉得正确的话。比如“做行动派”或者“观点强力,心态开明。”不管你想到的是什么。
5.欢迎新成员加入招聘团队。那些刚刚通过面试的团队成员很快将会加入到你的面试进程中来面试新成员了。所以确保你团队中的新成员了解参与招聘也是他们工作中至关重要的部分。“你希望他们像对写码一样认真对待招聘工作。”
6.建立明确的交流机制。开放透明的交流机制是对官僚作风的强力一击——没有什么比告诉你的团队他们可以直接与高层交流更重要。Curtis这么说:“有些时候人们觉得一切对团队外的交流都需要由他们上级部分完成,当你告诉他们他们可以直接找更高层的管理者时,他们知道整个公司的交流是开放和透明的。”
7.在早期完成一系列考核确认工作。好的习惯总是需要早早养成,所以不要在新的工程师一进门了就不管他们。Curtis发现在一个月和三个月是非正式考核的最佳时机。“这是超轻量级的行动。我们所做的就是从新工程师周围的人身上收集一些反馈。”
你对这些团队成员的提问可以很直接,Curtis建议道:“他们如何应对不熟悉的代码库?”或者“他们遇到了什么问题么?他们如何反应的?”
以文字方式分享这些反馈信息。这些会成为新工程师们遇到困难时的极有价值的参考资料。如果你听到任何怀疑的声音,立刻做出回应,与那位新成员找个机会面谈,告诉他你的期望值。
组建你期望的管理团队
相对于一个工作了一年以上的人,新人们的成果往往更具有可塑性。
然而经理们的招聘和入职管理,则是另一层要考虑的因素了。每天这些人都会积极的塑造你的企业文化。在Airbnb,为了确保经理们做出好的决定而引出了一个不常见的规定:
我们拥有这样的信念:每个经理都需要从底层开始他们的工作。我们相信如果一个经理人不在编码库中花费足够的时间,他们便不会理解什么可以工程师们变得更高效,而什么又他们工作中的阻碍,Curtis评价道。
令人毫不惊奇的是,这一点让对经理人的招聘更加困难了,不过Curtis发明了一个为公司寻找长期来看最适合领导工程师团队的四步流程。
设定一个预期。招聘流程走了一半才告诉候选人他们不会拿到一个现成的团队简直是在浪费所有人的时间。Curtis:“我第一次同一个拥有大量管理经验并且愿意与我们合作的经理见面时,我直截了当地告诉他他需要从底层做起。”
进行一次编程面试。在管理层打拼多年的经理人们往往会对这样的基础算法面试有些惊诧。Curtis评论道“那些对于信息工程纪律已经不能适应的经理们往往会在这一轮中被淘汰,但这也意味着最后留下的是那些能够编码库做出切实贡献,同时也能理解他们的工程师的人。”
尝试配对。对编程面试要有切乎实际的预期。“如果一个人五年没碰码了,那么他们肯定会很生疏,肯定比不上刚毕业的大学生们,”Curtis说道。配对可以起到很大的帮助。“如果他们的技术方面做的并不是很好,而你相信他们会变成很好的经理,那么做一次配对吧。”让这个候选人通过和员工的合作有一次展示自己的机会,这会让他们展示出先前没有被发现的潜能,让你能够体会到他们在与其他工程师一同编程时所展现出的精力。
给面试者足够的时间。编程面试的目标就是让经理人们有足够的时间来与代码库互动,所以不要急于求成——在公司基层做六个月差不多够了。“这件事的意义是在参与管理之前给他们一个做出一点切实贡献的机会。”
更多原则管理团队
在这个时候,通过缜密的招聘和入职培训流程,你得到了一个拥有优秀判断力的一流团队。所以,他们该如何编入先行工作团队中去,你该如何管理你的企业呢?“这便是你该开始通过一个更加偏向原则的方式来管理你的企业的时候了。”Curtis说道。为了证明这个观点,他提供了一些在Airbnb使用的原则。
旧政策:所有开支需要预先批准。
新原则:在进行一笔预算的时候假设是由你自己掏钱,如果你觉得不妥,给你的管理者再看一遍这个预算。
“预算报告对我造成的痛苦简直罄竹难书,”Curtis这样说道。Airbnb的原有一个冗长笨重的政策:不论大小的开支都需要在提交前取得同意。所以Curtis就试图通过一条原则来替换这个规定,把$500设立为是否进行预算审批的基准点。结果呢?铺张浪费的情况并没有因此而泛滥,而大量的时间成本则被节约了下来。
旧规定:工程师不经经理批准不允许开发后端服务。
新原则:在新的编程体系中作业时——当资深技术领导人同意时——工程师们可以开发后端服务。
这是规定变成了人的制约的另一个案例。“你必须像你的经理解释你要做的事情的意思,解释他的基本原理并让那些文科生理解你然后同意你你才能进行开发。”Cutis说道。于是他尝试了一项新的原则:让一群资深工程师定期主持会议来决定对企业最重要的编程流程,然后将他们结合成文件化的编码原则。在这份文件的指导下,工程师们可以自由的加入后端服务。“哪怕并不是这份编码原则中所允许的,只要获得了资深工程师团队的允可,就可以编入。”
把公司固定下来
我有一个理论,改变一个公司文化的唯一途径是正强化与团队压力结合。
几年前在Airbnb,几乎所有放入产品内的代码都没有经过先期审查。编程团队写代码的速度是很快的,然而网站却是极不稳定的。Curtis让先期审查变成一项重点工作了——但是如何做到这一点呢?“对我来说有一个这样的决断时刻,我可以像往常一样写一封长长的Email发给我的团队告诉他们‘你们在把代码放到产品内之前要进行先期审查。’然而,我们选择了另一种方式。”
你团队的目标也许与他们不同,不过Curtis为了始这一点成为重点所做的努力值得借鉴:
让它成为可能。在你设立一个新的重点之前,首先确定他在你的现行体系内是可行的。“我们发现大量用来检查代码的工具既笨重冗长又充满痛苦,做一次代码检查所耗费的时间太多,”所以他在推出这一条原则之前首先更新了检查工具。人们无法完成不可能完成的任务,你需要首先让这项任务可能完成。如果你不这样做,他们会感到困扰、会充满怨念。
创造积极案例。列出一组备受尊敬的工程师作为案例。在Airbnb这个案例中,Curtis让几个资深工程师先开始要求检查编码。“这让我们有了一大堆优秀的代码检查案例以供团队参考学习。”
套用社会压力。对于推进一项改变企业文化的事项来说,全员大会的价值是难以估量的。全员大会是肯定要开的,所以让大会为你的目标服务吧。“我们开始着重强调一到两条上周的最佳代码检查案例。”Curtis说道。“我们会让做这份检查的人谈谈为什么检查对他是有帮助的,为什么代码检查有用。”推进新事项最好的说客是团队中已经采纳的成员。
与落后者面谈。如果在第一阶段并不是每个人都参与到了这个项目中去,不要把它看作是针对你个人的行为。事实上,Curtis在转变Airbnb的时候曾设想将转化这些人群作为重要的最后一步。以Airbnb代码检查按理来说,他和他的资深工程师们与每一个对此持保留意见的工程师们进行的面谈并了解了他们的顾虑。“通常谈话的结果是‘试个几周看看会怎么样把,看看有没有帮助。’他们中大多数人都得到了良好的体验于是都加入了代码检查的队列中来。”
通过短短两个月,Curtis没有制定一条规定却成功地让代码发布前检查成为了毫无疑问的准则。Curtis说道:“这就是正强化与团队压力在改变一个公司的文化中所拥有的力量。我没有发布一条敕令,我没有说‘从现在开始就这样了’,我没有改变任何原有的政策。”事实上迄今为止代码检查依旧不是一个成文的规定,任何一个工程师都可以发布不经检查的代码——只是没有人再这么做了。
然而,Curtis并不是单方面削减公司规定这一主张的拥护者。有时候你需要规矩。“一个极好的例子是当你在海外时,我们有严格的规定限定了你可以获取什么样的数据,不可以获取什么样的数据。”当涉及到公司存亡问题的时候,不要犹豫制订规定吧——不过尽量减少这样做。
真正的难点是承认一条规定不能存在于真空中——他们与之前生效的规定互动——产生一个越来越限制人的条条框框你想要尽量减少这些条条框框,最简单的办法就是去相信你的团队,并明确的表达团队的价值取向。
说到底,这取决于相信拥有优秀决断力的人,确保你雇佣了他们,并用优秀的原则指导他们的行动。