Facebook如何程式設計:祖克伯親自把關程式碼更新
導語:美國科技部落格網站 BusinessInsider 今日撰文揭開了 Facebook 程式設計人員的神祕面紗。Facebook 程式碼從開始編寫到最終釋出,都有著極為嚴格的程式,CEO 馬克·祖克伯(Mark Zuckerberg)甚至對 News Feed 每個程式碼更新親自把關,確保不出現任何差錯。
工作中的祖克伯
Facebook工程師是這家社交網站巨頭最有價值的財產,他們擁有非常大的自主權,但同時也面臨著儘快釋出高質量程式碼的壓力。
谷歌員工李易(Yee Lee)通過與大批Facebook工程師的交談,在一篇博文中披露了Facebook程式碼釋出流程。這個流程的確與外界之前想象的相差無幾,雖然Facebook對程式碼釋出的監督比人們預想的更為嚴格。儘管這篇博文發表於一年前,但整個流程自Facebook上市以來似乎並未發生太大變化。
Facebook員工主要由工程師構成,人數最多的兩個團隊分別是Engineering和Ops,總計佔了Facebook員工總數的一半左右。此外,Facebook還有大量產品經理。他們要確保程式碼按時釋出。每一個產品經理負責7到10名工程師。
Facebook所有工程師都要接受4到6周的培訓,學習Facebook修復漏洞的方法,聆聽資深僱員舉辦的講座。在進入“訓練營”(Boot Camp)的工程師當中,會有大約10%無法順利通過測試,最終被勸退。
接受完培訓以後,工程師開始接觸Facebook資料庫。他們可以隨意核對程式碼,對資料庫做出修改。員工們還會拿到一張“禁做之事”名單,如禁止分享使用者資料。儘管如此,Facebook還出臺了一系列措施,防止此類事情的發生。
同谷歌一樣,Facebook的企業文化同樣以工程師為主。一名工程師說:“產品經理基本上在這裡毫無作為。”工程師可以修改尚未正式上市的產品規格,在任何時間提出新的功能創意。
工程師會在每月一次的不同團隊例會上提交他們的成果。產品推廣經理和產品經理會出席這些會議,但不被鼓勵暢所欲言。“如果產品經理在例會上暢所欲言,工程師們就會向領導層反應說,‘上次會議上他們有關產品的意見太多了’。”
在Facebook,工程師想做什麼,基本上都由他們自己決定。他們會找到主管,說:“這是我想做的五件事情。”產品經理會說服工程師當場試一試,讓他們親身體驗這些專案的效果,但他們多數情況下不會對每位工程師的偏好橫加干涉。
工程師們不會爭論某項功能是否值得嘗試,而是開發出原型機。接下來,工程師會用一週的時間開發某項功能並進行測試,以確定它是否值得推出成品。通常情況下,新功能都是由Facebook員工親自測試。整個過程由一款名為“Gatekeeper”應用控制。這是Facebook“黑客”文化的主要組成部分——快速開發和推出產品,淘汰沒有市場前景的產品。
在Facebook,每個人都想參與後端產品的開發。可伸縮性和基礎架構是工程師最感興趣的兩個問題。所以,工程師很難對實時訊息等前端產品感到興奮,相反,每個人都希望從事像News Feed演算法這樣的後端產品。這種做法與其他消費類科技企業的慣例背道而馳,在這些企業,員工都希望參與前端產品的研發工作。
Facebook 創始人兼CEO馬克祖克伯(Mark Zuckerberg)會親自對News Feed每個程式碼更新把關。在Facebook,所有重大升級的程式碼都進行強制評估,任何一個改動都至少由一人把關。但是,無論工程師對News Feed做出任何改動,都將由祖克伯親自把關。
Facebook工程師負責測試產品功能,修復產品漏洞,對釋出以後的產品進行維護,但他們並不是官方的質保團隊。不過,Facebook仍然有負責質量評估的工程師,並積極鼓勵每位工程師報告產品漏洞。
正常情況下,程式碼升級會在每週二釋出。Facebook有專門的評估工具,告訴工程師程式碼更新的風險有多大。
運營團隊會逐步推出程式碼更新。Facebook共有大約6萬臺伺服器,運營團隊會逐步將更新後的程式碼釋出到少數幾臺伺服器上,確保它能起作用。最開始是6臺伺服器,接著慢慢增加。如果需要做出修改,那麼這項工作會由提交程式碼更新的工程師線上下完成。修復工作完成後,程式碼會再次在那6臺伺服器上先試用,接著增加到更多的伺服器上。
在程式碼更新發布期間,運營團隊會通過IRC和其他實時聊天工具一對一通知工程師,他提交的程式碼是否需要修改。如果修復以後的結果仍然難以令運營團隊滿意,當事工程師會被“當眾羞辱”,雖然李沒有提供有關這方面的具體細節,但他說如果這種情況經常發生,工程師會被炒魷魚。
相關文章
- 祖克伯:Facebook將如何處理假新聞問題
- Facebook創始人祖克伯談團隊管理
- 看看祖克伯、比爾蓋茲、Jack Dorsey等如何激勵小孩學程式設計?程式設計
- Gawker:Facebook股權分配結構 祖克伯持股24%
- 祖克伯關於程式設計的建議:若不是從小玩遊戲,我絕不會學程式設計程式設計遊戲
- 祖克伯為提高員工工作效率,親自做了這26張PPT
- IT巨頭!波什聯手蓋茨祖克伯 號召人們學程式設計程式設計
- 祖克伯提出社交分享定律
- 比爾蓋茲祖克伯等呼籲美國培養更多的程式設計師程式設計師
- 祖克伯的新年程式設計計劃:有助於家務和工作的人工智慧助手程式設計人工智慧
- Facebook第30號員工:為祖克伯工作,我學到了什麼
- 祖克伯:今年測試網際網路無人機無人機
- 祖克伯:5G是富人的高速網路
- 資料解讀:祖克伯買Instagram很明智
- Oculus Rift變身智慧眼鏡 祖克伯虛擬現實計劃
- 祖克伯的新年計劃:造個人工智慧助手守護女兒人工智慧
- 彭博億萬富翁指數:2013年社交網路Facebook 馬克•祖克伯淨資產增長了124億美元
- 蘋果VR野心曝光:祖克伯表示VR並不成熟蘋果VR
- 程式設計師的Mac入門-如何關閉自動檢查更新程式設計師Mac
- 祖傳程式碼如何優化效能?優化
- 如何優化 Vue 祖傳程式碼優化Vue
- Facebook 曝重大丑聞,隱私漏洞、將使用者資料作為籌碼,祖克伯已被網民要求辭職...
- 程式設計師相親程式設計師
- Facebook:4Q20財報電話會議實錄 祖克伯稱未來蘋果將是競爭對手蘋果
- 區塊鏈專案開發—感謝中本聰!也感謝祖克伯!區塊鏈
- 祖克伯:押注 HTML5 是大錯 現以移動為重HTML
- 程式設計師父親的遺產——程式設計十誡程式設計師
- Facebook是如何管理程式碼的
- YY一下,祖克伯做了一個什麼樣的AI家居助手?AI
- 祖克伯稱欲與谷歌合作:用熱氣球接入網際網路谷歌
- 祖克伯裸捐背後我們該從中學習些什麼
- Llama成大模型頂流,祖克伯掀論戰:玩開源,時代變了大模型
- 伯樂線上程式設計挑戰簡介程式設計
- 程式設計師如何寫出好程式碼?程式設計師
- 程式設計師相親圖鑑程式設計師
- 某程式設計師去相親程式設計師
- WhatsApp對使用者通訊資訊監控 祖克伯未說出真情APP
- Facebook:3Q20財報電話會議實錄 祖克伯稱疫情讓使用者對平臺社群需求不斷增加