公司成立之初,并无新兵训练营计划。随着公司迅速发展、员工不断增多,无计划的自学无法迅速地帮助大量新员工高效融入到Facebook。
Facebook的创办人马克-扎克伯格2012年2月宣布IPO时,在发表的公开信里说道,“Facebook要求所有新入职的工程师——包括那些将来并非主要从事编程工作的经理——参加新兵训练营(Bootcamp),学习我们的代码库、工具和方法。我们希望寻找的实践型人才能够经受新兵训练营的检验。”
为什么要有新兵训练营?
公司成立之初,并无新兵训练营计划。随着公司迅速发展、员工不断增多,无计划的自学无法迅速地帮助大量新员工高效融入到Facebook.2008年,Facebook开始系统地设计和试验新兵训练营计划,并在实践中不断改进。很快,所有新加入的工程师都必须参加该培训计划,产品经理原则上也要参加。
该计划的主要推动者是安德鲁-博斯沃斯(Andrew Bosworth),他是公司文化的主要捍卫者,“上帝不允许我们有一天不为Facebook的未来做准备。我们曾见过一家又一家的公司在做大后因为规模或文化陷入麻烦。”
2008年初,他开始意识到Facebook的文化可能面临挑战甚至失败。他刚进公司时,大家彼此认识。可是2008年夏季的一天,当他在公司的餐厅排队时,遇到一位素未谋面的工程师。于是博斯沃思询问他在公司多久了,对方答曰一年——这让他震惊。
他感觉有点不对劲儿,“我们是Facebook,如果我们不能规划一个超过150人的沟通网络,就真的有麻烦了。”我在Facebook这四年半,一开始几乎每个工程师都互相认识,但人员的迅速增长让这一点变得不可能。
如何有效地让最适合(潜在)合作的人互相认识,建立信任并保证项目高效完成,成了 Facebook这些年面临的一个大挑战——等到项目开始时,参加者才开始互相认识,那么磨合期会更长,磨合成本也相应会更高。
2008年中,正值新员工如潮水般涌进公司之际,作为公司整个文化培育行动的一部分,新兵训练营计划登场了。这项计划就是为了让新工程师们认识公司里的各个相关部门,了解公司的文化、技术与产品,从而能迅速地融入Facebook,并找到适合自身能力和兴趣的小组(即通过这个过程确定他的具体工作职能)。
新兵究竟要做什么?
第一周的周一,新来的工程师们在公司自助餐厅里和负责他们的导师(Mentor)吃完中饭后,为期六周的强制性训练营就拉开了序幕。这位导师将全权负责回答新人们的各种问题,从工作,到生活,到八卦,如果新人真的感兴趣的话。简短的介绍之后(博斯沃思和其他老员工会在这个环节介绍公司的文化),每人会分到一台电脑和一张办公桌。第一次打开电脑时,他们会看到6封电子邮件,其中1封是欢迎信,另外5封介绍了他们将要执行的任务,包括修复 Facebook网站上的错误。训练的目的很多,其中之一就是让新员工充分认识到,他们拥有直接改变Facebook网站的力量。
Facebook非常希望工程师在第一天就把所有的编程环境都设置好并提交代码,这样就可以在周二参与每周例行的代码发布活动,将代码同步到Facebook几十万台服务器中。Facebook并不希望新人在第一天提交复杂的代码,基本都是很简单的改变,目的是通过练手让工程师能迅速了解整个流程、进入角色。
头三周有很多课要上:公司的COO(首席运营官)、CPO(首席产品官)、工程副总裁都会在第一周给新人们介绍各个部门概况,让大家有全局性的认识;第二周,重点介绍公司的重要产品、常用的技术框架和技术工具;第三周,集中在公司的运营(包括市场,销售等部门)、商业模式(Facebook主要的广告模式和虚拟货币的盈利手段)和其他非产品技术部门的介绍上。
从第三周起,新人们就开始与有用人需求的各组经理交流,了解这些组的产品,参加组内会议和讨论。在第三周周末,新人至多要选出三个组作为感兴趣的备选组。接下来每周的事情就是进一步缩小目标范围,并在第六周时能够明确加入哪一组。
从第一周到第六周,新人60%以上的时间都花在修复代码错误上面,其他的事情应该在剩余的40%时间内完成。Facebook相信,让工程师融入公司最好的办法是通过代码交流。毕竟,产生高质量的代码是所有工程师最主要的工作。
谁可以做新兵训练营的导师?
作为公司整个文化培育行动的一部分,新兵训练营的导师任命非常关键。
首先,他需要对公司文化有比较清晰的认识,一般要在公司工作一年以上;其次,做导师是自愿性质的(也可以由老板推荐合适的工程师去担任),只要你有意愿就可以提出申请,但也需要得到老板的同意,因为做导师需要占用多于1/4的正常工作时间。对自己要求高的人并不会因为做导师而让绩效降低1/4,所以这意味着要挤占一部分业余时间。
通常,自愿担任导师者一般是想做人事经理的,对与人打交道感兴趣。现在,Facebook规定,所有可能升职为经理的候选人必须至少做一期新兵训练营的导师。另外,技术牛人才能成为导师,因为在训练营里,新员工每天都要完成大量具体的技术任务,需要导师在必要的时候在技术问题上加以指导。同时,导师也要有能力在结束时准确判断新兵们的能力和优势。
截至我离开Facebook时,大概每两周会招进一批新工程师,新兵训练营一期六周,每期有2~4名导师,每个导师带5~9名新员工,大概每周需要花10~20小时的时间。所有的导师有一个负责人,就是博斯沃斯,他还有一个助手,负责所有的导师和新员工的分配,基本上是把背景类似的(比如校友、 原同事、有相同的技术兴趣点等)分配给同一个导师,以便每个小组里成员之间更好地沟通。
导师需要做什么?
那么,导师具体要做些什么呢?新员工有任何问题,尤其是关于公司文化的,除了尝试自己解决以外,都可以向导师寻求的帮助或指导;导师从不会给新员工脸色看,而是全力支持他们的学习。
首先,导师每周和被指导的新员工做“一对一”的重点讨论,内容如最近的学习进展,表现如何,哪些方面做得好,哪些方面有待加强。公司要求导师给予新员工最直接的反馈,以帮助他们迅速成长。
对公司现有的哪些团队和项目感兴趣是交流的另一个重点,因为新兵训练营的最终目的是让新人顺利融入公司,找到合适的小组。
什么才算是合适的小组呢?从新员工的角度来说,是既能发挥他的长处,又令他感兴趣的;从公司的立场看,当然希望重点的项目能够得到合适的人力分配。如果能做到双方都满意,这样的匹配就是最理想的了。
Facebook鼓励员工到他感兴趣但不熟悉的领域,这样可以给项目带来新鲜的视角。当然,这么做的前提是这些人是很聪明的、非常有学习能力的工程师。
其次,导师每周都要参加导师碰头会,参加者包括所有正在训练营的导师、博斯沃斯及其助手。会议就训练营中遇到的一些具体问题进行讨论,找出解决方案。大多数时间会花在一些表现特别出色或特别逊色的新兵身上,如果没有这两类人的话,会提早散会。
对于表现特别出色的,导师要着重考虑哪些组最适合这些能力强悍的新兵——公司希望将最好的新兵用在最重要、最需要他们特长的岗位上。有好几次,在一期新兵营刚开始的时候,几个组的组长都想招同一个人,这样的 “抢人”就需要在碰头会上商量,找出解决办法。
对于表现特别逊色的,则会花时间讨论如何帮助他们改变,因为通过Facebook层层面试的人,公司相信他们还是有实力的。不经过多次努力,公司不会轻易得出他们不适合Facebook这一结论。
另外,导师会分配一些错误代码给新员工进行修补,这类任务通常会占到新员工60%~70%的时间。设想一下,作为一个新人,你的工作成果很快就被数以亿万计的用户使用,这是多么有成就感的事情!这样做可以给他们极大的自信。
纠错的过程中,新员工可以了解到相关项目的前因后果,需要跟相关的程序小组及工程师打交道,熟悉很多内部工具等等,这就又回到了新兵训练营的最终目的上——帮他们找到最合适的组。
如果新工程师在修改错误时遇到了困难,他是先跟训练营里的朋友互相商量,一群菜鸟共同找答案,还是直接寻求导师的帮助呢?当然,菜鸟互帮互助是最受鼓励的——解决问题的方式往往不止一种,每人都可以有自己的方法,但自己什么尝试都没做就直接咨询别人则是非常忌讳的。如果确实需要找导师时,导师往往也不会直接给答案。
“授之于鱼,不如授之以渔”,导师希望新员工能够自己思考问题、解决问题;当然,也不能在困难面前自己一个劲死磕,要学会适当地寻求帮助。有一个简单的原则是:至少要在相关的代码里花了半小时而没有任何头绪,才适合去咨询导师或者相关的工程师。这样你在和他们请教时,可以在解释完遇到的问题之后,再迅速描述你已经查看的代码和已经排除的一些假设;当别人知道你做过功课的时候,会更加愿意帮你。
训练营里很多时候碰到的情况是,解决一个问题有多种方式,但新员工还不明白哪种方式是Facebook通用的,这时导师可以告诉他去代码库里看看类似的问题是怎么处理的,以前的工程师是怎么做的;如果涉及的是具体产品的技术性问题,Facebook不建议导师进行深入的帮助,因为这样就变成导师帮助新员工做一件非常具体的事情了,而导师教导的关键的是教给新员工方法、理念、文化上的东西。
如何为新员工找到合适的工作职位?
为了人岗匹配,新兵训练营负责日常运营的人(博斯沃斯的助手)会在每期开始前一周,把所有新兵的简历发给有招人意向的经理,然后会根据各经理挑选的结果引导新员工。另外,导师也会将适合的新员工推荐给有需要的各个组。Facebook专门有一个页面,叫“团队优先级页面 (Team Priority Page)”,负责产品技术的各个组都可以把用人需求放在上面。由博斯沃斯和工程总监们组成的委员会,每两周开一次会,讨论每个组的用人优先度。
导师每周都会对所指导的新员工进行评级(有Rockstar—明星,Solid—扎实,Shaky—摇摆这几个级别)并简要地评价,说明新员工水平如何、有何特长、兴趣点是什么等等,这些评价整理汇总之后会发给所有的经理,所以经理们对新员工的能力也会有大致的了解。
导师在跟几位经理讨论之后,就会安排大致匹配的新员工与其见面。半小时左右的交流时间里,经理介绍各自小组在做什么,意义何在,需要什么样的员工等等,相当于“自我推销”;而新员工只需“面试”各组,然后决定自己的去向。
除非有特殊情况,一般被选中的组是不能拒绝接收新员工的。如果你拒绝的理由是“他不行”的话,那不如解雇他——不是说你不欢迎,他就可以被分配到其他组——这种想法违背Facebook的文化, “我们都是为Facebook工作的,而不是为了某个小组”。如果原因是“他的背景不适合”,那一开始就不应该见面会谈。
导师还有一项很重要的任务,就是当特别重要的岗位急缺人的时候,要花力气去“忽悠”合适的人。这时,导师会循循善诱,极力争取唤起新人对这些组重要性的认同和对其业务的兴趣。老实说,这不是最自然的匹配方式,因为诱导性太强。
新兵训练营结束后,也会出现淘汰的情况,但几率很低。经过新兵训练营的工程师和产品经理一共有500多人,淘汰率不到2%.新兵营毕业后一个月和三个月后,我还会跟这些新员工再进行“一对一”谈话,问他们感觉如何,新兵营对他们有无帮助,是否适应目前的工作,有没有文化沟通上的冲突等。
训练营也是经理培训班
对于成立于2004年的Facebook来说,如何在快速成长中保持自身的文化特色,如何在新工程师潮水般涌进公司时仍能以一贯之?必须有一批新的一线管理层做基础。新兵训练营看似只不过是个新员工培训班,但就像我们上面介绍的那样,做导师的基本都是潜在的经理候选人,他们在训练营里同样获得了宝贵的领导经验。他带着5~9个新员工,就像一个小团队,讨论遇到的各种问题;在指导新员工如何解决问题的过程中,他可以学到管理技巧。
这种培养管理者的程序特别重要。因为Facebook从一开始就是由几个20来岁、没有职业经验的年轻人成立的,之后的工程师主体也大多是这样的年轻人,其中很多都没有在别的公司工作过。尽管他们在打造网站方面做得非常出色,但对于公司文化的可持续性实在没有把握。由于Facebook的结构非常扁平, 一线管理层作为整个工程师管理的基础,有一个系统性的培训机构能持续性地提供新经理,这对于公司的发展是非常重要——新兵训练营在这方面起到了不可忽视的作用。
问鼎云学习
移动客户端扫码下载
关注微信公众号
获取更多培训干货