Facebook前工程总监黄易山:工欲善其事,必先利其器

Facebook前工程总监黄易山(Yishan Wong)撰写了一系列文章,很好地总结了Facebook卓越研发文化中的宝贵经验。本刊将继续连载这一系列,本文是第四篇。

成为任何一家以技术为导向的公司的核心前提是——它能够提供一种使人类生活得更好、更快、更有效的工具。公司的效率特别是其技术运营的效率的最佳驱动体现是公司所用工具的效率。

一次又一次,成功的浪潮席卷着拥有更高效运营结构的新型创业公司(例如Google数据中心拥有的海量计算能力,或能创建整个网站的创业公司小团队),它们的成功源于拥有先进的工具。与物理工具不同,计算机工具可以实现“杠杆效力”的反复累积,通过组合这些“杠杆效力”可以达到更高的层级。<!-- more -->

因此,公司的工作效率,影响到你需要雇用的员工数,公司成本究竟是多少,并将直接影响公司内部产品的独创性。这意味着,你的工具团队不应该是一个由二线成员组成的“事后诸葛亮”的后勤部门。你最有才华的工程师应该用公司自己的工具来工作,并且你的公司文化要优先反映这些。编写杰出的工具并继续改善和更新它们比下一个闪光的想法更重要。****

案例1

在Facebook 2005—2006年的发展中,我们根据不断增长的用户数量,聘请了与其成比例的客户服务人员。而后来当我们有1000万用户时,我们剩下的客户服务人员不到20个。在Facebook的用户数量向1亿攀升时,很明显我们不能以10倍于原有员工的数量来雇用新的员工,所以我们让内部方案团队与客户服务分析师的工作配合得更加紧密,建立了更具创新的工具和用户界面,极大地提高了我们客服部门的工作效率。今天,我们只有3倍于之前数量的员工(也就60~70),却为超过3.25亿的用户提供服务。没有外部公司、外部的现成产品,或管理咨询战略可产生如此大的员工效率。这是一个内部工具团队的作品,他们分析了目前已完成建立的工作并创建了定制方案来提高效率,方法是让电脑去做可自动化处理的部分并优化用户体验,这样分析师就可以专注于做人类最擅长的事务。****

案例2

过去,我们拥有数以百计的数据库计算机(和在它们之间传播的数万数据库实例),有别于雇用很多数据库管理人员,我们只有一位数据库工程师,他编写有效的工具来管理所有的数据库计算机。如今,Facebook延续了分配少量数据工程师管理数千数据库的做法。雇用“第二数据库管理人员”是因为我们的第一数据库工程师认为她需要人员来值夜班。

继续发展你的工具和能力,将使你的公司抑制雇用运营人员的需要,让每个前线人员做得更多,这样同时改善了整体协调(少量的人员意味着协调更容易进行)并减少了开支。如今,Facebook的工程杠杆率数据意味着一个工程师在为120万用户服务,我们用户增长迅速,这个比率也在增长。但是一些Facebook的最佳工程师们一直工作在最前线,他们中的大部分人工作内容是在内部抽象和工具框架方面,这些是终端用户从未见过的,但这能大大提高他们同事的效率和能力。

如果你的公司文化优先反映了这一事项,让最优秀的工程师努力改善公司的工具是没有任何问题的。最优秀的工程师愿意去能让他们发挥最大作用的地方。

今天,在第一个互联网泡沫过去仅仅十年之后,《纽约时报》网站的划分利用了更先进的技术,让更少的人做了更多的事情,这比Web1.0时代的效率有很大提高。如果你的技术公司在今天是某个领域的领导者,那是因为你使用的技术很可能是近期才在技术领域发展起来的。如果公司文化观念中没有将内部工具视为持续的重要投资,这个公司不会永远保持领先地位。如果你不这样做,不仅你的竞争对手会将你甩在千里之外,整个市场也会抛弃你。

作者介绍:黄易山,1997年毕业于卡内基-梅隆大学。2001年加入PayPal,曾任高级工程总监。2005-2010年在Facebook领导研发,在公司研发环境的建设上发挥了重要作用。

(本文选自《程序员》杂志11年06期,更多精彩内容敬请关注06期杂志)