廣告

2016年1月8日 星期五

The effective engineer:讓「Noogler」快速成為公司的人才

我從Google學到的廁所文化:讓「Noogler」快速成為公司的人才
撰文者:36 氪 發表日期:2016/01/07
編者按:作者Edmond Lau此前在Google搜索品質小組負責查詢請求和UI方面工作,現在Quora任職。他表示,正是由於在Google學習到的一切伴隨著他自信前行,成為了他的良師益友,無論對於哪家公司都將受用。
圖說明
照片來自:Duncan Hull via flickr, cc license
說起洗手間,你會第一時間想到什麼呢?而對於我,就是一個充滿智慧的地方。沒錯,就是聞名遐邇的「Google廁所內測(Testing on the Toilet)」文化。在目所能及的地方,都是智慧的結晶。每個星期,有關程式測試或是相關分享的傳單都會按時出現在廁所牆上,接受各路大神的審閱。打破地域的界限,共用全球智慧。如此驚人的創舉,正源於Google團隊的核心價值觀:持續向團隊分享個人成果,海納百川,集思廣益
圖說明
圖說:2014年Google的TotT(Testing on the Toilet縮寫)團隊更票選了最佳分享,並頒發了奬座。照片來自:Google Testing Blog
剛畢業那年,我就有幸加入了Google搜索品質團隊,在2006年中到2008年中的兩年光景裡,我學習到了很多日後終身受用的知識與理念;而Google也在這其間,公司人數規模從8000人躍升至2萬人。現在搜索的時候,是不是會看到近似查詢結果的提示?這個正是我加入公司後跟著兩個天才工程師一起做的第一個專案。
經過近半年,循著原型->測試->發佈的軌跡,發展成為現在每天服務著上百萬使用者的小助手,還得感恩Google那伯格族人(《星際爭霸佔》中的種族)般同化人的功力與藝術。只要一投入其懷抱,良好的工作氛圍與優秀的團隊文化,都能馬上讓Noogler們(Google專利,意即:new+googler新Google人)情不自禁地去學習去探索,每天都特別興奮地想馬上為團隊建功立業,奉獻一切。
如果不是幾個起關鍵作用的團隊文化核心要素,或許當初要在強度高、時間緊的背景下完成新專案上線,是非常不容易的。借助這些關鍵要素,我能馬上享用Google程式碼庫、工具庫、以及基礎架構等優質資源,以極其迅速的速度結束Noogler之旅。
儘管有部分前員工對近來公司發展放緩以及官僚主義氾濫嗤之以鼻,但不可否認的是,每年前100最佳雇主評選名單中,你總能在第一梯隊中看到它挺拔的身姿。
接下來,我將這些核心要素總結為以下六點,希望能對你有所啟發:

一、共用優質資源

在團隊中使用內部工具或推行方法論,在Google可謂歷史悠久。例如:Protocol Buffers, MapReduce, BigTable等。對能保持追根究底探求問題,以及提出被大眾認可解決方案的人才,其獎勵機制更是相當慷慨大方;如前3年僅僅對安全研究人員頒發的獎金就高達200萬美元。
因而對於能脫穎而出被推薦使用的工具,往往很快就如雨後春筍在工程師的機器上繁衍生息;同時,專注創造能提升效率和效益的工具,其團隊也能不斷收穫滿足感與成就感,從而形成良性迴圈,讓所有成員團結起來。即使面對完全陌生的工具庫時,由於師出同門一脈相承,其學習週期是充滿歡聲笑語的。

二、完備的培訓資源

重點推薦的當屬Codelabs(程式碼實驗室)。裡面有條理清晰、講解透徹的核心抽象理論說明文檔,有豐富、注重理論與實踐相結合的說明實例。沒有這一切,不論對於Noogler還是老員工,要完成新人培訓是事倍功半且痛苦的。

三、標準化的程式碼風格

可能對於高階工程師來說,諸如程式碼縮進、程式碼注釋、變數物件命名等是小事一樁,但當公司規模達到一定級別時,這一切就從鴻毛變成泰山了。特別是對於做程式碼複審的同事來說,如果上萬個程式碼風格就是上萬個不同樣貌,那就真的悲劇了。所以,儘早建立標準化程式碼風格的規章制度,不論站在員工還是公司角度來說,對自身長遠發展都是大有裨益的。

四、偉大的程式碼審查員

儘管程式碼審查員的存在,會讓人有時候準備完工輕鬆一下時,有被潑一瓢冷水的感覺,甚至會拖長專案進度,但是這個職位的存在是至關重要的。清晰易讀程式碼形成的速度,與審查員唇槍舌劍的次數成正比。嚴師出高徒,每個從Google走出的人都會感激和懷念當初對自己從來沒有好臉色的審查員的。

五、包羅萬有的知識庫

言猶在耳的是搜索事業部總監Norving常掛在嘴邊的一句話:「只要能解決問題,我管它是黑貓還是白貓。」借助強大的Sawzall和MapReduce等資料集群架構,建立和發展巨大的知識庫,合適的解決方案可謂取之不盡,用之不完。

六、自律的單元測試

在Google,進行單元測試是默契,例如開頭的洗手間故事以及審查員神一般的存在。犧牲的可能是專案進度,換來的是成千上萬程式碼的修改。由此延伸到共用工具設計、測試框架建立等方面,都是向著團隊最佳實踐的方向行進的。

寫在最後

離開Google後,輾轉到了了幾不同的企業,在Google學習到的一切一直伴隨著我自信前行。儘管存在文化差異,但是孕育於一個優秀集體的公司文化,經過一番雕琢權衡後,或許雖不是你喜歡的,但卻會是你的良師益友。
英文出自: The effective engineer

沒有留言:

網誌存檔