Quantcast
Channel: 工程師 – TechOrange
Viewing all articles
Browse latest Browse all 585

【我在 Facebook 的日常生活】前 FB 軟體工程師談臉書最值得亞洲軟體公司借鏡的三件事

$
0
0

【我們為什麼挑選這篇文章】本文作者覃超曾在 2010 年加入 Facebook,四年工作經驗,他觀察 Facebook 的公司文化,分享公司的工作步調,並總結亞洲科技公司應該如何學習。本文除了適合管理職檢討觀察自身管理模式,也能幫助身在職場的你檢驗工作態度與步調,非常值得一讀。(責任編輯:劉庭瑋)

我將結合之前在  Facebook 的四年工作經驗,介紹  Facebook 創新的管理方法以及整個工程文化形成的方法。

從大學宿舍到完整生態鏈: Facebook12 年發展歷程。

首先我想解釋下為什麼我要說  Facebook,並不是因為我在那裡工作過。先請看一下 Facebook 的簡單發展史:

2004年,祖克柏在大學宿舍里開發了  Facebook,很長一段時間它只是一個簡單的網站。但是後來,擴展到硬件,開發了各種產品,佔據了整個社交領域、至少是北美的霸主地位。Facebook 還推進了 Connectivity(全民聯網計劃),給發展中國家提供免費的無線網絡,再到後面做 VRAR、人工智慧等現在非常火的新領域,形成了完整的生態圈。

看  Facebook12年的發展,我一直在想一個問題, 它是怎麼從大學生宿舍裡面一個簡單的祖克格自己的個人項目,最終發展成為可以上市的公司? 而且現在整個生態鏈佈局的已經非常完善了,這個公司是怎麼做出來的?

我思考了很久之後,發現有一句話很有意思, 21世紀最重要的是什麼? 就是人才。現在互聯網創業很多技術基本上都是開源的,很多硬件隨手可得。

上圖是在五年前矽谷非常流行的一張圖,描述了大公司之間人才的流動情況。圖中,每個圓點是一個公司,和圓點顏色相同的邊表示這個公司的人才流入。可以看到  Facebook 基本上和其他點間連線都是藍色的,所有公司都在向  Facebook 輸入人才 。而 Google 基本上在從微軟和雅虎蒐集人才,在其他地方是流失人才的

所以,從五年前吸納了很多人才開始, Facebook 才有了今天的成就。有一群最牛的工程師、產品經理和設計師在這裡,所以經過五年的佈局和人才培養,才造就了現在全生態鏈都有一個非常好的格局。

所以我在想,裡面整個工程師文化做得比較牛的是什麼。因為我自己在  Facebook 工作過,所以 結合自身經驗帶來了這個分享:在公司裡面如何塑造比較好的公司文化?怎樣把牛人吸引過來?

總共五個部分:首先是簡單的自我介紹;接下來講  Facebook 的工程師文化;以及團隊的組成,包括設計師、產品經理和工程師;人員是如何管理的,怎樣能有效控制工程師的工作積極性以及給予相應的報酬;最後一點也是最重要的,以上這些對我們中國公司有怎樣的啓示。

1、我是誰:從 Carnegie Mellon 到 Facebook

這是我的簡歷,大學和企業在技術方面的差距還是很大的。從  Carnegie Mellon 大學畢業後,我加入了  Facebook,開始做的是 CTO 親自主導的比較神秘的項目,後來去做了  Facebook 的  APP,主要是 iOS,也做過 Voice Message 等。

2.Facebook 的工程師文化是怎樣的?

特點一:Hack Culture


首先, Hack Culture,可以說是「黑客文化」。注意並不是字面意義上的「黑客」,在扎格伯格招股書上就說過,Hack Culture 並不是黑別人電腦,而是一種態度和做事的方法。

現在去美國已經非常容易了,如果飛機降落在舊金山機場,著陸的時候會越過  Facebook 總部,建議大家到時候可以留意一下,這麼一群建築就是整個  Facebook 總部的樣子。

特別有意思的是,這個廣場的中間位置其實是有字的,在飛機上就會看得非常清楚,就是「 Hack」。當我們說「我們要做一些 Hack 之類的」,它所表達的意思是「如果你有什麼想法,有創新的、古靈精怪的各種想法都可以,馬上去做!

