导师每周都会对所指导的新员工进行评级(有Rockstar—明星,Solid—扎实,Shaky—摇摆这几个级别)并简要地评价,说明他水平如何、有什么特长、对哪些组特别感兴趣等,这些评价整理汇总之后会发给所有的经理,所以他们对新员工的能力也有了大致的了解。
导师在跟几位经理经过讨论之后,就会安排大致匹配的新员工与之见面,一般半个小时左右,通常是经理来介绍他的小组在做什么项目,需要招什么样的人,这项工作的意义何在,这个小组对整个公司有什么意义等,相当于在做“推销”;而新员工主要是听,好比是在“面试”那些小组,最后由他决定自己想去哪个组。
除非有特殊情况,一般某个新员工选定的组都会接收他,不能拒绝。因为如果你拒绝的理由是“他不行”的话,那不如解雇他,而不是说你不愿意让他到你的组、但可以到其他组,这种想法违背Facebook的文化。我在前面就强调过这一点,“我们都是为Facebook工作的,而不是为了某个小组工作”,所以如果你觉得某个新员工不行,那其他组也不应该要他。如果原因是“他的背景不适合”,那一开始就不应该见面会谈。导师极力避免把新人介绍到明显不适合的组里面,所以这个理由也不成立。
这种讨论既可以由导师发起,也可以由需要用人的经理发起。比如我曾在新兵训练营里指导过一个之前在Google的资深工程师(Senior Staff Engineer),原先在Googe属于前3%行列的,水平很高,没过几天就有好几个组的经理跟我说想找这个人谈谈。当然,这种情况下,我不希望经理直接去找这个人。我要先做个筛选,毕竟对双方都了解的只有我一个人,如果是我觉得合适的组,再转给该工程师看他是否感兴趣。另外,就是避免过度的“推销”,这会让员工迷惑、陷入过多选择。毕竟对Facebook很重要的组有很多,有趣的组也很多,如果每个组都来向新人推销一遍,新人的想法就混乱了,反而没办法做出选择。
导师还有一个很重要的任务,就是当某几个特别重要的岗位急缺人的时候,要花力气去“忽悠”合适的人到这些组去。这个时候,导师会循循善诱,极力争取唤起新人对这些组的重要性的认同和对其业务的兴趣。我做过几例这样的推销工作。老实说,这不是最自然的匹配方式,因为在这种时候诱导性太强。
在新兵训练营结束后,也会发生淘汰的情况,但几率很低。印象中,在我离开Facebook时,像这种情况淘汰掉的总共不超过10个人,而经过新兵训练营的工程师和产品经理一共大概有500多人,淘汰率不到2%。
在我曾经带过的一期当中,有一位伯克利毕业的专攻机器学习(Machine Learning)的博士,美国人,有三年多工作经历,很年轻。他很聪明,但有典型的博士风格——凡事都要弄得特别深入、特别细致。这样导致了一个问题,速度太慢。一个我自己去做只用一两个小时完成的代码修复,一般期待新人最多半天,但这位兄弟为了把前前后后弄得一清二楚花几天时间都搞不定。我们之间有过多次关于质和量如何平衡的讨论,也达成了他应该加快速度、增加产出的结论。我在多次的表现评级上都给了他“摇摆(Shaky)”的评价,但似乎改善不多。在第四周,我们给了他最后的机会,让他尝试给动态消息组的机器学习算法部分做一个改进。机器学习算法的一个特点是对试验的设计、数据的获取和分析要求很高,相对于其他的产品项目,对质量的要求要高,速度的要求较低,比较适合研究型人才的胃口。所以,这种安排也是希望能让他更容易展现自己的特长。从组里的反应来看,对他的表现还算满意。最后我们就让他进了这个组,没有让他走人。对于表现不良的新人,虽然总体上Facebook是求快,但对于在某方面有造诣的工程师还是尽可能为他寻找合适的岗位。
这里面其实也反映出一个问题,就是研究型人才如何在一家步伐很快的技术公司立足。Facebook也在慢慢地摸索。
就我个人做导师的经历而言,新兵训练营结束后我还会继续跟踪(这不是公司统一要求的)。新兵营毕业后一个月和三个月后,我会跟这些新员工再进行“一对一”谈话,看他们感觉怎么样,新兵营对他们有没有帮助,是否适应目前的工作,有没有文化沟通上的冲突等。
对于快速成长、规模不断扩大的Facebook来说,新兵训练营还是一个培养一线管理者的好地方,并有效地保持了自身的文化特色。
对于成立于2004年的Facebook来说,如何在快速成长中保持自身的文化特色(本书相关章节会专门讲到公司的文化),如何在新工程师潮水般涌进公司时仍能以一贯之,就必须有一批新的一线管理层做基础。新兵训练营看似只不过是个新员工培训班,但就像我们上面介绍的那样,做导师的基本都是潜在的经理候选人,他们在训练营里同样获得了宝贵的领导经验。他带着5~9个新员工,就像一个小团队,讨论遇到的各种问题;在指导新员工如何解决问题的过程中,他可以学到管理技巧。
这种培养管理者的程序特别重要。因为Facebook从一开始就是由几个20来岁、没有职业经验的年轻人成立的,之后的工程师主体也大多是这样的年轻人,其中很多都没有在别的公司工作过,尽管在打造网站方面做得非常出色,但对于公司文化的可持续性实在没有把握。由于Facebook的结构非常扁平,一线管理层作为整个工程师管理的基础,有一个系统性的培训机构能持续性的提供新的经理,对于公司的发展是非常重要的。
新兵训练营在这方面起到了不可忽视的作用。
——————————————
[1] Facebook代码产生的过程包括写代码(write code),测试代码(test code),审查代码(review code),提交代码(check in code),发布代码(release code)。写代码指在自己的开发机器上做好修改,这些修改只存在于自己的开发环境中;测试代码指在本地端测试自己的修改以保证修改不引入明显的问题;审查代码指找合适的工程师同事来查看待提交的代码;提交代码是将经审查的代码提交到服务器端的代码库之中;发布代码是将提交的新代码同步到所有的服务器端让最终用户使用新的功能。