拒绝传统,看 Facebook 如何以三大法宝化茧成蝶:人才吸引、工程师文化和项目开发流程

 

我将结合之前在Facebook的四年工作经验,介绍Facebook创新的管理方法以及整个工程文化形成的方法。

从大学宿舍到完整生态链:Facebook12年发展历程

首先我想解释下为什么我要说Facebook,并不是因为我在那里工作过。先请看一下Facebook的简单发展史:

2004年,扎克伯格在大学宿舍里开发了Facebook,很长一段时间它只是一个简单的网站。但是后来,扩展到硬件,开发了各种产品,占据了整个社交领域、至少是北美的霸主地位。Facebook还推进了Connectivity(全民联网计划),给发展中国家提供免费的无线网络,再到后面做VR、AR、人工智能等现在非常火的新领域,形成了完整的生态圈。

看Facebook 12年的发展,我一直在想一个问题,它是怎么从大学生宿舍里面一个简单的扎克伯格自己的个人项目,最终发展成为可以上市的公司?而且现在整个生态链布局的已经非常完善了,这个公司是怎么做出来的?

我思考了很久之后,发现有一句话很有意思,21世纪最重要的是什么? 就是人才。现在互联网创业很多技术基本上都是开源的,很多硬件随手可得。

上图是在五年前硅谷非常流行的一张图,描述了大公司之间人才的流动情况。图中,每个圆点是一个公司,和圆点颜色相同的边表示这个公司的人才流入。可以看到Facebook基本上和其他点间连线都是蓝色的,所有公司都在向Facebook输入人才。而谷歌基本上在从微软和雅虎搜集人才,在其他地方是流失人才的。

所以,从五年前吸纳了很多人才开始,Facebook才有了今天的成就。有一群最牛的工程师、产品经理和设计师在这里,所以经过五年的布局和人才培养,才造就了现在全生态链都有一个非常好的格局。

所以我在想,里面整个工程师文化做得比较牛的是什么?因为我自己在Facebook工作过,所以结合自身经验带来了这个分享:在公司里面如何塑造比较好的公司文化?怎样把牛人吸引过来?

总共五个部分:

  1. 首先是简单的自我介绍;

  2. 接下来讲Facebook的工程师文化;

  3. 以及团队的组成,包括设计师、产品经理和工程师;

  4. 人员是如何管理的,怎样能有效控制工程师的工作积极性以及给予相应的报酬;

  5. 最后一点也是最重要的,以上这些对我们中国公司有怎样的启示。

一、我是谁:从Carnegie Mellon到Facebook

这是我的简历,大学和企业在技术方面的差距还是很大的。从Carnegie Mellon大学毕业后,我加入了Facebook,开始做的是CTO亲自主导的比较神秘的项目,后来去做了Facebook的APP,主要是iOS,也做过Voice Message等。

二、Facebook的工程师文化是怎样的?

特点一:Hack Culture

首先,Hack Culture,可以说是「黑客文化」。注意并不是字面意义上的「黑客」,在扎格伯格招股书上就说过,Hack Culture并不是黑别人电脑,而是一种态度和做事的方法。

现在去美国已经非常容易了,如果飞机降落在旧金山机场,着陆的时候会越过Facebook总部,建议大家到时候可以留意一下,这么一群建筑就是整个Facebook总部的样子。

特别有意思的是,这个广场的中间位置其实是有字的,在飞机上就会看得非常清楚,就是「Hack」。当我们说「我们要做一些Hack之类的」,它所表达的意思是「如果你有什么想法,有创新的、古灵精怪的各种想法都可以,马上去做!」

Hack的详细定义主要有三点:马上上手、快速搞定和持续迭代。而Growth Hack的本质,就是增长方面用Hack的方法解决。在Facebook绝对拒绝传统(大家一起来开会),而是技术驱动、数据为王。

