你好,我是葛俊。今天,我来和你聊聊 Facebook 的工程师文化吧。

在上一篇文章中,我以奈飞为例,与你介绍了公司文化建设的三部曲,即定义核心价值观、针对性地设计招聘和流程方案,以及持续推动并总结提高。

除了奈飞的“自由与责任”外,我们还比较熟悉、认可的是“Facebook 的工程师文化”。所以,接下来的 4 篇文章,我会与你详细介绍 Facebook 的工程师文化、相关的管理实践,以及我离开 Facebook 后在其他公司落地的实战经验。

那,我为什么要用这么多篇幅去分析 Facebook 的工程师文化,以及支撑这些文化的管理实践呢?原因很简单,因为我清楚地看到,工程师文化,可以极大地激发开发人员的内驱力和创造性。

毫无疑问,这是一个双赢的局面:既可以为公司产生更多更有价值的产品,也可以大幅提升开发者个人的成长速度和幸福感。但相比之下,国内的很多公司在这方面有所欠缺,团队成员大都处于简单执行的状态,内驱力和创造性远没有激发出来。

所以,通过接下来的 4 篇文章,我希望帮你深入理解工程师文化的 Why、How 和 What,为管理者设计、实现团队文化提供示范和借鉴,为个人参与文化建设和选择团队提供参考,进而提升团队的研发效能,以及个人的能力和幸福感!

我们先来看看工程师文化是什么吧。

Facebook 的工程师文化,到底是什么?

通过上一篇文章,我们知道“文化是决定一群人行为方式的共同认知、价值观和信念”。那,什么是工程师文化呢?

工程师文化本意是,工程师群体行为方式的共同认知、价值观和信念。对工程师来说,我们的行为包括开发软件、解决问题、与客户打交道、与团队合作等。本来工程师团队的做事方式可能千差万别,但后来“工程师文化”逐渐演化成了“用正确的工程方法、思路来完成工作的文化”。

那,Facebook 的工程师文化又是什么呢?一句话总结就是“黑客之道(The Hacker Way)”。

听到这里,你可能会说,黑客不是一个贬义词吗?事实上,黑客在程序员界本是一个褒义词,指的是动手能力极强的程序员,他们创造、实验、打破常规,可以让计算机做任何他想做的事儿,即使计算机本身不同意。

但现在,黑客却和入侵电脑系统为非作歹的罪犯画上了等号。这个误解极深,以至于业界大神保罗 · 格雷厄姆(Paul Graham)专门写了一篇文章“The Word‘Hacker’”来澄清。

那,为什么 Facebook 要把“黑客之道”作为自己的企业文化呢?

Facebook 的企业使命在 2017 年 7 月有过一次演化,不过总的来说,就是提高传播和消费信息的方式,把世界更好地连接起来。这样的社交网络系统规模庞大,有着很多前所未有的分布式、高并发等挑战。同时,也因为第一次把社交映射到网路上,有无限的创新可能。所以建造这样的系统需要优秀人才不断创新,打破常规。

扎克伯格和 Facebook 的其他管理层认为,黑客做事的方式,很适合公司快速发展,不断进步、创新,能支撑公司实现使命。所以,Facebook 一直把黑客之道设置为最根本的工程师文化,并且在全公司推广。

2012 年 Facebook 上市时,扎克伯格发表公开信,给出了黑客的 4 个特质。按照我的理解,我再和你分享下这 4 个特质。

  1. 优化无止境:黑客认为优化无止境,产品无完美。在大部分人认为服务已经无法改善,或者是满足现状的时候,会直接上手进行进一步的优化。
  2. 持续进步:黑客不追求一蹴而就,一劳永逸。他们更喜欢迅速发布小规模更新,并从中吸取经验教训,通过长久努力不断进步。
  3. 代码为王:黑客更在意代码实现。代码胜于雄辩,只有真正实现了的东西才有价值。
  4. 能力为王:黑客有极度开放和精英为王的心态,不会因为谁的头衔高而默认其权威。相比之下,黑客更看重的是技术,以及把想法变为产品的能力,说白了就是谁行谁上。

针对这些特质和企业使命,Facebook 又总结了五条核心价值观,分别是:专注于影响力(Focus on Impact)、迅速行动(Move Fast)、勇往直前(Be Bold)、保持开放(Be Open)和创造社会价值(Build Social Value)。

接下来,我们就具体看看 Facebook 是怎样推行黑客文化的吧。

Facebook 工程师文化的具体实践

与奈飞推动企业文化建设一致,Facebook 也采取了一系列措施有效地推行其工程师文化落地,包括重视工程师文化的宣传,以及从流程、工具方面推动文化落地。接下来,我们就具体看看吧。

第一,非常重视工程师文化的宣传。

Facebook 一直有一个很大的“The Hacker Company”的标牌,几次搬家都被放到最显眼的地方。扎克伯格在上市的公开信中也详细讨论了公司的工程师文化。

此外,他们的海报文化也非常有名。进入园区,你会发现 Facebook 的一大特色,有很多写着各种各样标语的海报,比如“The Journey is 1% Done(我们的旅程只完成了 1%)”“Open the Door(敞开大门)”“Done is Better Than Perfect(完成比完美更重要)”“Focus on Impact(专注于影响力)”“Move Fast and Break Things(快速行动,打破陈规)”等。我最喜欢的是一句中文粤语的,“出来行,最紧要勇”,是勇往直前的意思。

很明显,这些标语与 Facebook 的工程师文化和核心价值观紧密相关。Facebook 的 COO 雪莉 · 桑德伯格(Sheryl Sandberg)在一次访谈中谈到这些海报时说,公司的文化正体现在这些海报中。

