EGO 首次线下活动分享:Facebook 研发团队的高效秘诀

  • 徐川

2015 年 4 月 23 日

话题:Facebook架构TGO鲲鹏会

4 月 22 日晚,QCon 全球软件开发大会(北京站)2015前夕,极客邦科技旗下品牌EGO(超级极客邦)首次线下活动在北京国际会议中心举行,来自全国各地的 50 余名技术人参加了活动,近期加入阿里巴巴的赵海平首次在公司外部做了分享,内容是 Facebook 研发团队的高效秘诀,之后新浪微博技术总监杨卫华和他进行了精彩的对话。

活动开始,极客邦科技创始人兼 CEO 霍泰稳发表致辞,向与会者介绍了 EGO 的由来和使命。EGO 是极客邦科技旗下高端技术人聚集和交流的组织,由 InfoQ 中国团队运营,旨在组建全球最具影响力的高端技术人社交网络。EGO 将会在 QCon 北京 2015 大会上正式发布,本次活动是 EGO 的首次会员招募活动。“我们做的不管是 InfoQ 还是 EGO,其实都是引导高端技术人去学习和成长,希望极客邦科技成为技术人非常喜欢和信赖的交流方式。”霍泰稳表示。

赵海平:Facebook 研发团队管理分享

本活动的重头戏是阿里巴巴技术保障部研究员赵海平分享的 Facebook 研发团队高效秘诀。对 Facebook 的商业解读现在已经很多,但是对其研发团队的研究内容却并不多见,其内部研发团队的管理是人们好奇的一个话题。赵海平 2007 年加入只有不到 50 个软件工程师的 Facebook,历经 Facebook 的发展壮大,他的 HipHop 项目、分布式数据库的优化研究等为公司立下了汗马功劳,对于这个话题,他毫无疑问拥有很大的发言权。

在活动上,赵海平分享了 Facebook 研发团队管理的三个方面:核心文化、组织架构和思维方式。

“Facebook 的核心文化是 Hack。”赵海平说道。在 Facebook,Hack 的意思是快速完成并发布项目,而不是做到完美之后才发布。发布项目之后,根据其它人的反馈进行快速迭代,就这样迭代下来,项目变得越来越好,也不容易迷失方向。Facebook 使用 PHP 语言也和这个 Hack 文化相关,虽然它有着各种问题,但写起来简单直接,非常适于 Hack,因此成为 Facebook 早期主要使用的语言。这个 Hack 文化还是有传染性的,别人用 Hack 只花了 3 天就出成果,然后多余的时间去做别的事情,而你做出同样的成果要 10 天,这样心理自然会慢慢倾向使用 Hack 方式。“其实我刚刚进公司的时候,是个完美主义者,做的事情一定要非常完美才拿得出手,但是渐渐的跟这些同事一起共事,渐渐就领 略到 Hack 的高效,所以我也是非常幸运的。”赵海平说道。

Facebook 的组织架构是非常去中心化,避免对其它团队产生依赖性。一个团队负责某个项目,那么该项目整个技术栈都是团队负责的,并且公司只有一个代码库,任何人都有权限修改代码库以满足自己项目的需求。只有这样,才能做到上一条中的 Hack 文化。“当你凌晨三四点钟还在写代码的话,出现问题是很难向别人求助的”赵海平表示:“因此只有自己解决问题,才能做到快速开发和迭代,也只有这样才能做到去中心化。”因为每个人都不依赖别人,组织中就没有关键节点,每个人或者小团队都是独立而平等的。但去中心化也不是没有弊端,比如,赵海平分享了一个极端的例子,马克·扎克伯格有想法想找人帮他做,可是找不到人,因为在去中心化的管理下,每个人都有自己的项目,这种事情在早期发生的很多,公司大了之后才有所改善。

最后一条,Facebook 的思维方式是,任何一件事情都可以拿来争论,无论是项目方面还是公司的制度、文化等等。“最逗的一件事是,公司 HR 给全体员工发邮件说每年放假三周,实际是十五天,但在公司大会上有员工争论三周是二十一天,最后公司认可了员工的说法,所以一直到现在 Facebook 的年假是二十一天。”由于争论实在太多太激烈,2010 年公司管理出来说,这么争论太伤感情,大家一起工作还是要友爱的。不过,虽然大家争论,但大家知道如何解决争论,就是用数据说话,结果发展出来非常完善的 A/B 测试。Facebook 的大多数项目,真正逻辑部分可能只有 20%,另外有 30%-40% 是收集数据以证明自己对项目的看法是对的。

除此之外,赵海平还提到,Facebook 早期的一群人都是非常杰出的,将公司的技术水平提升到很高的境界,所以 Hack 文化、去中心化才能推行开来。因此创业团队早期雇人一定要宁缺毋滥。

高端对话:杨卫华 vs 赵海平

赵海平分享完成后,新浪微博技术总监杨卫华(@TimYang)与他展开了一场高端对话。

他们聊的第一个话题是“找风口”,杨卫华提到,国外的工程师可能去做自己想做的事,但国内的工程师很难去做想做的事,而是去寻找行业趋势,也就是传说中的“找风口”。赵海平表示,Facebook 其实也一直在找风口,但是以 Hack 的方式。不过,Hack 是以个人的力量去找风口,而不是以公司的力量。工程师做自己想做的事情,它可能是风口,也可能不是,如果是风口,那它火了,就成为公司的主流 项目,如果不是风口,或者说不是将来能火的东西,因为花的时间很短,反正 Hack 出来的,损失就损失了。

第二个话题是去中心化。对其它团队没有依赖,可能会导致代码难以复用。杨卫华举了一个例子,比如 A 团 队在做项目时使用了新技术,新技术有各种优点,但也有各种坑,他们好不容易把坑给踩过了。后来 B 团队做另一个项目,觉得新技术很好也去使用,也遇到同样的坑。像这种情况,如果 A 团队在使用新技术时抽象出一些共同的功能出来,B 团队使用新技术时就能少走一些弯路,虽然在这个过程中 B 团队对 A 团队的技术产生依赖了。赵海平表示,Facebook 并不是不共用代码,他们的代码共用得很厉害,只是这些代码所有人都可以改,因此依赖性并不是特别严重。另外,去中心化和公司的规模也有关系,公司大了出现分工,大家负责不同的领域,必然会产生依赖性。

另一个话题是 Facebook 从 50 人到几千人的研发团队的变化。赵海平分享道,Facebook 在 50 人左右的时候有一个 software engineer pool,它不给软件工程师布置任务,而是让他们自己找事情做,这也是 Hack 文化的来源之一。但是工程师有自己擅长的领域,于是渐渐的有了区分,有些人去写服务端,有些人去做前端。后来到 200 人左右有了管理者,不给这时候他们的地位还较弱,他们更多的是倾听员工的声音,满足员工的请求。等团队更大的时候,管理也出现了多个级别,到这个时候,研发团队才正式有了不同领域的划分,开始确立管理的权威。

除了这些话题之外,赵海平和杨卫华还谈到了 Facebook 的 Code Review、日常工具链、绩效考核、扎克伯格在公司的作用、职业规划、新人培训、以及招聘等等话题。我们会将活动的视频和速记整理出来,在后续分享给大家。

赵海平和杨卫华超过两个小时的精彩分享,让 EGO 的首场线下活动大获成功。第二期线下活动将会于 5 月底到来,敬请期待。

了解更多 EGO 信息请访问:www.egonetworks.org

Facebook架构TGO鲲鹏会