Hack 的詳細定義主要有三點: 馬上上手、快速搞定和持續迭代。 而  Growth Hack 的本質,就是增長方面用  Hack 的方法解決。在  Facebook 絕對拒絕傳統(大家一起來開會),而是技術驅動、數據為王。

做了一個東西之後先發給用戶,看一下用戶的反饋或者搞一批測試的用戶,最後看多少用戶覺得你這個好,通過數據的採集方式來論證是否可行。在  Facebook 有很多牛的方法可以蒐集數據,所以可以很明顯的看出這個版本用了  AB 測試之後到底是好還是壞。

在  Facebook 並沒有一個專門的部門做 Hack,而是鼓勵所有的人去發揮自己的想象力,想做什麼就可以做。公司的角落有各種各樣的「Hack」,營造出一種氣氛,鼓勵員工去創新、鼓勵那些牛逼的人待在這個地方工作,這樣的公司文化是比較愉悅的。

 

特點二:Design+Engineering


如果說蘋果是 80%的精力很重視自己的設計,谷歌大概非常重視工程, 在  Facebook 設計和工程各佔一半 ,這可能和大家想的不一樣。 Facebook 的新辦公室出自一位著名的設計師,有各種奇妙的元素,開始我認為這些設計是浪費,後來我慢慢發現這種環境下工作心情非常愉悅,很多人自發工作 10個小時左右,而且在這種環境下心情很放鬆的狀態,更能激發你 Hack

 

後來我看到國內的一些互聯網公司也有這種感覺,比如最近的創業貴族今日頭條。所以如果想把互聯網公司做大,就要有非常迷人的工程師文化,才能把牛逼的人招進來。


特點三:Open


我第一天入職  Facebook 的時候,最大的感受就是這三點:

首先是  Open,非常 Open 的  checking。新人第一天入職,領到一台電腦,連上網後,所有的數據都可以看到:產品的月活、日活、每一個功能,甚至可以像股票交易系統看到這樣的數據,比如日本的用戶 30歲以下的人在用 news feed 的時候情況到底怎樣,從今年年初到現在變化是怎樣的等。 所有的東西都開放給工程師,沒有任何權限。

在  Facebookcodebase 是所有 software engineer 都有權限把它拷貝下來。我(作為一個  facebook phone iOS app 的工程師)可以把安卓的  codebase 拉下來,也可以把  PHP、推薦算法、引擎各種代碼庫給 git clone 下來,所有的權限都是開放的。但開放的前提,如果把公司內部信息洩漏出去就會被開除掉,歷史上也發生過好幾起這樣的事情。所以,在  Facebook 基本上不可能出現祖克柏發的一封郵件會被爆光。剛開始回國的時候,我很震驚,各種  CEO 的郵件都曝光在公眾眼中,這種事在矽谷基本不可能。

所以  Hack 意味著內部信任和開放,同時對外也要遵守非常嚴格的規定。

最後一點就是 Open Space,很開放的環境,給人的感覺是「網吧式的工作環境 」。美國公司的辦公室給人的感覺比較粗糙,比如說天花板上沒有任何裝飾,柱子上還有很多鐵鏽一樣的東西,但是它又有非常細節的地方。

比如說,顯示器都還不錯,有各種飲料和零食,隨便吃;椅子是著名的 Aaron chair。最有趣的是:椅子右側有兩個按鈕,一個是上升和下降,平時就是這麼正常的工作,累了之後,久座對身體不好,就把桌子升起來,變成站立式辦公。站起來有一個好處是,當好幾個人在一起討論問題的時候,大家可以站在一起看。很多時候寫代碼的時候,把設計師也帶過來,直接問「我做了一個原形你看有什麼問題的嗎?」有問題就直接改了。

馬克和所有人一樣,坐這麼一個位置,開放式工位旁邊有很大的玻璃房子,用於開會,扎克沒有太多的會議或者太多出去的時間,基本上每天在公司裡面專注於自己的事務。


3
Facebook團隊組成:設計師、產品經理和工程師