做了一个东西之后先发给用户,看一下用户的反馈或者搞一批测试的用户,最后看多少用户觉得你这个好,通过数据的采集方式来论证是否可行。在Facebook有很多牛的方法可以搜集数据,所以可以很明显的看出这个版本用了AB测试之后到底是好还是坏。

在Facebook并没有一个专门的部门做Hack,而是鼓励所有的人去发挥自己的想象力,想做什么就可以做。公司的角落有各种各样的「Hack」,营造出一种气氛,鼓励员工去创新、鼓励那些牛逼的人待在这个地方工作,这样的公司文化是比较愉悦的。

特点二:Design+Engineering

如果说苹果是80%的精力很重视自己的设计,谷歌大概非常重视工程,在Facebook设计和工程各占一半,这可能和大家想的不一样。Facebook的新办公室出自一位著名的设计师,有各种奇妙的元素,开始我认为这些设计是浪费,后来我慢慢发现这种环境下工作心情非常愉悦,很多人自发工作10个小时左右,而且在这种环境下心情很放松的状态,更能激发你Hack。

后来我看到国内的一些互联网公司也有这种感觉,比如最近的创业贵族今日头条。所以如果想把互联网公司做大,就要有非常迷人的工程师文化,才能把牛逼的人招进来。

特点三:Open

我第一天入职Facebook的时候,最大的感受就是这三点:

首先是Open,非常Open的checking。新人第一天入职,领到一台电脑,连上网后,所有的数据都可以看到:产品的月活、日活、每一个功能,甚至可以像股票交易系统看到这样的数据,比如日本的用户30岁以下的人在用 news feed 的时候情况到底怎样,从今年年初到现在变化是怎样的等。所有的东西都开放给工程师,没有任何权限。

在Facebook,codebase 是所有 software engineer 都有权限把它拷贝下来。我(作为一个facebook phone 和 iOS app的工程师)可以把安卓的codebase拉下来,也可以把PHP、推荐算法、引擎各种代码库给git clone下来,所有的权限都是开放的。但开放的前提,如果把公司内部信息泄漏出去就会被开除掉,历史上也发生过好几起这样的事情。所以,在Facebook基本上不可能出现扎克发的一封邮件会被爆光。刚开始回国的时候,我很震惊,各种CEO的邮件都曝光在公众眼中,这种事在硅谷基本不可能。

所以Hack意味着内部信任和开放,同时对外也要遵守非常严格的规定。

最后一点就是Open Space,很开放的环境,给人的感觉是「网吧式的工作环境」。美国公司的办公室给人的感觉比较粗糙,比如说天花板上没有任何装饰,柱子上还有很多铁锈一样的东西,但是它又有非常细节的地方。

比如说,显示器都还不错,有各种饮料和零食,随便吃;椅子是著名的 Aeron chair。最有趣的是:椅子右侧有两个按钮,一个是上升和下降,平时就是这么正常的工作,累了之后,久座对身体不好,就把桌子升起来,变成站立式办公。站起来有一个好处是,当好几个人在一起讨论问题的时候,大家可以站在一起看。很多时候写代码的时候,把设计师也带过来,直接问「我做了一个原形你看有什么问题的吗?」有问题就直接改了。

扎克和所有人一样,坐这么一个位置,开放式工位旁边有很大的玻璃房子,用于开会,扎克没有太多的会议或者太多出去的时间,基本上每天在公司里面专注于自己的事务。

三、Facebook团队组成:设计师、产品经理和工程师

很多人问我,Facebook的项目团队是怎样的?

一般情况,如果是做一个简单、小功能,一般是一个设计师加两个工程师;比较大的项目一点,比如说改版、在新版当中开发两三个功能,基本上两三个工程师一起做,iOS messenger app 五到十位工程师和两到三位产品经理,和国内配比差不多。

