Facebook如何一面成長一面維持它的工程師文化?

2016.03.14 by
MAOYANG
Facebook如何一面成長一面維持它的工程師文化?
本文刊載於SOFT & SHARE,《數位時代》獲得授權轉載。看到一篇《Business Insider》的報導,標題是...

本文刊載於SOFT & SHARE,《數位時代》獲得授權轉載。

看到一篇《Business Insider》的報導,標題是Facebook engineering director describes what it's like to go through the company's 6-week engineer bootcamp 原本以為這個bootcamp是為剛進入Facebook的新手所設立的, 類似我們說的「新生訓練」,將內文看過一次後發現全然不是那麼一回事,內文提到當Facebook工程師在2008年成長到150人以上就開始實施Bootcamp活動,新手到老手都要參加,為期6週,這個Bootcamp活動可以讓Facebook成長時繼續維持Facebook的工程師文化(我會比較喜歡用駭客文化),FB的工程執行長Vlad Fedorov說這個活動非常成功,他告訴記者說,如果他要出去開新創公司,他也會複製這個活動。

這篇報導也提到Facebook在招募工程師跟目前許多大公司的區別在於它用Bootcamp來決定工程師是否適任並且快樂的工作。看到這句話聯想到我們之前寫過的一篇-關於Google團隊管理的文章 裡面就有提到Google發現高績效的員工都有5個特質:

1.Psychological Safety:可大膽嘗試不怕犯錯,不用擔心被別人批判
2.Dependability: 準時完成且達高標
3.Structure & Clarity: 清楚的角色認知、計畫、與目標
4.Meaning: 覺得自己的工作很有意義
5.Impact:覺得自己的工作很重要且可創造改變

比對一下,這兩家在網路界呼風喚雨的公司的體認是不是有相似之處,他們發現只有讓工程師喜歡他們自己的工作才能讓工作更有效率,文中也提到了Facebook的人力資源主管Lori Goler的使命-讓Facebook成為一個強力為本(strengths-based)的組織,經理人必須讓工程師視工作為他的熱情所在。

Facebook是如何進行Bootcamp?

Bootcamp開始進行的時候,每個新手都會搭配一位資深工程師當作輔導者,讓這位輔導這指派不同的工作給新手,例如解公司網站或是App的Bug,這些Bug是真實存在的而且會影響到Facebook全世界10億以上的使用者,所以這些Bug修正正式上線前都會讓資深工程師檢查後才上線。Bootcamp也開放讓工程師自己決定他們要改善Facebook產品線中哪些功能,例如Facebook的群組功能或是Android、iOS App。

經過這六週的Bootcamp活動,帶給了Facebook三項好處

一、讓工程師決定他們如何貢獻

Fedorov提到大部分工程師進入公司之前對公司所知都是有限, 經過六週的Bootcamp洗禮, 工程師可以看Facebook所有的code並知道Facebook產品線如何運作, 新進的工程師藉此可以決定他們剛進入公司有什麼工作可以激發他們的興趣。

二、在公司內部工作網路產生新的「雇用」

Facebook的Bootcamp產生當初沒有預期到的效果讓工程師產生革命情感。裡面有提到Facebook目前全球有64個辦公室13000個員工,Bootcamp讓Facebook避免掉因為工程師不斷的增加造成一堆孤立團隊的問題-這裡面講的讓我想到前一陣子看到的一篇文章-穀倉效應, 裡面講的是大公司各部門各自為政的問題,Facebook的Bootcamp看起來可以打破穀倉效應

三、在團隊中建立一致性

Fedorov提到大公司內不同的團隊有他們自己的開發流程, 這會讓公司的技術分裂, 而且這會讓公司內部的合作變得沒效率。 在Bootcamp中, 指導者會教所有新進工程師Facebook的最佳實踐(或是開發流程) 工程師過了一年後如果對公司內部其它專案感到興趣, 這樣工程師也很容易融入新的團隊。 這邊我對於一致性想下一個註解, 對於一致性這個字眼, 有些公司是嗤之以鼻, 有些公司認為企業要有創意, 必須要保有每個人的獨創性, 一致性應該是用在製造業才對吧? 其實依據個人見解, 這邊講求的一致性應該是針對工作方法,例如敏捷開發流程中提到的幾個實踐, Pair programming、Unit test、continue integration,這些好的實踐就必須落實在每個團隊,不應該A團隊是做一套,﹐B團隊又是做另一套。

擔任輔導者角色的資深工程師也從Bootcamp得到好處,這會讓他的領導統御更有效率。最完美的是這個Bootcamp讓新進的工程師可以馬上上手,並享受參與的工作。

如何讓工程師喜歡他的工作? 又去激發他的熱情?

其實看了許多文章都是這麼說, 那要How to do呢? 昨天剛好在社群看到朋友分享一個簡報Motivating and Engaging Workers, 如果你是扮演經理人的角色, 相信看了會很有幫助。

如何建立有效率的團隊呢?

Facebook讓工程師去選擇跟她/他興趣相符的專案去參與,讓工程師樂在其中,這件事跟我們前一陣子推廣的一本書-Creating Great Team裡面講的方法是一樣的,可以參考一下 -以下是書本的簡介

觀摩紐西蘭最大的電商公司運用自選機制(self-selection)完全地重構企業。在此過程,發現如何讓人們自己組織跨功能的小團隊,創造高績效的方法。 本書提供步步指引、清楚易懂的圖示、實際的案例、清單與工具,將讓您在您的組織中實行自選機制(self-selection)。

如果您是經理人,想要將您的組織以小團隊來運作,您將發現自選機制(self-selection)是最快最安全的做法。您將為組織佈置自選活動且確定您自選機制(self-selection)的參加者與夥伴經理人都到位就緒。如果您是團隊成員,您將親自體會參與自選機制(self-selection)是什麼樣的感覺,以及對您每天工作的影響和效果。您將了解考慮自選機制(self-selection)將如何影響您的同事和您的老闆,也將可提供您的經理人計畫,說明如何佈置自選機制(self-selection)的活動以及此機制可行的證據。

圖說明

團隊經常工作做不完?

您的團隊正承受很大的工作壓力-事情先後不清,哪些工作正在進行中也不是很確定,管理沒有發揮作用?如果您的團隊正面臨如上所述的情況,本書的四個案例研究將引導您成功完成專案。您將知道如何運用看板大幅地改進上市進度並建立跨行銷、IT與營運的專注合作機制。每個案例研究都以看板、示意圖、圖表的說明來幫助您了解幕後的運作。

圖說明

如果在團隊推導新技術或是工具遇到阻力怎麼辦?

如果您是扮演Facebook的的輔導者角色,或是您是扮演團隊的資深工程師角色,你發現了資訊系統老舊該升級了?程式開發語言該換新的版本了,開發流程有問題?大家不願意配合做Unit testing?如果你發現這些問題剛好跟你遇到的問題一樣,這絕不是巧合,每個團隊都有這樣的問題。可以參考這本書,這本書會給你許多建議。

圖說明

延伸閱讀

Facebook Engineering Bootcamp Facebook在2009年就有出一篇報告分享他們的Bootcamp經驗。

每日精選科技圈重要消息