很多人問我, Facebook 的項目團隊是怎樣的?一般情況,如果是做一個簡單、小功能,一般是一個設計師加兩個工程師;比較大的項目一點,比如說改版、在新版當中開發兩三個功能,基本上兩三個工程師一起做, iOS messenger app 五到十位工程師和兩到三位產品經理,和國內配比差不多。 比較有意思, Facebook 沒有測試,他們比較貴,很多時候都是我們自己測 ,我們 Unit Test 並不多,覆蓋率 10%到,但是 我們有非常嚴格的 Code review 所以如果你要學習一點,在工程上面、執行上面讓 bug 減少的話就是代碼審核,交到這個 master brunch 裡面的代碼必須預先經過代碼審核,直接看代碼,沒有什麼問題就交,如果交進去後來發現  Bug 最後進行修復  Bug 花的時間和精力是之前的三倍十倍。

整個流程一開始規劃要做什麼東西、要做什麼功能、需求是什麼,接下來設計師和工程師互相合作,比較有意思的是整個流程每個決策都要參與,而且每個決策之間互相是交互式的,工程師也可以說這個需求根本不能做或者說不用之類的。

這是我的桌子,當時無意中拍了一張照片,後面兩個都是工程師,我們在討論我們的消息收發的時候是怎樣的,那個時候已經過了下班的時間。

有人問,為什麼你們的產品開發的比較快或者做得比較好,有沒有什麼秘訣?其實並沒有太多的秘訣。

首先,人和人之間互相尊重,同時用 Scrum,大家都坐在一起有任何進展馬上當面溝通,雖然我們 遠程會議系統特別強大,各種功能開個遠程會議也行,但是 我們鼓勵在一起坐下來聊。團隊最初期的時候就要開始協作,不同角色的人坐在一起討論 ,不像國內分階段分得特別明顯。最後, 設計師和開發者在工作的後期聯繫是非常緊密的

最後,還有很重要的一點: Facebook Zuck Review。也就是一些比較大的功能或產品,扎克會親自安排看一下,也就是下面的人或者整個大的 PM會親自跟扎克說,這個地方你要過一遍,即使再忙他都會親自來盯。

他會決定這個功能到底是做還是不做,決定產品的 UI、功能、交互調整等,和網上風傳的馬化騰或張小龍其實風格差不多。我感覺 Facebook和騰訊有些類似,都是一個產品型 CEO主導的公司,扎克親自來盯。

圖上有兩位中國人,其中一位是做廣告的葛爺,給 Facebook 賺了很多錢。 Zuck 有時會用一種直覺性和你講一些話,很多功能被他砍掉,大部分時間他都是做出了正確的決定。

我認為  Zuck Review 給人最重要的感覺就是鼓舞 ,如果這個東西祖克柏親自來看,優先級方面會給下面的工程師或者整個團隊一個非常明確的交代,這個事到底重不重要,需不需要。

關於優先級我想強調,大家都是技術人員,很多人在學校裡面學習都不錯,但在工作的時候發現有些不適應,需要注意的是在頂級公司或者特別牛逼的互聯網公司工作,最重要的一點是分清優先級,這和學習的時候完全不一樣。

工作中的事情是做不完的,你在工作的時候是連續的;不像在學校的時候一個學期隔著一個學期,最後期末考試,你知道自己有什麼反饋。但是在工作的時候活是乾不完的,所有東西,周圍很多人讓你做這個做那個,最重要做的事情是分清優先級,任何一個任務發過來的時候,心裡面把它積累起來,哪個任務比較重要的先做,而不是交給你一個任務馬上去做。

