如何將你的新工程師迅速調教成一隻老鳥(中)

看看前 Facebook 技術經理揭露 Facebook 是如何訓練新進工程師的,本文為中篇。
評論
評論

原文載自 ,作者王淮是前 Facebook 支付後端及反詐欺技術經理,現為天使投資人。本文為中篇。

上篇:〈 如何將你的新工程師迅速調教成一隻老鳥(上)

誰可以做新兵訓練營的導師?

導師需要對公司文化有比較強的認識,一般要在公司待過一年以上。自願擔任導師者一般是想發展成人事經理(People Manager) 的,也就是對人員管理、對與人打交道感興趣的人。

既然作為公司整個文化培育行動的一部分,那麼如何產生出新兵訓練營的導師則是其中的關鍵。首先,他需要對公司文化有比較強的認識,一般要在公司待過一年以上,當然越久越好。我在 2010 年中開始做新兵訓練營導師時已在 Facebook 超過三年;和我同期的導師有一位比我還要早一年。其次,做導師是自願性質的(也可以由老闆推薦合適的工程師去擔任),只要你有意願就可以提出申請,但也需要得到你老闆的同意,因為做導師需要佔用四分之一的正常工作時間。對自己要求高的人並不會因為做導師而讓自己的績效降低四分之一,所以這意味着要必須挪出一部分自己的時間。

通常,自願擔任導師者一般是想做人事經理的,也就是對人員管理、對與人打交道感興趣的人。現在 Facebook 硬性規定,所有可能升職為經理的候選人,必須至少做一期新兵訓練營的導師。比如我就是在升職為經理之前,被我的老闆推薦去做過兩期的導師。另外,做導師一般要求是技術高手,因為在訓練營裡,新員工每天都要完成大量具體的技術任務,需要導師在必要的時候在技術問題上加以指導。導師也要有能力在結束時準確判斷新兵們的能力和所長。

截至我離開 Facebook 時,大概每兩週會進來一批新工程師,那麼每期新兵訓練營是六週,每期有 2~4 個導師,每個導師要帶 5~9 個人,大概每週需要花 10~20 小時的時間。所有的導師有一個負責人,就是 Andrew Bosworth,他還有一個助手,負責所有的導師和新員工的分配,基本上是把背景類似的(比如校友、原本是同事的、對相同的技術感興趣等)分配給同一個導師,這樣每個小組裡成員之間更好溝通。

導師需要做什麼?

新員工在訓練營裡 60%~70% 的時間要用在修改程式錯誤上,遇到任何困難,都可以尋求導師的幫助,關鍵是方法、理念、文化的傳遞。

那麼,導師具體要做些什麼呢?新員工有任何問題,尤其是關於公司文化的,除了嘗試自己解決以外,都可以尋求導師的幫助或指導;導師不會在任何時候給新員工臉色看,而是會全力支持他們的學習。

首先,導師每週和被指導的新員工做「一對一」的重點討論,比如他最近的學習進展,表現如何,哪些方面做得好,哪些方面需要加強。公司要求導師對新員工給予最直接的建議,以幫助他們迅速成長。另外一個交流的重點是對於公司內現有的哪些團隊和項目感興趣,因為新兵訓練營的最終目的就是讓他們順利融入公司,找到合適的團隊。什麼才算是合適的團隊呢?從新員工的角度來說,就是既能發揮他的長處,又是他感興趣的;從公司的立場看,當然希望重點的項目能夠得到合適的人力分配。如果能做到雙方都滿意的匹配,就是理想狀態了。Facebook 非常鼓勵員工到他感興趣但不熟悉的領域,這樣可以給一個項目帶來新鮮的視角。當然,這麼做的前提是這些人是很聰明的、非常有學習能力的工程師。

其次,導師每週都要參加導師見面會,參加者包括所有正在訓練營的導師、Andrew Bosworth 及其助手,會議就訓練營中遇到的一些具體問題進行討論,找出解決方案。大多數時間會花在一些表現特別出色或特別遜色的新兵身上,如果沒有這兩類人的話,會提早散會。對於表現特別出色的,導師要着重考慮哪些組最適合這些能力強悍的新兵。公司希望將最好的新兵用在最重要、最需要他們特長的崗位上。有好幾次,在一期新兵營剛開始的時候,幾個小組的組長都發信要找同一個人,這樣的「搶人」就需要在會議上商量如何進行引導和解決。對於表現特別遜色的,則會花時間討論如何幫助他們改變以有所起色。因為,對於通過 Facebook 層層面試的人,公司相信他們還是有實力的。不經過多次努力,公司不會輕易得出他們不適合 Facebook 的結論。

還有,導師會分配一些程式錯誤給新員工進行修補,這類任務通常會佔到新員工 60%~70% 的時間。設想一下,作為一個新人,你的工作成果很快就被數以億萬計的用戶使用,多麼有成就感的事情!這樣做可以給他們極大的自信。修改錯誤的過程中,新員工可以了解到相關項目的前因後果,需要跟相關程序的小組及工程師打交道,熟悉很多內部工具……這就又回到了新兵訓練營的最終目的上——幫他們找到最合適的小組。

如果新工程師在修改錯誤時遇到了困難,那他是先跟自己在訓練營里的朋友互相商量,一群菜鳥找出答案來,還是直接尋求導師的幫助呢?當然,菜鳥互幫互助是最受鼓勵的,解決問題的方式往往不止一種,而是很多,每個人都可以構想自己的方法,自己什麼嘗試都沒做就直接問別人則是非常忌諱的。如果實在不行、確實需要找導師時,導師往往也不會給出直接的答案,而是告訴新人們,可以去找程式碼錯誤涉及的原先的工程師聊聊,哪些人對這個部分更了解。正如中國的諺語,「授之於魚,不如授之以漁」,希望新員工能夠自己去思考這些遇到的問題,然後找出解決方法;當然,也不能在困難面前自己一個勁鑽研,要學會適當尋求別人的幫助。一個簡單的原則是:至少要在相關的程式碼里花了半小時而沒有任何頭緒,這時候才適合去尋找導師或者問相關的工程師。這樣你在和導師或者相關工程師請教的時候,可以在解釋完遇到的問題之後,再迅速描述你已經查看的程式碼和已經排除的一些假設;當別人知道你做過功課的時候,會更加願意幫你。不懂就問,而不是自己先鑽研的人,在 Facebook 不受歡迎。

很多時候訓練營碰到的情況是,解決一個問題其實有好幾種方式,但新員工還不明白哪種方式是 Facebook 通用的,這個時候導師可以告訴他去程式庫裡看看其他類似的地方是怎麼處理的,看以前的工程師是怎麼做的,重複這種方式保持一致性一般沒有問題。所以如何高效地做程式碼查看成了每個員工都要學會的技能。

如果涉及的是具體產品的技術性問題,Facebook 不建議導師進行深入的幫助,因為這樣就變成我來幫助你做一件非常具體的事情了,而關鍵的是教給新員工方法、理念、文化上的東西。

 

>> 下篇:〈 如何將你的新工程師迅速調教成一隻老鳥(下)


精選熱門好工作

樂趣買 事業開發 Business Development(Rakuma)

台灣樂天市場
臺北市.台灣

獎勵 NT$20,000

行銷協理

數字銀河股份有限公司
臺北市.台灣

獎勵 NT$20,000

iOS 工程師

FunNow
臺北市.台灣

獎勵 NT$20,000

評論