爲何我從 Google 辭職而爲本身工做

在過去四年時間裏,我在Google擔任軟件開發工程師。2月1日,我辭職了。由於他們拒絕給我買聖誕禮物。html

好吧,其實裏面還有更深層次的緣由。程序員

開始兩年

這兩年,我深深地熱愛Google。面試

當「年度員工調查」問我五年後是否指望還留在谷歌時,答案是毋庸置疑的。微信

五年後我固然依然會在谷歌。個人周圍有着全世界最優秀的工程師,咱們使用的是全世界最早進的開發工具,咱們還能夠免費享受世界各地的美味食物。框架

image
spoiled-coder

我在谷歌的典型一天機器學習

我最近的業績評定是「Strongly Exceeds Expectations」。若是繼續保持這種勢頭的話,我很快就能晉升到更高層次的高級軟件工程師。多麼高大上的稱號!之後,對於個人職業生涯,我就能夠自豪地說,「對,我是一名高級軟件工程師。在谷歌工做。「聽到的人確定會認爲我很牛逼。分佈式

個人經理向我保證我很快就能晉升了。他以爲我已經有能力從事高級工做了。我只須要用合適的項目向晉升委員會證實便可。工具

經理不給你晉升?

不是的,這和經理無關,由於Google的經理不能晉升他們的直接下屬。他們甚至沒有投票權。性能

相反,晉升的決定權在於由高層軟件工程師和經理組成的小型委員會,在決定晉升以前他們甚至從未據說過你。學習

申請晉升你須要彙編「晉升數據包」:收集來自隊友的書面建議,你建立的設計文檔以及你撰寫的小型論文,經過這些來解釋爲何你值得晉升。

而後晉升委員會與其餘少數人一塊兒審查你的數據包,花一天時間來決定誰能晉升,誰不能。

在我與Google前兩年的蜜月期間,這個系統聽起來很棒。個人命運掌握在一個從未見過個人神祕委員會手中。他們不會有任何偏袒也不受政治的左右。他們會看到我全部的努力,他們會由於我高質量的代碼和精明的工程決策而承認我。

那並不是其真正的運做方式

在我整理個人第一個晉升數據包以前,我從未想過它運做流程的後勤方面。

在個人腦海裏,晉升委員會就是這樣一個站在上帝視角的公正組織。若是每一天我都全心全意地選擇要解決的正確問題,努力提升代碼庫的質量,不遺餘力幫助個人團隊高效執行,那麼晉升委員會就會神奇地無所不知並所以而獎勵我。

然而,事實是,它並非這樣工做的。而我花了兩年才弄明白這一點。

天真地工做

在看清真相前,個人主要責任是一條遺留的數據管道。它多年來一直處於維修模式,隨着負荷的增長,管道由於壓力而彎曲。它常常悄無聲息地死掉或產生不正確的輸出。其故障須要數天才能診斷,由於自最初的設計規範開始就沒有人爲它寫過文檔。

我自豪又親切地呵護管道使得它恢復了健康。我修復了數十個bug並編寫了自動化測試,以確保它們不會再出現問題。我刪除了數千行代碼,這些代碼要麼已經死了,要麼徹底能夠被現代庫所取代。我文檔化了管道,以便個人隊友能夠隨時瞭解結構知識。

問題是,正如我在晉升時發現的那樣,這些成果沒有一個是能夠量化的。我沒法證實我所作的任何事情對Google產生了積極的影響。

指標亦或是沒有發生

該管道記錄的指標很少。指標確實會使事情看上去更糟。個人bug發現致使總體bug數量增長。管道的故障增長了,由於在異常狀況下,它將迅速出現故障,而並不是悄悄地傳遞壞的數據。我大幅減小了開發人員修復這些故障的時間,可是我沒有制定跟蹤開發者時間的指標。

個人其餘工做用書面形式表達時也是豪不出彩。有幾回,我擱置了本身的項目幾周甚至幾個月時間去幫助隊友,由於他的發佈有風險。這對團隊來講是正確的決定,但在晉升數據包中則顯得平平無奇。對於晉升委員會來講,我隊友的項目是一項重要的工做,須要多個開發者的協助。他們能千方百計地讓我幫助他們,這是他們領導素質強大的證據——而我只是一個沒有意識的工做傀儡,反而顯得我自己負責的工做可有可無,以致於能夠隨叫隨到,立馬就能放下手頭的工做。

在我提交個人第一個晉升數據包時,最後的結果正如我所擔心的那樣:晉升委員會說我沒有證據證實我能夠處理技術複雜性,他們也看不到我對Google的影響。

image
promo-committee

向晉升委員會辯駁個人能力

從拒絕中學習

被拒絕是一次重大的打擊,但我並無氣餒。我以爲個人表現超出了個人水平,但晉升委員會看不到。不過,這是能夠解決的。

