微信号:infoqchina

介绍:有内容的技术社区媒体

QCon速递:杨卫华 vs 赵海平,“Facebook的核心文化是Hack”

2015-04-25 12:05 徐川



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月底到来,敬请期待。




更多精彩活动,请长按扫描二维码,关注“极客邦活动”微信服务号:

 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 慕课网@你,一大波IT好书推荐! 老司机|京东商品详情页前端开发宝典|强烈推荐 扎克伯格打脸马斯克:人工智能威胁论就是发神经! 我在锤子科技这一年 学习python的几个好习惯