比较有意思,Facebook没有测试,他们比较贵,很多时候都是我们自己测,我们 Unit Test 并不多,覆盖率10%到,但是我们有非常严格的 Code review。所以如果你要学习一点,在工程上面、执行上面让bug减少的话就是代码审核,交到这个 master brunch 里面的代码必须预先经过代码审核,直接看代码,没有什么问题就交,如果交进去后来发现Bug最后进行修复Bug花的时间和精力是之前的三倍十倍。

整个流程一开始规划要做什么东西、要做什么功能、需求是什么,接下来设计师和工程师互相合作,比较有意思的是整个流程每个决策都要参与,而且每个决策之间互相是交互式的,工程师也可以说这个需求根本不能做或者说不用之类的。

这是我的桌子,当时无意中拍了一张照片,后面两个都是工程师,我们在讨论我们的消息收发的时候是怎样的,那个时候已经过了下班的时间。

有人问,为什么你们的产品开发的比较快或者做得比较好,有没有什么秘诀?其实并没有太多的秘诀。

首先,人和人之间互相尊重,同时用 Scrum,大家都坐在一起有任何进展马上当面沟通,虽然我们远程会议系统特别强大,各种功能开个远程会议也行,但是我们鼓励在一起坐下来聊。团队最初期的时候就要开始协作,不同角色的人坐在一起讨论,不像国内分阶段分得特别明显。最后,设计师和开发者在工作的后期联系是非常紧密的。

最后,还有很重要的一点:Facebook 有 Zuck Review。也就是一些比较大的功能或产品,扎克会亲自安排看一下,也就是下面的人或者整个大的PM会亲自跟扎克说,这个地方你要过一遍,即使再忙他都会亲自来盯。

他会决定这个功能到底是做还是不做,决定产品的UI、功能、交互调整等,和网上风传的马化腾或张小龙其实风格差不多。我感觉Facebook和腾讯有些类似,都是一个产品型CEO主导的公司,扎克亲自来盯。

图上有两位中国人,其中一位是做广告的葛爷,给Facebook赚了很多钱。Zuck有时会用一种直觉性和你讲一些话,很多功能被他砍掉,大部分时间他都是做出了正确的决定。

我认为Zuck Review给人最重要的感觉就是鼓舞,如果这个东西扎克亲自来看,优先级方面会给下面的工程师或者整个团队一个非常明确的交代,这个事到底重不重要,需不需要。

关于优先级我想强调,大家都是技术人员,很多人在学校里面学习都不错,但在工作的时候发现有些不适应,需要注意的是在顶级公司或者特别牛逼的互联网公司工作,最重要的一点是分清优先级,这和学习的时候完全不一样。

工作中的事情是做不完的,你在工作的时候是连续的;不像在学校的时候一个学期隔着一个学期,最后期末考试,你知道自己有什么反馈。但是在工作的时候活是干不完的,所有东西,周围很多人让你做这个做那个,最重要做的事情是分清优先级,任何一个任务发过来的时候,心里面把它积累起来,哪个任务比较重要的先做,而不是交给你一个任务马上去做。

所以这里优先级,很多人我看到能力很强的人,最后遇到一个瓶颈,关键的问题是自己没有分清优先级,去做一些比较简单或者自己喜欢,或者是觉得自己能做的事情,而不是做最有影响力的事情。

具体说来,和学生时代相比就是:学习上的课程是有限的,作业也是有限的,而且还有相对明确的截止日期(homework deadline)和最后一个期末考试;考试完结后,几乎学业清空一段时间。但是在工作上你会发现你没有一个类似暑假或者寒假的东西,另外最可怕的是你的活是干不完的,对的,是无穷无尽的。特别你是在一个上升期的互联网公司的话,给你任务的速度很多时候是超过你的处理速度的。

所以这个时候,你在接到一个被分配的任务或者一个email要求你干什么的时候,你不是要马上可以做,而是要强迫自己停顿下,分清现在这个任务的优先级,然后分配好开始时间,之后再开始做。这点尤其重要!特别当看到一个简单或者重复性的任务被email或者tower(或者teambition)上分配来的时候,不要因为任务简单就马上跳上去干,不然这样极可能被简单重复劳动把自己的时间全部占光,最后没来得及干重要的事情,或者没有精力去思考更加长远更有影响力的事情。