我認可頭兩年我實在是太天真了。我沒有提早作足計劃,使得我所作的工做成爲了一紙空文。如今既然我明白了這個過程是如何運做的,那麼我只要在繼續作好一樣工做的同時,準備更充分地記錄保存。

例如,個人團隊會由於誤報而接收大量使人分心的電子郵件警報。之前的我只會解決這些警報。但如今的我知道爲了讓這項工做出如今個人晉升數據包中,我首先應該設定指標,以便咱們有警報頻率的歷史記錄。在晉升考察期間,我就能展現一個使人印象深入的警報趨勢圖。

不久以後,團隊分配給我一個看似註定會晉升的項目。該項目很大程度上依賴於機器學習,而這一直是谷歌的熱門話題。它能夠自動完成須要數百名人工操做員手動完成的任務,所以它將對Google產生顯著和客觀的影響。同時我還須要在整個項目過程當中領導一名初級開發人員——這一般在晉升委員會眼中也能夠加分。

節日禮物與叫醒電話

幾個月後,Google結束了爲全部員工提供奢華節日禮物的悠久傳統。相反,他們將禮物預算用於購買(廣告上假裝成慈善)Chromebook給貧困的中小學生。

此後不久,我親耳聽到兩名員工之間的如下對話:

員工A:實際上你仍然獲得了禮物。像這些削減會增長Google股票的價值。你能夠出售你的股票獎勵用於購買所選擇的任何禮物。 B員工:這不就是,我告訴個人妻子我沒有給她買聖誕禮物,但她能夠用咱們銀行帳戶裏的錢購買她想要的任何禮物? 員工A:你與Google構建的是一種業務關係。若是你對谷歌沒有像你爲你妻子那樣準備禮物而感到失望,那麼你誤解了這種關係。

等等。因此我與Google創建的是業務關係。

我花了兩年半的時間才意識到這一點或許會讓人以爲有點難以想象,但谷歌在組織內部很好地打造了一個社區意識——讓咱們以爲咱們不只僅是員工,咱們仍是Google自己。

那次談話讓我意識到我不是Google。我不過是一個向Google提供服務以換取金錢的打工者。

所以,若是Google和我之間存在一個能夠服務於各方利益的業務關係,那麼爲何我要花時間在全部這些符合Google利益而不是我本身利益的任務上?若是晉升委員會不獎勵bug修復和團隊支持工做,那麼爲何我還要去作這些事情呢?

最有效地爲了晉升

我第一次晉升的否決讓我學到了一個錯誤的教訓。我認爲我能夠繼續作一樣的工做,可是能夠作一些事情使得晉升委員會看得個人成果。然而其實我應該作相反的事情:弄清楚晉升委員會想要什麼,而後專門去作那項工做。

我採用了新的策略。在開始任何任務以前,我會問問本身這是否有助於晉升。若是答案是否認的,那麼我就不作。

個人代碼質量標準從「可否在將來5年內保持這個水平?」變爲「是否能夠持續到我被晉升爲止?」。我不提交也不修復任何bug,除非它們會威脅個人項目的發佈。我設法推脫了全部關於維護工做的職責。我中止了去校園招聘的志願活動。我從每週執行一次或兩次面試下降到零。

而後個人項目被取消了

優先度被轉移了。管理層將個人項目移交給了咱們在印度的姐妹團隊。做爲交換,該團隊向咱們提供了他們的一個項目。這是一個沒有文檔記錄的系統,創建在不推薦使用的基礎設施上,但它仍然是產品的關鍵組成部分。分配給個人工做是將此係統從姐妹團隊的代碼中清理出來,並遷移到一個新的框架中,同時確保它能在生產環境中運行並達到其性能指標。

就晉升而言,我這幾個月的努力都打了水漂。由於我爲了那個被取消的項目而沒有發佈任何東西,因此我耗費在該項目上的兩個月時間毫無價值。並且我還得花上幾周時間才能加快掌握我繼承的系統,而且在爲了保持系統可操做這一苦差事中,我一定會耗費許許多多時間。

我還能說什麼呢?

這是六個月來第三次,個人經理在一個項目的中程從新安排我了。每一次,他都向我保證,這與個人工做質量無關,而是高層管理策略或團隊人員的一些變更。

此時,我回過頭來想從高層發生的事情。不去想個人經理,他的經理,甚至忽略所謂的晉升委員會。若是我僅僅把另外一邊簡化爲Google,會怎麼樣?咱們的「業務關係」之間發生了什麼?

是的,Google一直告訴我,除非看到我完成了一個項目,不然它沒法評判個人工做。可是,由於Google中途不停的中斷並將我分配到新的項目,因此我沒法完成任何項目。

整個過程荒謬無比。

image
book-publisher

Google晉升委員會的圖書出版方式

個人職業生涯由一個流動的匿名委員會所決定,他們將在一個小時的時間裏決定個人前程。一個我抗議無效的管理決策抹殺了我那麼多月在事業上取得的進步。

