主页 > J滴生活 >如何将你的新工程师迅速调教成一只老鸟(上) >

如何将你的新工程师迅速调教成一只老鸟(上)

如何将你的新工程师迅速调教成一只老鸟(上)
前言

第一次觉得有兴趣介绍新兵营文化是和王建硕聊天的时候。当时我在百姓网里做 advisor,了解到他们也有类似新兵训练营的项目,一开始也是向 Facebook 学习,但在具体的操作上都在很小心的摸索,所以我们进行了比较深入的探讨。本文将分多篇来介绍新兵营计划的内容,背后的理念和操作上要注意的细节问题。本文节选自即将于 12 月份出版的新书《我在 Facebook 的日子——打造 Facebook》。

什幺是新兵营?

其实,Mark Zuckerberg 在 2012 年 2 月宣布 IPO 时对外发表的公开信里说得很清楚:「……Facebook 要求所有新上任的工程师——包括那些将来主要并非从事程式设计工作的经理——参加新兵训练营,学习我们的程式库、工具和方法。业内有许多人负责管理工程师团队,并不愿亲自动手编写程式;然而,我们寻找的实践型人才都希望也能够经受新兵训练营的检验。」

没错,新兵训练营,其实也是菜鸟养成营,其目的就是让新来的工程师和产品经理接受为期六週的集中培训以儘快融入公司之中,更为顺畅地开始工作。可是,这有什幺稀奇的?很多公司都会为新员工指定一个导师啊。但是,Facebook 的做法明显不同。

为什幺要有新兵训练营?

先谈谈新兵训练营的历史。

新兵训练营计划并不是从公司一成立就有的。我加入 Facebook 的时候还没有这一计划。我进入公司时,第一个月里找了一堆有问题的程式码来修改,透过这些工作接触并认识了很多朋友。第二个月,我选了一个大概长度为一个月的计画自己玩,也没什幺人来管。就在这些练习中慢慢地认识公司的人,学习公司的文化,并逐渐融入 Facebook。但是随着公司迅速发展、员工不断增多,无计划的自学式的方法无法迅速地帮助大量新员工高效融入到 Facebook,所以从 2008 年中开始,Facebook 开始系统性地设计和试验新兵训练营计划,并在实践中不断改进。很快,这个计划变成了所有新加入的工程师都要强制参加的培训计划。对于产品经理,原则上也要求他们参加。由于产品经理进来的时候都已经确定好去某个组,不像工程师,大部分都没有确定去向,所以如果产品经理的老闆有特殊要求的话则可以不经过新兵训练营而直接开始工作。这种情况比较少见。

这一计划的主要推动者是 Andrew Bosworth, Andrew Bosworth 是公司文化的主要捍卫者,「上帝不允许我们有一天不为 Facebook 的未来做準备。我们曾见过一家又一家的公司在做大后因为规模陷入麻烦,或因为文化陷入麻烦。」在 2008 年初,他开始意识到,Facebook 的文化可能面临挑战甚至失败。他刚进公司时,所有人都彼此认识,可是 2008 年夏季的一天,当他在公司的餐厅排队时,遇到了一位之前从未见过的工程师。于是 Andrew Bosworth 问他,在公司做了多久;对方的回答让他震惊:一年。他感觉有点不对劲儿。「我们是 Facebook,如果我们不能规划一个超过 150 人的沟通网络,就真的有麻烦了。」他这幺想。我在 Facebook 这四年半,一开始几乎每个工程师都互相认识,但人员的迅速增长,让这一点变得不可能。如何有效的让最适合合作的人互相认识,有信任感,来保证计画的高效完成,成了 Facebook 这幺些年很大的一个挑战。等到计画开始的时候参与的人员才开始互相认识,那幺磨合期会更长,磨合成本会更高。

2008 年中,正是新员工如潮水般涌进公司之际,作为公司整个文化培育行动的一部分,新兵训练营计划登场了。这项计划就是为了让新工程师们认识公司里面相关的人,了解公司的文化,了解公司的技术与产品,从而能迅速地融入 Facebook,并找到适合自身能力和兴趣的小组。

新兵在这六週里究竟要做什幺?

第一週的週一,新来的工程师们在公司自助餐厅里和负责他们的导师吃完中饭后,为期六週的强制性训练营就拉开了序幕。这位导师将全权负责回答新人们的各种问题,从工作,到生活,到八卦,如果新人真的感兴趣的话。简短的介绍之后,每人会分到一台电脑和一张办公桌。第一次打开电脑时,他们会看到六封电子邮件,其中一封是欢迎信,另外五封介绍了他们将要执行的任务,包括修复 Facebook 网站上的错误。训练的目的很多,其中之一就是让新员工充分认识到,他们拥有直接改变 Facebook 网站的力量。

Facebook 很希望工程师在第一天就把所有的程式编写环境都设定好,在第一天就提交程式码 1。这样可以在週二参与每週例行的程式码发布活动,将程式码同步到 Facebook 几十万台服务器中。Facebook 并不希望新人在第一天提交複杂的程式码,基本都是很简单的改变;希望透过这样的练习让工程师能迅速了解整个流程,迅速进入角色。

前三週有很多课程要上。一般公司的 COO,CPO,工程副总裁都会在第一週给新人们介绍各个部门概况,给大家一个全局的认识。第二週,重点在于公司各个重要产品,常用的技术框架和技术工具的介绍。第三週,集中在公司的运营,商业模式和其他非产品技术部门的介绍。

从第三週开始,新人们就开始接触很多相关、需要人手的团队,和这些团队的经理交流,了解他们的产品、参加他们的会议和讨论。一般要求在第三週的週末,新人要选出不多于三个团队作为他们感兴趣的候选名单。接下来每一週的事情就是进一步缩小目标範围,以达到在第六週时只剩一个团队的目标。这个团队当然就是新人最后要加入的。

从第一週到第六週,所有新人 60% 以上的时间,都需要花在修复程式码错误上面。其他所有的事情应该在剩余的 40% 时间内完成。Facebook 相信,让工程师融入公司最好的办法是透过程式码的交流。毕竟,产生高质量的程式码的确是所有工程师最主要的工作。

>> 中篇:〈 如何将你的新工程师迅速调教成一只老鸟〉
  1. Facebook 程式码产生的过程包括编写程式,测试程式码,审查程式码,提交程式码,发表程式码。编写程式指的是在自己的开发机器上做好修改,这些修改只存在于自己的开发环境中;测试程式码指在本地端测试自己的修改以保证修改不引入明显的问题;审查程式码则是指找合适的工程师同事来查看待提交的程式码;提交程式码是将经审查的程式码提交到伺服器端的程式库之中;发布程式码是将提交的新程式码同步到所有的伺服器端让终端使用者使用新的功能。↩

上一篇:
下一篇:

相关推荐