所以,重申一次,去做impact和urgency最高的事情(这种事情一般来说不是很愉悦,甚至是比较棘手或者说是无从下手的事情),而把简单重复的活尽量后排(或者delegate出去)。这时你才会发现你的忙碌是有意义的,而不是做“伪工作”(pseudo work)。

我常常看到一些毕业不久的人每天都很忙,但却没有抓住重点,只是为了忙碌而忙碌,或者用更加贴切的话描述是:“为了感动自己而忙碌”。很多时候这样的忙碌,最后都是一个屁。之前在Facebook里,对于这样的同事有一个称号叫做“pseudo worker”,领导的职责是直接给他们透彻的反馈,让他们认清自己工作的impact最大化的地方到底在哪儿,同时告诫他们要忍住低impact的简单任务的诱惑。

对的!那些垃圾任务有着一种诱惑;诱惑着没有定力的人一直去做,一直去做,感觉自己特别有成就感,特别“忙碌和充实”。所以要小心! 在国内创业路上也有很多这样的创始人(或者cofounders),他们自己的方向可能都没怎么想清楚,或者路线没有执行得当,却一天到晚在朋友圈晒自己和同事们的加班,觉得这样的“忙碌”很充实。其实这是一种很可怕而且对自己和团队既不负责的做法。

一般工作时长惊人但又没有unicorn估值的公司,我总觉得加班是一种羞耻,是自己团队不会分优先级或者战略不明确的表现;如果创始人还一直在那里秀加班来感动自己的话,我的建议是尽早离开。同时我还敢打赌,90%这样的公司在加班(和日常工作时间里)的效率是偏低的。

另外,Zuck Review可以从用户的角度进行分析。有的时我们候做一个产品或做一个技术,一直做的时候会把很多东西想的过于简单,而用户很多时候比较傻或能够一秒钟变傻,会觉得这个东西并不好用。这一点感觉扎克做得比较好,扎克自己不是特别懂技术细节,如果他觉得这个地方为什么这么难用,会给你讲很多有意思的东西。

四、Facebook是怎样利用OKR进行人才管理的?

接下来是整个Facebook的管理是怎样,即OKR。在Facebook,OKR意味着每六个月或每一年,制定一下你个人的目标、团队的目标以及公司的目标是什么,接下来行动就可以了。

第一点,在目标制定的时候你要以结果为导向或者以影响力为导向,不要为了做而做、或者做一些伪工作。在工作的时候很多人会做一些伪工作或者简单的工作,也就是自己愿意做的工作。

第二点,在Facebook会看每六个月、这半年的指标到底是什么东西。

第三点,每年6月底、12月底分别会做一次个人绩效评估。

最后,一个月之后评估结果就会出来,将决定你的奖金多少、是否升职,年终绩效评估将决定你的现金奖金是多少,年底除了现金还有股票的追加。不管任何级别,只要是工程师都会给你相应的股票,每过一年年底绩效评估将决定给你追加多少股票,一般都会追加股票。

具体的绩效考核怎么做?首先是国内常讲的360度评估,每6个月做一次,主要是四个部分:自评、同事评价、直属上司评价和老板评价。最后比较有意思的啊,你可以决定这个东西是否开放、被谁看到。一般有85%左右的人会选择开放,这是很恐怖的一个数据,基本上互相之间都是开放的。最后一点就是HR和整个Team calibration,从上面再校准一次。

最后就是奖金,给你规定一个奖金,在10%到25%的区间。看你在哪个级别,新进来是10%,越到上面越高。然后要乘以你的个人绩效,0表示没有奖金,一般在1.25左右,4.5就很高了。最后再乘以一个公司的绩效,公司那几个高层对公司这半年来做得怎么样打一个分,如果公司做得很不错,所有人的薪水都会加。

