企业超速发展中的时势与英雄:曾领导Facebook 和Dropbox 工程师团队扩张的Aditya分享经验教训
编者按:本文来自First Round Review,他们准备的文章既讲故事,又向创业者提供可操作的建议,以助力打造优秀的公司。
激进扩张似乎存在于Aditya Agarwal的基因里。
在他加入Facebook的6年里,Facebook从一个不到15人的创业公司迅速成长为拥有7亿用户的社交网络巨头。而Aditya 也由一名普通工程师,变成领导着2000名员工的产品工程总监。
离开Facebook后Agarwal和妻子(Ruchi Sanghvi, Facebook的第一位女工程师)以及另一名前Facebook职员于2010年创建了提高团队写作的公司Cove。在2012年,Cove被Dropbox收购后,Aditya 出任Dropbox的CTO管理30名工程师。2年后的今天,Aditya手下的工程师团队已超过200人,而Dropbox的用户也由当时的5千万增长到今天的2亿。
Agarwal称,自己的职业生涯至今,就职的公司都恰逢超速增长期。要想达到如此超速的增长,领导者们要总能够看到6个月后公司的情势。Agarwal解答了在每次冲刺时,他是如何保证团队合作且高效运行的。
在建立一个团队时,不要怕一次次打破固有模式
当一个创业公司建立其核心团队时,新员工往往是创始人的熟人或朋友。以Dropbox为例,很多早期员工都和两个创始人Drew Houston与Arash Ferdowsi一样,来自MIT。但随着创业公司的成长,很快就会需要多元化人才,招聘标准也随之改变。
一个能写出三个iOS 应用的人不一定能够以你习惯的方式,迅速在白板上解释出他的思路。而面试主管也不一定有时间审阅每一个候选人的“作品”。
在Dropbox,为保证人才多样化且应对公司的潜在扩张,他们做出了以下调整:
"在面试时我们要求有经验的工程师回答这样的问题:讲述一下你职业生涯中,曾构建的三个系统和他们的优劣。"
Agarwal认为,想找到写代码和建系统能力强的人不难。但在超速发展阶段,更需要对公司的技术以及产品有激情的工程师。
因而,你要找的人需要具备以下质素:
- 学习能力强
- 能迅速适应改变
- 在模糊的指引下随机应变
- 能考虑到产品完整的生命周期
大约在一年前,Dropbox的内部构造还是根据平台分团队——有基础建设、网页、iOS、安卓、桌面客户端五个团队。每个团队负责自己平台端的产品。不出意外,如此分工会降低跨平台合作的效率,且工程师们少有机会关注他们核心技术外的领域。
因此,Dropbox做出改变—
"如果你的团队里缺iOS工程师,那就让团队成员学起来。"
工程师们不仅仅负责自己的部分,向更多领域延伸。如今,在Dropbox能贡献iOS代码的工程师,从以前的3-4人增加到现在的25-30人。
在繁荣和萧条间提高弹性
在企业超速增长的阶段,用户会如洪水般涌入。即使看上去产品依然能够无缝适应用户需求,但Agarwal则认为,无论对公司还是员工而言,不断拓展及完善核心技术都是重中之重。在这样的阶段,一次挫败就可能彻底打乱开发日程。
Agarwal认为,作为一个工程师,在个人或公司表现良好时不应自满;同时,在遇到困难时也不要泄气。
一个项目/产品的第一名工程师会影响它的文化。一个对技术有热情,不会被小失败打到的通才型工程师,是培养一个团队的最佳人选。流动性和灵活性很重要。选择加入创业公司的一个很大原因是,与封闭且功能被细分的大公司不同,创业公司提供了更多机会去接触和学习更多领域。
对于一名高效领导者的要求是:
- 快速掌握你专长外的东西,并在该过程中明白:失败难免。
- 抓住学习机会,不要轻易放弃你解决不了的难题。
- 不要情绪化,做好面对困难的准备。
应对不断改变的目标
在超速发展的公司里,你面临的问题一直都是, 未来的六周内你能完成什么?
Agarwal称,团队决定他们的目标,我们作为管理曾给出反馈,评判计划是太有激进还是过于保守。
"计划的过程往往比计划本身更重要。它迫使人们去思考和规划他们所能做的事。"
而在产品开发阶段的超速发展,并不意味着将半成品呈现在用户面前。
"对于新功能的发布,我们有非常高的标准。但是我们在每个阶段之间行动飞快。"
以Dropbox的桌面用户为例,当要增加或更新一个功能,要至少经历一下四步才能发布:
- 内部测试
- 论坛参与者试用新产品
- 新用户使用更新版本
- 所有Dropbox产品自动更新,工程师们进行全面测试
将有机价值的实现规范化
Agarwal回忆,在Facebook时,Facebook的团队以迅速和积极改变出名。而在Dropbox,则更关注保证高质量。公司发布的一切都必须被精雕细琢过,有时越靠近发布日期,进程越缓慢。但只要最终完成的版本与核心价值一致,时间上的延迟可以被接受。
"我们坚信所发布的一切,无论在概念、设计、使用上都是简洁而优美的。我想没有别的公司比我们更狂热地坚守品质了。"
当一个创业公司向一个复杂的企业过渡,工程师团队通常面临两个选择:
- 重写系统,以应对规模扩张的需求,但这个过程耗时较多。
- 继续在利用现有系统追求高速增长,但须得做好系统时常超负荷的准备(有时会很麻烦)。
Agarwal选择的两者的结合。在让工程师团队不断优化系统的同时,保证产品的稳定性。就好像冲刺间歇训练,通过让运动员每次达到极限来锻炼更强的体魄。用公司的核心价值引导工程师团队的冲刺,以保证产品的可靠性。
"如果你的做法正确,那么一些细微的不完善是很常见的。更重要的是,要让每个人都知道,一点点的混乱不是大问题。"
安全稳定是Dropbox这个产品的核心价值之一。工程师们可不希望用户的文件被破坏或丢失数据。但追求高质量并不意味着团队就只能把步子放慢下来。管理层要操心的是,如何“两手都要抓,两手都要硬”?
对管理层的规模的相应调整
在一个超速增长的公司里,部门规模在扩张,有些工程师也开始带团队,而如果在沟通、协调和计划这些事情上花费时间过多,他们写代码的时间反而会被挤压殆尽。
虽说在技术负责人看来,工程师可以通过带团队学到很多新东西,但与此同时,技术负责人也需要明白,有哪些事情是不该由这些带团队的工程师承担的。Agarwal表示,不是每位工程师都乐意带领一个百人团队的,哪怕公司规模下个月就要扩大一倍。
Agarwal认为,作为一个领导者,如果你可以清晰表达出你公司最看重的价值,那么你就有能力告诉别人他们所做的是否符合公司核心价值。被升职为经理并非是最高荣耀,有时,作为一个公认的个人贡献者才是最好的。
内部的计划和沟通有时会跟不上企业超速发展的脚步,因此要设计出一套合适企业当下规模的管理系统就成了难题。
公司的所有员工都应当了解大方向,少数人则需要更多细节。一名技术领导者应当做到以下2点:
- 保证尽可能的透明。
- 不要吝啬在方向上给工程师们以指导,或引导他们去寻找有帮助的人。
在10倍速增长的环境下建立10年的企业文化
对于已有自己独特企业文化的小公司而言,在多大程度上坚守最初的企业文化值得深思。在辨认出自身核心文化的同时,要以一个开放的态度面对公司的多元化。尤其是吸纳了Google,Facebook或微软的前雇员以后,应当不吝啬地用他们带来的文化完善自己的企业文化。
同样道理适用于收购。在去年收购 Mailbox前,Dropbox悉心准备。Agarwal称,他们仔细研究了Facebook,Google和亚马逊这几年来的收购案例,并着重观察那些收购后在新公司成功的产品。
他们发现,往往成功的收购都保留了被收购公司技术团队的独特性。例如,即使YouTube已经是Google的一部分,但他们依然独立运营。
在收购了Mailbox后, Agarwal称,“我们基本上就告诉他们,继续去做你们一直在做的事——在Email市场大展拳脚。尽可能地利用Dropbox 的各种公司内部资源。”
你的方法会替你传递企业文化信息
2004年,刚从CMU毕业的Agarwal成为了Oracle当时3万名员工中的一员。在那里,他看到了公司的产品生命周期是如何影响企业文化的。
"我在Oracle的时候,通常一个新工程师入职一个月后才会完成一些代码,也就是说,它无形中传递出这样的信息:在Oracle,写些代码,花上一个月也是可以接受的。"
而Facebook则传达出不一样的信息。从Agarwal加入时到现在,Facebook都秉承着让员工立刻写代码,迅速进入角色的传统。即使这样做存在一定风险,但Facebook的文化一直是让每个员工都迅速行动,为产品尽快贡献代码。
Agarwal说,"当Facebook开始启用boot camp系统时,其中一个最明确的目标就是:入职第一天进入代码库,第二天你就有代码产出了。这真的很棒!"