虽然这些标语看似在打鸡血,但在 Facebook 工作过后你就会理解,公司的确是在践行这些工程师文化,而且为公司发展和个人成长带来了巨大好处。所以,这些标语很多都是开发者自己打印了贴到墙上的。

第二,从流程、工具方面推动这些文化。

关于如何从流程、工具等维度推动工程师文化落地,我会边和你列举 Facebook 的具体实践,边与你分析这与公司文化落地的关系。

接下来,我们就具体看几个关于黑客特质以及公司价值观的实践吧。

能力为王方面,扎克伯格没有独立办公室,工位和我的一样普通。当然,他有一个私人会议室。另外,员工互相看不到对方的职级,所以讨论技术问题时,不会因为级别而束手束脚。

持续进步方面,公司搭建了强大的实验框架、功能开关,无论何时都可以测试上千个不同版本的 Facebook 服务,给开发人员创造能够迅速行动、快速迭代的环境。另外,公司的容错文化落到了实处。只要不是故意的,首次犯错都不会影响绩效。当然同样类型的错误重犯会有惩罚措施,另外有一些隐私、安全相关的红线也不能触碰。

代码为王方面,所有新员工入职时都被要求参加一个长达 6 周的培训,叫 Bootcamp。这 6 周的时间,无论你是多高级别的管理者,都要学习公司的代码库、工具和方法,并实际编码完成任务。业内有许多工程师团队的管理者,并不愿亲自动手编写代码,这在 Facebook 是行不通的。因为,Facebook 更看重的是实践型人才。

专注影响力方面,Facebook 有一个定期举办的 Hackathon(黑客马拉松)活动,让我们依照自己的创意开发原型产品,然后在公司范围内进行演示。这,就给了我们一个发挥想象力和能力来产生价值的机会。Facebook 最成功的产品有些就来自 Hackathon,包括时间线 (Timeline)、聊天、视频、点赞按钮等。

这样的流程、实践体现在公司的各个方面,不一而足。我在这里只是简单列举了些具体实践,详细、系统的分析会在后面的三篇文章中。

那么,这些文化的效果怎样呢?

从公司的长期快速发展和业界口碑来看,这些文化的效果显而易见,我就不再赘述了。这里,我就站在一名普通开发者的角度,来和你聊聊 Facebook 工程师文化对个人成长的效果吧。

Facebook 工程师文化的效果

Facebook 的工程师文化鼓励优化无止境、持续进步、代码为王、能力为王,也着实体现在工作的方方面面。这些都是强大的技术人员的重要特质,对个人技术成长和创造产品帮助非常大。而在 Facebook 工作几年后,你的做事方式自然而然会往这些方向靠拢,可以说是润物细无声。

比如,Move Fast and Break Things,是 Facebook 最有名的一句文化口号,也是对我影响最大的一句。

2010 年,我离开微软加入 Facebook 时,比较习惯瀑布式开发,非常谨慎,体会不到这句口号的精髓。入职后大概两个月,我从 Bootcamp 毕业加入了 Phabricator 团队。当时,有一个任务是查看 MySQL 数据库中开发人员的信息,我希望找到只读模式,来保证不会把数据库搞坏。

但因为我对公司的 MySQL 命令行工具不是很熟悉,就去问别人只读选项在哪里。他对我的问题很惊讶,了解到我的担忧后,他说“你小心一点不就行了吗”。可我还是不放心,自己花时间找到了只读模式的命令。但事实证明,在 Facebook 四年多的时间,我从没有误操作过 MySQL,花在寻找只读命令上的时间,属于浪费。

这件事儿对我的职业成长影响很大。我逐渐体会到 **Move Fast and Break Things 的一层意思就是,要尽量快地去做事儿,不要担心搞砸,跟“Fail Harder”类似。**后来,我愈发适应这种方式,对公司的贡献也大了很多。

比如,我在负责 Phabricator 时,带领两个人共同支撑了公司所有开发人员的代码审查、代码浏览工具,以及 Phabricator 和公司其他工具的集成、与开源社区的合作。说实话,我以前从没有接触过类似的工作内容,正是“Move Fast and Break Things”这种工作方式,让我能够快速行动、快速迭代、持续学习,最终顺利完成各项任务。

当时,我们三个人就支撑起了几千名开发者使用的一个核心开发工具,其中涉及了开发、测试、运维,效率之高可见一斑。这,正是工程师文化为我们带来的个人能力成长,和整个公司研发效能的提高。

小结

Facebook 的工程师文化,简单来说就是黑客之道,指的是能够打破常规,突破界限,完成任务的做事方式,其特质可以概括为优化无止境、持续进步、代码为王、能力为王。

正是这些特质,帮助 Facebook 迅速发展业务、实现创新,从而达成公司愿景。所以,Facebook 一直在文化宣传、流程和工具等方面推动其落地,效果确实非常好,实现了公司成功和个人成长的双赢。

我很感激在 Facebook 的这段经历,不断突破极限的黑客精神对我影响非常大。

在工作和生活中,我们都会面对一套现有的规则,告诉我们要做什么不要做什么,并认为我们感知到的这套规则就是事实真相。但其实,这套规则背后隐藏的另一套规则才是真正的规则。

认识到这一点,我们就能突破现有规则,以非常规的方式去完成一件事儿,也就是我们所说的创造奇迹。而黑客精神,正是突破感知规则,寻找真实规则的精神。

思考题

在 MySQL 的案例中,“要尽量快地去做事儿,不要担心搞砸”只是 Move Fast and Break Things 的一种理解。你知道这句话更常见的一种理解是什么吗?

感谢你的收听,欢迎你在评论区给我留言分享你的观点,也欢迎你把这篇文章分享给更多的朋友一起阅读。我们下期再见!