最爲糟糕的是,我並不以個人工做爲榮。我捫心自問的再也不是:「我該如何解決這個具備挑戰性的問題?」而是:「我怎麼才能讓這個問題從晉升的角度看起來具備挑戰性?」我討厭這樣。

即便我得到了晉升,而後呢?主流觀念是每一次的晉升都會比上一次更難。爲了繼續推動個人職業生涯,我須要範圍更大、涉及合做團隊更多協做的項目。但這意味着該項目可能會失敗,由於會有更多我沒法控制的因素,從而浪費數月甚至數年時間。

有什麼其餘選項?

大約在這個時候,我發現了 Indie Hackers。

這是一個面向小型軟件業務創始人的在線社區。要強調的重點:小。這些建立者的目標不是成爲扎克伯格第二,而是想從一些適中而又有利可圖的業務中賺點小錢。

我一直對創辦本身的軟件公司很是感興趣,但我只知道硅谷的創業之路。我本來覺得成爲一名軟件創始人意味着要將大部分時間用於融資,剩下的時間則要擔憂如何吸引新的百萬用戶。

Indie Hackers給出了一個誘人的選項。大多數會員利用本身的儲蓄創建企業,或將其做爲全職工做以外的業餘項目。他們不須要答覆投資者,固然也沒必要向匿名委員會證實本身。

缺點也是有的。一方面收入不太穩定,另外一方面還面臨更多災難性風險。若是我在Google上犯了一個錯誤,致使公司損失1000萬美圓,我不用承擔任何後果——我須要作的是寫一篇過後剖析,而後每一個人都會開心於這次學習機會。但對於大多數創始人來講,1000萬美圓的錯誤將意味着企業的破產以及幾輩子的債務。

在Indie Hackers作創始人的念頭在我腦海中揮之不去,讓我魂牽夢縈。由於不管業務是取得巨大的成功仍是一蹶不振多年,都在本身的掌控之中。在Google,我不以爲我能夠本身控制項目,更不用說職業成長以及團隊方向了。

我思來想去了幾個月,最後終於下了決心。我要成爲一名獨立黑客。

辭職前的最後一件事

我在Google上還有沒完成的業務。在爲了晉升投入三年時間後,我本身也不想毫無建樹就離開。此時只須要幾個月時間我就能夠從新申請晉升了,因此我決定給本身最後一次機會。

悲劇的是,距離成果統計結束還有六週,個人項目被取消了。再一次被取消了。

事實上,個人整個團隊都被取消了。這在Google是很常見的,並且它還有一個委婉的稱呼:碎片整理。管理層將咱們團隊的項目移交給咱們在印度的姐妹團隊。個人隊友和我都必須從不一樣領域從新起步。

無論怎麼說我已經申請了晉升。幾周後,個人經理給我看告終果。個人表現評分是「Superb」,這是最高的分數,每期只給約5%的員工。晉升委員會指出,在過去的六個月中,我清楚地展示了高水準的工做。而這恰好不是我爲了最有效晉升而努力的那幾個月時間。

但他們以爲六個月的跟蹤記錄時間不夠長,因此……祝我下次更好運。

個人經理告訴我,若是我再作六個月的高質量工做,個人晉升機會很大。我不能說我沒有受到誘惑,但到那時爲止,在過去兩年時間給個人鼓勵一直都是「六個月後晉升機會很大」。

因此如今是時候離開了。

那麼,下一步呢?

當我告訴別人我離開了Google的時候,他們認爲我必定有一些絕妙的創業點子。只有傻瓜纔會辭掉Google軟件工程師這份工做。

我到底是不是一個傻瓜,仁者見仁智者見智吧。

個人計劃用幾個月的時間嘗試一些不一樣的項目,看看其中有沒有迎合人心會流行起來的,例如:

  • 繼續致力於KetoHub,看看我可否實現盈利
  • 在Sia上創建業務,這是我常常用到的分佈式存儲技術
  • 花更多時間編寫代碼,並尋找從中賺錢的途徑

Google是一個偉大的工做場所,我在那裏學習了許多寶貴的技術和技能。辭職是一個很艱難的抉擇,由於我還有更多須要學習的東西,但要找Google這樣的僱主總仍是能夠的。我不會一直有這樣的自由能夠順從本心地創辦本身的公司,不知道我能走多遠,期待個人成果吧。

原文連接: https://mtlynch.io/why-i-quit-google/ ,做者 Michael Lynch

關於更多

給程序員,這幾條建議你中招了嗎

NDK項目實戰—高仿360手機助手之卸載監聽

最新2017(Android)面試題級答案(精選版) 最新2017(Android)面試題級答案(精選版)

相信本身,沒有作不到的,只有想不到的

微信公衆號:終端研發部

技術+職場
相關文章
相關標籤/搜索