五、师夷长技以制夷:对中国互联网公司有什么启示?

最后,我想说说Facebook的管理之道对中国互联网公司的启示是什么。虽然在Facebook工作很好,但我更喜欢加入中国的公司或者自己创业,和一帮国人在一起做一个公司,有一个牛逼的产品能够放到国际市场上和西方对打。

首先想强调一点,很多人说Facebook工程师文化特别好,但是它的文化并不是与生俱来的。前几天为了佐证这个观点我专门看了一下2007年大家对于扎克的想法,那个时候公司一团糟,偶尔有几个比较厉害的人,Facebook现在比较牛的工程师文化是在2008年、由一个女孩Molly Graham逐步营造起来的。

Molly营造公司文化的过程,在这篇文章有阐述,当时,Facebook从400人快速增长到1000人,公司已经管不过来了,一团糟,大家互相埋怨对方,干活非常没有效率,做了很多低效的事情。那么怎么把公司管好,同时让更优秀的人可以持续进来呢?Molly建议Facebook建立工程师文化,她当时让扎克自己写了十条他觉得比较牛逼的人是怎样的,当然那十条大部分就是由扎克自己的气质决定的。

这十条标准写出来之后,在公司里面反复强调,同时招人也招符合这些条件的人。所以可以得出一个结论:公司80%的文化来自于创始人。

最后一个结论:当一个公司变大,比如从A轮到B轮的时候,一定要营造出自己的文化。所以如果你是创始人,在公司还小的时候随便怎么弄,但是你自己要很明确有一杆秤;当公司到了500人以上的时候,这个时候一定要建立自己的公司文化。

对技术人员来说,判断公司文化很多时候都是看创始人,看创始人是干什么出身的。如果他是做生意的,那么这个公司或许并不是是你的最佳归属,即便讲得再牛。

举今日头条的例子,他们做得比较好,老大本身也是技术出身,他们公司对技术人员的待遇非常好,还去硅谷挖了很多牛逼的人,把公司氛围营造得非常好。所以看创始人是可以看出来这个公司文化到底是怎样的。

对任职管理者的工程师来说,在创业的过程当中有四点需要注意:

第一,盯一线产品。下面的人不怕你challenge他,怕的是把这个东西做完之后上面的人不看,他就会觉得自己所有的辛苦努力全部都浪费了。

第二,6个月要做一次Performance Review,这将决定员工的奖金和股票。

第三,Code Review。在工程方面并不是用最好的技术最重要,而是把Code Review加进来,这并不是为了查出错,而是有时候要注意自己看一下,你交的代码整个逻辑是不是清晰,同时会留下记录以便如果后来的人想学习你这个功能是怎么写的,他可以来从这个上面看所有的记录,这是工程师之间互相切磋和交流的一个工具。

第四,很多中国的创业公司有常会忽视的,入职培训和Wiki要写好。麦肯锡曾总结成功的公司的最大的经验是:Wiki做得很好。可以把公司中每个人的知识归档、以及把每个人牛逼的知识在整个团队里扩散出去,是非常重要的一件事。

 
 
 

