Facebook的新兵訓練有啥不一樣?
來 源:HR沙龍發(fā)表日期:2019-01-02
01前言
第一次覺得有興趣介紹新兵營文化是和王建碩聊天的時候。當時我在百姓網里做advisor,了解到他們也有類似新兵訓練營(即如何讓新來的員工迅速融入到公司文化中進行高效率的協(xié)同作業(yè))的項目,一開始也是向Facebook 學習,但在具體的操作上都在很小心的摸索,所以我們進行了比較深入的探討。本文將介紹新兵營計劃的內容,背后的理念和操作上要注意的細節(jié)問題。
02什么是新兵營?
其實,Mark Zuckerberg 在2012 年2 月宣布IPO 時對外發(fā)表的公開信里說得很清楚:“……Facebook 要求所有新上任的工程師——包括那些將來主要并非從事程式設計工作的經理——參加新兵訓練營(Bootcamp),學習我們的程式庫、工具和方法。業(yè)內有許多人負責管理工程師團隊,并不愿親自動手編寫程式;然而,我們尋找的實踐型人才都希望也能夠經受新兵訓練營的檢驗。”
沒錯,新兵訓練營,其實也是菜鳥養(yǎng)成營,其目的就是讓新來的工程師和產品經理接受為期六周的集中培訓以盡快融入公司之中,更為順暢地開始工作??墒?,這有什么稀奇的?很多公司都會為新員工指定一個導師啊。但是,Facebook 的做法明顯不同。
03為什么要有新兵訓練營?
先談談新兵訓練營的歷史。
新兵訓練營計劃并不是從公司一成立就有的。我加入Facebook 的時候還沒有這一計劃。我進入公司時,第一個月里找了一堆有問題的程式碼來修改,透過這些工作接觸并認識了很多朋友。第二個月,我選了一個大概長度為一個月的計劃自己玩,也沒什么人來管。就在這些練習中慢慢地認識公司的人,學習公司的文化,并逐漸融入Facebook。
但是隨著公司迅速發(fā)展、員工不斷增多,無計劃的自學式的方法無法迅速地幫助大量新員工高效融入到Facebook,所以從2008 年中開始,Facebook 開始系統(tǒng)性地設計和試驗新兵訓練營計劃,并在實踐中不斷改進。很快,這個計劃變成了所有新加入的工程師都要強制參加的培訓計劃。
對于產品經理,原則上也要求他們參加。由于產品經理進來的時候都已經確定好去某個組,不像工程師,大部分都沒有確定去向,所以如果產品經理的老板有特殊要求的話則可以不經過新兵訓練營而直接開始工作。這種情況比較少見。
這一計劃的主要推動者是Andrew Bosworth, Andrew Bosworth 是公司文化的主要捍衛(wèi)者,“上帝不允許我們有一天不為Facebook 的未來做準備。我們曾見過一家又一家的公司在做大后因為規(guī)模陷入麻煩,或因為文化陷入麻煩。”在2008 年初,他開始意識到,Facebook 的文化可能面臨挑戰(zhàn)甚至失敗。他剛進公司時,所有人都彼此認識,可是2008 年夏季的一天,當他在公司的餐廳排隊時,遇到了一位之前從未見過的工程師。于是Andrew Bosworth 問他,在公司做了多久;對方的回答讓他震驚:一年。
他感覺有點不對勁兒。“我們是Facebook,如果我們不能規(guī)劃一個超過150 人的溝通網絡,就真的有麻煩了。”他這么想。我在Facebook 這四年半,一開始幾乎每個工程師都互相認識,但人員的迅速增長,讓這一點變得不可能。如何有效的讓最適合(潛在)合作的人互相認識,有信任感,來保證計劃的高效完成,成了Facebook 這么些年很大的一個挑戰(zhàn)。等到計劃開始的時候參與的人員才開始互相認識,那么磨合期會更長,磨合成本會更高。
2008 年中,正是新員工如潮水般涌進公司之際,作為公司整個文化培育行動的一部分,新兵訓練營計劃登場了。這項計劃就是為了讓新工程師們認識公司里面相關的人,了解公司的文化,了解公司的技術與產品,從而能迅速地融入Facebook,并找到適合自身能力和興趣的小組(即透過這個過程確定他的具體工作職能)。
04新兵在這六周里究竟要做什么?
第一周的周一,新來的工程師們在公司自助餐廳里和負責他們的導師(Mentor)吃完中飯后,為期六周的強制性訓練營就拉開了序幕。這位導師將全權負責回答新人們的各種問題,從工作,到生活,到八卦,如果新人真的感興趣的話。簡短的介紹之后(Andrew Bosworth 和其他老員工會在這個環(huán)節(jié)介紹公司的文化),每人會分到一臺電腦和一張辦公桌。
第一次打開電腦時,他們會看到六封電子郵件,其中一封是歡迎信,另外五封介紹了他們將要執(zhí)行的任務,包括修復Facebook 網站上的錯誤。訓練的目的很多,其中之一就是讓新員工充分認識到,他們擁有直接改變Facebook 網站的力量。
Facebook很希望工程師在第一天就把所有的程式編寫環(huán)境都設定好,在第一天就提交程式碼。這樣可以在周二參與每周例行的程式碼發(fā)布活動,將程式碼同步到Facebook幾十萬臺服務器中。Facebook并不希望新人在第一天提交復雜的程式碼,基本都是很簡單的改變;希望透過這樣的練習讓工程師能迅速了解整個流程,迅速進入角色。
前三周有很多課程要上。一般公司的COO(營運長),CPO(產品長),工程副總裁都會在第一周給新人們介紹各個部門概況,給大家一個全局的認識。第二周,重點在于公司各個重要產品,常用的技術框架和技術工具的介紹。第三周,集中在公司的運營(包括市場,銷售等部門),商業(yè)模式(Facebook 主要的廣告模式和虛擬貨幣的盈利手段)和其他非產品技術部門的介紹。
從第三周開始,新人們就開始接觸很多相關、需要人手的團隊,和這些團隊的經理交流,了解他們的產品、參加他們的會議和討論。一般要求在第三周的周末,新人要選出不多于三個團隊作為他們感興趣的候選名單。接下來每一周的事情就是進一步縮小目標范圍,以達到在第六周時只剩一個團隊的目標。這個團隊當然就是新人最后要加入的。
從第一周到第六周,所有新人60% 以上的時間,都需要花在修復程式碼錯誤上面。其他所有的事情應該在剩余的40% 時間內完成。Facebook 相信,讓工程師融入公司最好的辦法是透過程式碼的交流。畢竟,產生高質量的程式碼的確是所有工程師最主要的工作。
05誰可以做新兵訓練營的導師?
導師需要對公司文化有比較強的認識,一般要在公司待過一年以上。自愿擔任導師者一般是想發(fā)展成人事經理(People Manager)的,也就是對人員管理、對與人打交道感興趣的人。
既然作為公司整個文化培育行動的一部分,那么如何產生出新兵訓練營的導師則是其中的關鍵。
首先,他需要對公司文化有比較強的認識,一般要在公司待過一年以上,當然越久越好。我在2010 年中開始做新兵訓練營導師時已在Facebook 超過三年;和我同期的導師有一位比我還要早一年。
其次,做導師是自愿性質的(也可以由老板推薦合適的工程師去擔任),只要你有意愿就可以提出申請,但也需要得到你老板的同意,因為做導師需要占用四分之一的正常工作時間。對自己要求高的人并不會因為做導師而讓自己的績效降低四分之一,所以這意味著要必須挪出一部分自己的時間。
通常,自愿擔任導師者一般是想做人事經理的,也就是對人員管理、對與人打交道感興趣的人?,F在Facebook 硬性規(guī)定,所有可能升職為經理的候選人,必須至少做一期新兵訓練營的導師。比如我就是在升職為經理之前,被我的老板推薦去做過兩期的導師。
另外,做導師一般要求是技術高手,因為在訓練營里,新員工每天都要完成大量具體的技術任務,需要導師在必要的時候在技術問題上加以指導。導師也要有能力在結束時準確判斷新兵們的能力和所長。
截至我離開Facebook 時,大概每兩周會進來一批新工程師,那么每期新兵訓練營是六周,每期有2~4 個導師,每個導師要帶5~9 個人,大概每周需要花10~20 小時的時間。所有的導師有一個負責人,就是Andrew Bosworth,他還有一個助手,負責所有的導師和新員工的分配,基本上是把背景類似的(比如校友、原本是同事的、對相同的技術感興趣等)分配給同一個導師,這樣每個小組里成員之間更好溝通。
06導師需要做什么?
新員工在訓練營里60%~70% 的時間要用在修改程式錯誤上,遇到任何困難,都可以尋求導師的幫助,關鍵是方法、理念、文化的傳遞。
那么,導師具體要做些什么呢?新員工有任何問題,尤其是關于公司文化的,除了嘗試自己解決以外,都可以尋求導師的幫助或指導;導師不會在任何時候給新員工臉色看,而是會全力支持他們的學習。
首先,導師每周和被指導的新員工做“一對一”的重點討論,比如他最近的學習進展,表現如何,哪些方面做得好,哪些方面需要加強。公司要求導師對新員工給予最直接的建議,以幫助他們迅速成長。
另外一個交流的重點是對于公司內現有的哪些團隊和項目感興趣,因為新兵訓練營的最終目的就是讓他們順利融入公司,找到合適的團隊。什么才算是合適的團隊呢?從新員工的角度來說,就是既能發(fā)揮他的長處,又是他感興趣的;從公司的立場看,當然希望重點的項目能夠得到合適的人力分配。如果能做到雙方都滿意的匹配,就是理想狀態(tài)了。
Facebook 非常鼓勵員工到他感興趣但不熟悉的領域,這樣可以給一個項目帶來新鮮的視角。當然,這么做的前提是這些人是很聰明的、非常有學習能力的工程師。
其次,導師每周都要參加導師見面會,參加者包括所有正在訓練營的導師、Andrew Bosworth 及其助手,會議就訓練營中遇到的一些具體問題進行討論,找出解決方案。大多數時間會花在一些表現特別出色或特別遜色的新兵身上,如果沒有這兩類人的話,會提早散會。
對于表現特別出色的,導師要著重考慮哪些組最適合這些能力強悍的新兵。公司希望將最好的新兵用在最重要、最需要他們特長的崗位上。有好幾次,在一期新兵營剛開始的時候,幾個小組的組長都發(fā)信要找同一個人,這樣的“搶人”就需要在會議上商量如何進行引導和解決。
對于表現特別遜色的,則會花時間討論如何幫助他們改變以有所起色。因為,對于通過Facebook 層層面試的人,公司相信他們還是有實力的。不經過多次努力,公司不會輕易得出他們不適合Facebook 的結論。
還有,導師會分配一些程式錯誤給新員工進行修補,這類任務通常會占到新員工60%~70% 的時間。設想一下,作為一個新人,你的工作成果很快就被數以億萬計的用戶使用,多么有成就感的事情!這樣做可以給他們極大的自信。修改錯誤的過程中,新員工可以了解到相關項目的前因后果,需要跟相關程序的小組及工程師打交道,熟悉很多內部工具……這就又回到了新兵訓練營的最終目的上——幫他們找到最合適的小組。
如果新工程師在修改錯誤時遇到了困難,那他是先跟自己在訓練營里的朋友互相商量,一群菜鳥找出答案來,還是直接尋求導師的幫助呢?當然,菜鳥互幫互助是最受鼓勵的,解決問題的方式往往不止一種,而是很多,每個人都可以構想自己的方法,自己什么嘗試都沒做就直接問別人則是非常忌諱的。如果實在不行、確實需要找導師時,導師往往也不會給出直接的答案,而是告訴新人們,可以去找程式碼錯誤涉及的原先的工程師聊聊,哪些人對這個部分更了解。
正如中國的諺語,“授之于魚,不如授之以漁”,希望新員工能夠自己去思考這些遇到的問題,然后找出解決方法;當然,也不能在困難面前自己一個勁鉆研,要學會適當尋求別人的幫助。
一個簡單的原則是:至少要在相關的程式碼里花了半小時而沒有任何頭緒,這時候才適合去尋找導師或者問相關的工程師。這樣你在和導師或者相關工程師請教的時候,可以在解釋完遇到的問題之后,再迅速描述你已經查看的程式碼和已經排除的一些假設;當別人知道你做過功課的時候,會更加愿意幫你。不懂就問,而不是自己先鉆研的人,在Facebook 不受歡迎。
很多時候訓練營碰到的情況是,解決一個問題其實有好幾種方式,但新員工還不明白哪種方式是Facebook 通用的,這個時候導師可以告訴他去程式庫里看看其他類似的地方是怎么處理的,看以前的工程師是怎么做的,重復這種方式保持一致性一般沒有問題。所以如何高效地做程式碼查看成了每個員工都要學會的技能。
如果涉及的是具體產品的技術性問題,Facebook 不建議導師進行深入的幫助,因為這樣就變成我來幫助你做一件非常具體的事情了,而關鍵的是教給新員工方法、理念、文化上的東西。
07如何為新員工找到合適的工作職位
導師在跟幾位需要人手的經理討論之后,就會安排大致上合適的新員工與之見面,通常是經理在做“推銷”;而新員工好比是在“面試”那些小組,最后由他決定自己想去哪一組。
為了讓合適的組找到合適的人,新兵訓練營負責日常運營的人(Andrew Bosworth的助手)會在每一期開始前一周把所有新兵的簡歷E-mail 給有小組里有名額的經理。如果經理看到一個特別合適的,新兵營會配合這個經理去引起目標人選的興趣,比如說會鼓勵他參加該組的討論會,多分配該組相關的程式碼錯誤修改任務等。但最后能不能成功,最大的決定來自于新兵本人。
另外,導師也會主動跟目前需要人手的那些組小溝通,看自己負責指導的新員工更適合哪些專案。Facebook 專門有一個頁面,叫團隊優(yōu)先項目頁面(Team Priority Page),負責產品技術的各個組都可以把自身的用人需求放在上面,還有一個由Andrew Bosworth 和工程總監(jiān)們組成的委員會,每兩周開一次會,討論每個組的用人優(yōu)先度Andrew Bosworth 的強勢在這個會議上大有用處。
根據這些情況,導師會跟相應的幾個經理做一些探討,比如挑幾個最重要的組當中要招人的幾個職位,看起來跟自己的所負責的新員工背景比較符合,進行一個大致的挑選,相當于導師幫新人做了一次初選。畢竟讓一個新人在完全沒有指導的情況下去了解每個小組,效率太低,也不切實際。導師再鼓勵新員工去跟這些備選組的人去接觸、溝通。
導師每周都會對所指導的新員工進行評級(有Rockstar—明星、Solid—扎實、Shaky—搖擺這幾個級別)并簡要地評價,說明他水準如何、有什么專長、對哪些小組特別感興趣等,這些評價整理匯總之后會發(fā)給所有的經理,所以他們對新員工的能力也有了大致的了解。
導師在跟幾位經理經過討論之后,就會安排大致上合適的新員工與之見面,一般半個小時左右,通常是經理來介紹他的小組在做什么項目,需要什么樣的人,這項工作的意義何在,這個小組對整個公司有什么意義等,相當于在做“推銷”;而新員工主要是聽,好比是在“面試”那些小組,最后由他決定自己想去哪個組。
除非有特殊情況,一般某個新員工選定的組都會接收他,不能拒絕。因為如果你拒絕的理由是“他不行”的話,那不如解雇他,而不是說你不愿意讓他到你的組、但可以到其他組,這種想法違背Facebook 的文化。
我在前面就強調過這一點,“我們都是為Facebook 工作的,而不是為了某個小組工作”,所以如果你覺得某個新員工不行,那其他組也不應該要他。如果原因是“他的背景不適合”,那一開始就不應該見面會談。導師原本就會極力避免把新人介紹到明顯不適合的小組,所以這個理由也不成立。
這種討論既可以由導師發(fā)起,也可以由需要用人的經理發(fā)起。比如我曾在新兵訓練營里指導過一個之前在Google 的資深工程師(Senior Staff Engineer),原先在Googe 屬于前3% 行列,水準很高,過沒幾天就有好幾個組的經理跟我說想找這個人談談。當然,這種情況下,我不希望經理直接去找這個人。我要先做個篩選,畢竟對雙方都了解的只有我一個人,如果是我覺得合適的小組,再轉給該工程師看他是否感興趣。
另外,就是避免過度的“推銷”,這會讓員工迷惑、陷入過多選擇。畢竟對Facebook 很重要的小組很多,有趣的組也很多,如果每個組都來向新人推銷一遍,新人的想法就混亂了,反而沒辦法做出選擇。
導師還有一個很重要的任務,就是當某幾個特別重要的崗位急缺人的時候,要花力氣去“誘導”合適的人到這些組去。這個時候,導師會循循善誘,極力爭取喚起新人對這些小組的重要性的認同和對其業(yè)務的興趣。我做過幾例這樣的推銷工作。老實說,這不是最自然的配對方式,因為在這種時候誘導性太強。
在新兵訓練營結束后,也會發(fā)生淘汰的情況,但幾率很低。印象中,在我離開Facebook 時,像這種情況淘汰掉的總共不超過10 個人,而經過新兵訓練營的工程師和產品經理一共大概有五百多人,淘汰率不到2%。
在我曾經帶過的一期當中,有一位伯克利畢業(yè)的專攻機器學習(Machine Learning)的博士,美國人,有三年多工作經歷,很年輕。他很聰明,但有典型的博士風格——凡事都要弄得特別深入、特別細致。這樣導致了一個問題——速度太慢。一個我自己去做只用一兩個小時完成的程式碼修復,一般期待新人最多半天,但這位兄弟為了把前前后后弄得一清二楚花幾天時間都搞不定。我們之間有過多次關于質和量如何平衡的討論,也達成了他應該加快速度、增加產出的結論。我在多次的表現評級上都給了他“搖擺(Shaky)”的評價,但似乎改善不多。
在第四周,我們給了他最后的機會,讓他嘗試給動態(tài)消息組的機器學習算法部分做一個改進。機器學習算法的一個特點是對試驗的設計、數據的獲取和分析要求很高,相對于其他的產品項目,對質量的要求要高,速度的要求較低,比較適合研究型人才的胃口。所以,這種安排也是希望能讓他更容易展現自己的特長。從小組里的反應來看,對他的表現還算滿意。最后我們就讓他進了這個組,沒有讓他走人。對于表現不良的新人,雖然總體上Facebook 是求快,但對于在某方面有造詣的工程師還是盡可能為他尋找合適的崗位。
這里面其實也反映出一個問題,就是研究型人才如何在一家步伐很快的技術公司立足。Facebook也在慢慢地摸索。
就我個人做導師的經歷而言,新兵訓練營結束后我還會繼續(xù)追蹤(這不是公司統(tǒng)一要求的)。新兵營畢業(yè)后一個月和三個月后,我會跟這些新員工再進行“一對一”談話,看他們感覺怎么樣,新兵營對他們有沒有幫助,是否適應目前的工作,有沒有文化溝通上的沖突等。
08訓練營不僅是新員工培訓班,也是經理培訓班
對于快速成長、規(guī)模不斷擴大的Facebook 來說,新兵訓練營還是一個培養(yǎng)一線管理者的好地方,并有效地保持了自身的文化特色。
對于成立于2004 年的Facebook 來說,如何在快速成長中保持自身的文化特色,如何在新工程師潮水般涌進公司時仍能以一貫之,就必須有一批新的一線管理層做基礎。新兵訓練營看似只不過是個新員工培訓班,但就像我們上面介紹的那樣,做導師的基本都是潛在的經理候選人,他們在訓練營里同樣獲得了寶貴的領導經驗。他帶著5~9 個新員工,就像一個小團隊,討論遇到的各種問題;在指導新員工如何解決問題的過程中,他可以學到管理技巧。
這種培養(yǎng)管理者的程序特別重要。因為Facebook 從一開始就是由幾個二十多歲、沒有工作經驗的年輕人成立的,之后的工程師主體也大多是這樣的年輕人,其中很多都沒有在別的公司工作過,盡管在打造網站方面做得非常出色,但對于公司文化的可持續(xù)性實在沒有把握。由于Facebook 的結構非常扁平,一線管理層作為整個工程師管理的基礎,有一個系統(tǒng)性的培訓機構能持續(xù)性的提供新的經理,對于公司的發(fā)展是非常重要的。
新兵訓練營在這方面有不可忽視的作用。
本文關鍵字:Facebook 新兵 訓練
- 相關文章
-