所以這裡優先級,很多人我看到能力很強的人,最後遇到一個瓶頸,關鍵的問題是 自己沒有分清優先級,去做一些比較簡單或者自己喜歡,或者是覺得自己能做的事情,而不是做最有影響力的事情。 具體說來,和學生時代相比就是:學習上的課程是有限的,作業也是有限的,而且還有相對明確的截止日期( homework deadline)和最後一個期末考試;考試完結後,幾乎學業清空一段時間。但是在工作上你會發現你沒有一個類似暑假或者寒假的東西,另外最可怕的是你的活是乾不完的 對的,是無窮無盡的。 特別你是在一個上升期的互聯網公司的話,給你任務的速度很多時候是超過你的處理速度的。所以這個時候,你在接到一個被分配的任務或者一個  email 要求你幹什麼的時候,你不是要馬上可以做,而是要強迫自己停頓下,分清現在這個任務的優先級,然後分配好開始時間,之後再開始做。 這點尤其重要!特別當看到一個簡單或者重復性的任務被  email 或者  tower(或者 teambition)上分配來的時候,不要因為任務簡單就馬上跳上去乾,不然這樣極可能被簡單重復勞動把自己的時間全部佔光,最後沒來得及乾重要的事情,或者沒有精力去思考更加長 遠更有影響力的事情。所以,重申一次,去做  impact 和  urgency 最高的事情(這種事情一般來說不是很愉悅,甚至是比較棘手或者說是無從下手的事情),而把簡單重復的活盡量後排(或者 delegate出去)。這時你才會發現你的忙碌是有意義的,而不是做「偽工作」( pseudo work)。我常常看到一些畢業不久的人每天都很忙,但卻沒有抓住重點,只是為了忙碌而忙碌,或者用更加貼切的話描述是:「為了感動自己而忙碌」。很多時候這樣的忙碌,最後都是一個屁。之前在 Facebook里,對於這樣的同事有一個稱號叫做「 pseudo worker」,領導的職責是直接給他們透徹的反饋,讓他們認清自己工作的 impact最大化的地方到底在哪兒,同時告誡他們要忍住低 impact的簡單任務的誘惑。 對的!那些垃圾任務有著一種誘惑;誘惑著沒有定力的人一直去做,一直去做,感覺自己特別有成就感,特別「忙碌和充實」。所以要小心!  在國內創業路上也有很多這樣的創始人(或者 cofounders),他們自己的方向可能都沒怎麼想清楚,或者路線沒有執行得當,卻一天到晚在朋友圈曬自己和同事們的加班,覺得這樣的「忙碌」很充實。其實這是一種很可怕而且對自己和團隊既不負責的做法。一般工作時長驚人但又沒有 unicorn估值的公司,我總覺得加班是一種羞恥,是自己團隊不會分優先級或者戰略不明確的表現;如果創始人還一直在那裡秀加班來感動自己的話,我的建議是盡早離開。同時我還敢打賭, 90%這樣的公司在加班(和日常工作時間里)的效率是偏低的。

另外, Zuck Review 可以從用戶的角度進行分析 。有的時我們候做一個產品或做一個技術,一直做的時候會把很多東西想的過於簡單,而用戶很多時候比較傻或能夠一秒鐘變傻,會覺得這個東西並不好用。這一點感覺祖克柏做得比較好,馬克自己不是特別懂技術細節,如果他覺得這個地方為什麼這麼難用,會給你講很多有意思的東西。

 

4Facebook 是怎樣利用  OKR 進行人才管理的?

接下來是整個  Facebook 的管理是怎樣,即 OKR。在 FacebookOKR 意味著每六個月或每一年,制定一下你個人的目標、團隊的目標以及公司的目標是什麼 ,接下來行動就可以了。

第一點,在目標制定的時候你要以結果為導向或者以影響力為導向,不要為了做而做、或者做一些偽工作。在工作的時候很多人會做一些偽工作或者簡單的工作,也就是自己願意做的工作。

第二點,在  Facebook 會看每六個月、這半年的指標到底是什麼東西。

第三點,每年 6月底、 12月底分別會做一次個人績效評估。

最後,一個月之後評估結果就會出來,將決定你的獎金多少、是否升職,年終績效評估將決定你的現金獎金是多少,年底除了現金還有股票的追加。不管任何級別,只要是工程師都會給你相應的股票,每過一年年底績效評估將決定給你追加多少股票,一般都會追加股票。

具體的績效考核怎麼做?首先是國內常講的 360度評估,每 6個月做一次,主要是四個部分:自評、同事評價、直屬上司評價和老闆評價。最後比較有意思的啊,你可以決定這個東西是否開放、被誰看到。一般有 85%左右的人會選擇開放,這是很恐怖的一個數據,基本上互相之間都是開放的。最後一點就是  HR 和整個 Team calibration,從上面再校准一次。

最後就是獎金,給你規定一個獎金,在 10% 25%的區間。看你在哪個級別,新進來是 10%,越到上面越高。然後要乘以你的個人績效,0表示沒有獎金,一般在 1.25左右, 4.5就很高了。最後再乘以一個公司的績效,公司那幾個高層對公司這半年來做得怎麼樣打一個分,如果公司做得很不錯,所有人的薪水都會加。