公司管理系列--Facebook 如何化茧成蝶[转]的更多相关文章

  1. 公司管理系列--Facebook是如何营造企业文化的[转]

      本文讲下硅谷创业公司的文化,去过硅谷公司或者是看过硅谷公司报道的人,都会惊讶硅谷创业公司里面有如此奇特且活力十足的文化.在中国,企业文化是一个被滥用但是却又缺乏解读的概念,很多国内企业对保持公司的 ...

  2. 化茧成蝶,开源NetWorkSocket通讯组件

    前言 前后历时三年,期间大量参考.Net Framework和Asp.net MVC源代码,写写删删再重构,组件如今更新到V1.5.x了.从原来的丑小鸭,变成今天拥有稳定和强大的tcp协议支持基础层, ...

  3. 公司管理系列--80% of Your Culture is Your Founder(FaceBook)

    80% of Your Culture is Your Founder     When Molly Graham joined Facebook in 2008, the company still ...

  4. 华为云BigData Pro解读: 鲲鹏云容器助力大数据破茧成蝶

    华为云鲲鹏云容器 见证BigData Pro蝶变之旅大数据之路顺应人类科技的进步而诞生,一直顺风顺水,不到20年时间,已渗透到社会生产和人们生活的方方面面,.然而,伴随着信息量的指数级增长,大数据也开 ...

  5. 二十七(序幕)、【开源】EFW框架破茧成蝶

    回<[开源]EFW框架系列文章索引>        EFW框架源代码下载V1.3:http://pan.baidu.com/s/1c0dADO0 EFW框架实例源代码下载:http://p ...

  6. ASP.NET MVC+EF框架+EasyUI实现权限管理系列

    http://www.cnblogs.com/hanyinglong/archive/2013/03/22/2976478.html ASP.NET MVC+EF框架+EasyUI实现权限管理系列之开 ...

  7. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(15)-用户登录详细错误和权限数据库模型设计

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(15)-用户登录详细错误和权限数据库模型设计     ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)    ...

  8. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(13)-权限设计

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(13)-权限设计 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据 ...

  9. ASP.NET MVC+EF框架+EasyUI实现权限管理系列之开篇

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列之开篇 前言:博客又有一段时间没有更新了,心里感觉这段时间空空的,好像什么都没有学下,所以就想写博客,所以就有了这个系列,这里当然也 ...

随机推荐

  1. HAOI2014 走出金字塔

    题目链接:戳我 找规律. 不过为了方便,每次我们计算入口和某一个出口之间需要花费的体力值的时候,不妨把x较小的假设成塔顶,这样的话另一个就不需要分类讨论了. 详细请看代码 #include<io ...

  2. “全栈2019”Java第三十六章:类

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  3. 新公司,环境搭建,windows上的坑

    1 在windows上安装nodejs环境,node -v 后可以看到版本号 2 在windows上安装nvm管理node的版本,可以对node版本自由切换,使用5.3.0版本的node 3 在win ...

  4. BFC概念和作用,触发条件

    1.概念,全称是block format context,块级格式化上下文 2.触发条件 根元素 float属性不为none position为absolute或fixed display为inlin ...

  5. SecureCRT上传下载文件

    这篇内容在哪看到的我也找不到了,不过就是做个记录. 步骤如下: 1.SecureCRT连接远程终端. 2.在连接窗口上方右击,弹出菜单后点击Connect SFTP Session, 3.点击后弹出窗 ...

  6. P4383 [八省联考2018]林克卡特树lct 树形DP+凸优化/带权二分

    $ \color{#0066ff}{ 题目描述 }$ 小L 最近沉迷于塞尔达传说:荒野之息(The Legend of Zelda: Breath of The Wild)无法自拔,他尤其喜欢游戏中的 ...

  7. 2016级算法第四次上机-B ModricWang的序列问题

    1019 ModricWang的序列问题 思路 此题题意非常清晰,给定一个序列,求出最长上升子序列的长度.从数据规模来看,需要\(O(nlogn)\) 的算法. \(O(nlongn)\) 求最长上升 ...

  8. [原创]Redis 持久化说明及配置

    目录 参考链接 介绍 RDB 持久化 优点 缺点 相关配置参数 AOF 持久化 优点 缺点 相关配置参数 参考链接 持久化 Redis命令参考 介绍 Redis 运行时数据保存在内存中, 一旦重启则数 ...

  9. TensorFlow GPU 的使用

    一.TensorFlow 设备分配 1.设备分配规则 If a TensorFlow operation has both CPU and GPU implementations, the GPU d ...

  10. 解决视图状态消息验证代码 (MAC) 错误

    https://blog.csdn.net/bingtingabc/article/details/49148745 2015年10月15日 10:05:56 bingtingabc 阅读数:3397 ...