想知道更多科技發展新趨勢?

2017 年全台最盛大     全球商業趨勢匯壇,與你有約!

5、師夷長技以制夷:對中國互聯網公司有什麼啓示?

最後,我想說說  Facebook 的管理之道對中國互聯網公司的啓示是什麼。雖然在  Facebook 工作很好,但我更喜歡加入中國的公司或者自己創業,和一幫國人在一起做一個公司,有一個牛逼的產品能夠放到國際市場上和西方對打。

首先想強調一點,很多人說  Facebook 工程師文化特別好,但是它的文化並不是與生俱來的。 前幾天為了佐證這個觀點我專門看了一下 2007年大家對於祖克柏的想法,那個時候公司一團糟,偶爾有幾個比較厲害的人,  Facebook 現在比較牛的工程師文化是在 2008年、由一個女孩 Molly Graham  逐步營造起來的。

Molly 營造公司文化的過程,在這篇文章有闡述(http://firstround.com/review/80-of-Your-Culture-is-Your-Founder/)當時,Facebook  400人快速增長到 1000人,公司已經管不過來了,一團糟,大家互相埋怨對方,做事非常沒有效率,做了很多低效的事情。那麼怎麼把公司管好,同時讓更優秀的人可以持續進來呢? Molly 建議  Facebook建立工程師文化,她當時讓祖克柏自己寫了十條他覺得比較厲害的人是怎樣的,當然那十條大部分就是由馬克自己的氣質決定的。

這十條標準寫出來之後,在公司裡面反覆強調,同時招人也招符合這些條件的人。所以可以得出一個結論: 公司 80%的文化來自於創始人。

最後一個結論, 當一個公司變大,比如從 A輪到 B輪的時候,一定要營造出自己的文化 所以如果你是創始人,在公司還小的時候隨便怎麼弄,但是你自己要很明確有一桿秤;當公司到了 500人以上的時候,這個時候一定要建立自己的公司文化。

對技術人員來說,判斷公司文化很多時候都是看創始人,看創始人是幹什麼出身的 如果他是做生意的,那麼這個公司或許並不是是你的最佳歸屬,即便講得再牛。

舉今日頭條的例子,他們做得比較好,老大本身也是技術出身,他們公司對技術人員的待遇非常好,還去矽谷挖了很多牛逼的人,把公司氛圍營造得非常好。所以看創始人是可以看出來這個公司文化到底是怎樣的。

對任職管理者的工程師來說,在創業的過程當中有四點需要注意:

第一,盯一線產品。下面的人不怕你  challenge 他,怕的是把這個東西做完之後上面的人不看,他就會覺得自己所有的辛苦努力全部都浪費了。

第二, 6個月要做一次 Performance Review,這將決定員工的獎金和股票。

第三, Code Review。在工程方面並不是用最好的技術最重要,而是把 Code Review 加進來,這並不是為了查出錯,而是有時候要注意自己看一下,你交的代碼整個邏輯是不是清晰,同時會留下記錄以便如果後來的人想學習你這個功能是怎麼寫的,他可以來從這個上面看所有的記錄,這是工程師之間互相切磋和交流的一個工具。

第四,很多中國的創業公司有常會忽視的,入職培訓和  Wiki 要寫好。麥肯錫曾總結成功的公司的最大的經驗是: Wiki 做得很好。可以把公司中每個人的知識歸檔、以及把每個人牛逼的知識在整個團隊裡擴散出去,是非常重要的一件事。

— Do have the faith in what you love

(本文經 覃超  授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為 〈「拒絕傳統」看 Facebook 以三大法寶化繭成蝶:人才吸引,工程師文化和項目開發流程 〉。)

延伸閱讀

前 Facebook 工程師給年輕人的 8 個提醒:有一種瞎忙,叫做自我滿足式的忙碌
向全世界的工程師請教書單:在 Stack Overflow 上最常被提到的 10 本書
難以管理、自我感覺良好、懶惰 …… 千禧世代在職場上到底出了什麼問題?
【自學平台 Udacity 翻轉你的命運】一個 46 歲的短期女工,自學轉職成為自動駕駛工程師
「稍後閱讀」等於「永遠不讀」:三大原則教你管理網路好文,製作個人自學資料庫!

 


Viewing all articles
Browse latest Browse all 585

Trending Articles