Categories
程式開發

績效遠超預期卻無法晉升,我於是離開了谷歌


我作為一名開發者在谷歌呆了四年。今年2月1號,我辭職了,因為他們不肯給我買聖誕節禮物。

好吧,剛才只是開個玩笑,我辭職的真正原因比這個要復雜得多。

在谷歌的頭兩年

在頭兩年,我愛過谷歌。

在年度員工調查時被問及是否希望在谷歌呆滿5年,我想都不用想,答案是肯定的。

我當然願意在谷歌呆上5年了。我身邊有世界上最好的工程師,我們使用著世界上最好的開發工具,吃著免費的美食。

績效遠超預期卻無法晉升,我於是離開了谷歌 1

我最近的績效評級是“遠超出預期”。如果我堅持下去,很快就會晉升——成為高級軟件工程師。這是一個多麼棒的頭銜!在我的職業生涯中,我可以很自豪地告訴別人:“我曾經是谷歌的一名高級軟件工程師“。

我的上司向我保證,我的晉升近在咫尺。他覺得我已經能夠勝任高級工程師的工作了,只是需要一個合適的項目向晉升委員會證明我自己。

上司沒有提拔你?

在谷歌,上司是不能直接提拔下屬的,他們甚至連投票的資格都沒有。

相反,谷歌的晉升是由更高級別工程師組成的委員會和你不認識的管理者決定的。

你需要提交晉升申請材料:一些團隊成員提供的推薦信、你曾經寫過的設計文檔,以及一些可以用來解釋為什麼你值得晉升的小文章。

晉升委員會評審申請材料,並決定誰可以晉升。

在谷歌的頭兩年,我認為這個晉昇機制很棒。當然,你的晉升命運交到了委員會手中。他們不受任何偏見或政治因素的影響,他們可以看到你過去的一切,並認可你的高質量代碼和精明的工程決策。

但事實並非如此

在我第一次提交晉升申請材料之前,我並沒有想過這種機制背後的邏輯。

在我的印像中,晉升委員會是公平公正的。如果我每天都選擇正確的問題來解決,讓代碼庫變得更好,幫助團隊有效地完成任務,那麼委員會也會看到這些,並嘉獎我。

但事實並非如此,我花了兩年時間才知道背後的真相。

天真地工作

在那之前,我的主要工作是負責處理遺留數據。這個工作主要是維護數據管道,有時候工作量會增加,因為在負載壓力下數據管道會出問題,經常悄無聲息地出故障或產生錯誤的輸出。這些故障需要幾天才能診斷出來,因為從最開始就沒有人寫過文檔。

我自豪而深情地維護著數據管道,讓它慢慢走向正軌。我修復了幾十個bug,並編寫了自動化測試,確保它們不會再出問題。我刪除了幾千行代碼,這些代碼要么已經沒有用了,要么可以用更新的庫來代替。在了解數據管道的過程中,我記錄了很多東西,同事們也可以看到這些東西,而不只是我一個人。

但到了申請晉升時,我發現這些都是無法量化的。我無法證明我所做的事情給谷歌帶來了積極的影響。

要么給出指標,要么跟什麼都沒發生一樣

數據管道沒有記錄太多的指標,它記下的那些指標反而表示事情變得更糟。我修復的bug反而讓整體的bug數增加了。之所以會這樣,是因為我讓管道在異常情況下快速拋出錯誤,而不是暗地裡還把壞數據傳遞下去。我的工作極大地減少了開發人員修復這些故障的時間,但沒有提供用於衡量時間的指標。

從表面上看,我的其他工作做得也不太好。有幾次,為了幫助一個面臨發布延遲風險的同事,我將自己的項目擱置了幾週,甚至是幾個月。這對整個團隊來說是好事,但對於晉升來說卻顯得平淡無奇。在晉升委員會看來,同事的項目更大更重要,需要多個開發人員協作。如果他們能夠說服我去幫助他們,那說明他們有很強的領導力,而我只是一個沒有頭腦的工人,自己的工作無關緊要,別人叫我去幫忙,說去就去。

我提交了第一個晉升申請,結果就像我所擔心的那樣:晉升委員會說我無法證明自己可以處理複雜的技術問題,他們看不到我給谷歌帶來的影響。

從被拒絕中學習

被拒絕算是一個沉重的打擊,但我並沒有氣餒。我覺得我的表現是超水平的,只是晉升委員會沒有看到。我可以解決這個問題。

我覺得我在谷歌的頭兩年太天真了。我沒有提前做足準備,確保我的工作可以留下書面記錄。現在,我知道這個機制是如何運作的,我可以繼續把工作做好,只是需要把它們更好地記錄下來。

例如,我的團隊因為錯誤警報收到了大量電子郵件。如果是以前,我只會把這些警報修復掉,但現在我知道,要讓這項工作出現在我的晉升申請材料中,首先需要設置指標,這樣就有了警報頻率的歷史記錄。在申請晉升時,我會向委員會展示警報的下降趨勢圖。

不久之後,我接到了一個似乎注定要讓我晉升的項目。它重度依賴機器學習,而機器學習在谷歌一直都很熱門。它將原本需要數百個人手動執行的任務自動化了,所以給谷歌帶來明顯且客觀的影響。在整個項目過程中,我還要帶一名初級開發人員,這通常會給晉升加分。

節日禮物,如夢初醒

幾個月後,谷歌結束了向員工贈送奢華節日禮物的傳統,他們用原本購買禮物的預算為貧困學生購買Chromebook。

不久之後,我注意到了兩名員工之間的一段對話:

員工A:你其實還是可以拿到禮物的。谷歌的股票升值了,你可以把股票賣掉,然後為自己買份禮物。

員工B:如果我跟老婆說,我沒有為她準備聖誕季禮物,但她可以用我銀行卡里的錢買她想要買的禮物,那會怎樣?

員工A:你現在與穀歌之間只是一種商業關係。如果你把你和妻子之間的那種“浪漫”關係與你和谷歌之間的關係相提並論,那麼你就錯了。

等等,我與穀歌之間只是一種商業關係。

我居然花了兩年半的時間才意識到這一點,這個聽起來是不是有點奇怪?不過不得不說,谷歌在組織內部建立社區意識方面做得太到位了,讓我們覺得我們不只是員工,我們就是谷歌。

那段對話讓我意識到我不是谷歌,我只是為谷歌提供服務,以此來換取金錢。

所以,如果谷歌和我之間的商業關係只是為了服務雙方各自的利益,那為什麼我要把時間花在這些服務谷歌利益的任務上,為什麼不是為我自己呢?如果晉升委員會不嘉獎我在bug修復或團隊支持方面所做的工作,我為什麼要做這些事情呢?

為了晉升而改變

我的第一次晉升申請給了我一個錯誤的教訓。我原以為只需要繼續把工作做好,但要把它們記錄下來,讓晉升委員會看到就可以了。但其實我應該反其道而行之:弄清楚晉升委員會想要什麼,然後專門去做那些工作。

我採用了新的策略。在開始做一件事情之前,我會先問自己這樣做是否有助於晉升。如果答案是否定的,我就不做了。

我的代碼質量標準從“5年之後還具有可維護性”變成了“能持續到我晉升就可以了”。我不記錄或修復任何bug,除非它們會影響項目發布。我避開了所有維護工作。我不再熱心校園招聘志願者工作。我原本每週參加一到兩次面試,後來就不去了。

我的項目被取消了

後來,優先級發生了變化。管理層把我的項目交給了印度的姐妹團隊。作為交換,那個團隊給了我們一個他們的項目。這是一個沒有文檔的系統,基於幾乎已被棄用的基礎設施而構建的,但不管怎樣,它仍然是生產環境的一個關鍵組件。我被安排去清理代碼,並遷移到新的框架,同時又要保持它能夠在生產環境中運行,並且要求性能要達標。

從晉升來看,這是幾個月以來我所經歷的一次挫折。因為我沒有為交出去的項目發布任何東西,但我花了兩個月時間,什麼都沒有留下。接下來,我需要花上幾週的時間才能熟悉接手的系統,而要保持它能夠運行,可能要多花上幾個禮拜。

我還在做什麼?

這是6個月來上司第三次在項目進行到一半時給我重新分配工作。每一次他都向我保證這與我的工作質量無關,完全是高層管理策略或團隊人員變化導致的。

我開始高屋建瓴地看待正在發生的事情。撇開我的上司、上司的上司、晉升委員會不說,如果只看我和谷歌之間的“商業“關係,我們之間究竟發生了什麼?

谷歌一直告訴我,在我完成一個項目之前,它是無法對我所做的工作作出任何評判的。但另一方面,我又無法完成任何一個項目,因為谷歌總是中途打斷,然後分配給我新的項目。

這種感覺實在是很荒謬。

我的職業生涯被委員會支配著,他們只花了一個小時來考慮我是否可以晉升,他們的一個決策可以抹去我職業生涯幾個月的進步。

最糟糕的是,我對自己的工作不滿意。我不再問自己“如何才能解決這個具有挑戰性的問題”,而是想著“怎樣才能讓這個問題看起來對晉升有幫助”。我討厭這樣。

就算我晉升了,那又怎樣?人們普遍認為,每一次晉升都比上一次要難得多。為了繼續推進我的職業生涯,我需要參與更大的項目,與更多的團隊協作。但這也意味著項目可能會因為更多的因素而失敗,因為超出了我的可控範圍,這可能會浪費我幾個月甚至幾年的時間。

除了晉升還有什麼路可走?

在這個時候,我發現了Indie Hackers這個網站。

它是一個為小型軟件公司創始人提供的在線社區。這些人並不是要成為下一個扎克伯格,他們只想要建立適度可盈利的業務,用以支付他們的賬單。

我一直很想創立自己的軟件公司,但我只知道矽谷的創業模式。我認為,作為一名軟件公司的創始人,大部分時間都會花在融資上,剩下的時間則花在瞭如何吸引下一批百萬用戶上。

Indie Hackers為我們提供了另一種選擇。大多數會員都是用自己的積蓄創辦自己的業務,或者將其作為副業。他們不需要向投資人匯報,也不需要向委員會證明什麼。

當然,也有不好的一面。他們的收入不那麼穩定,而且面臨著更多災難性的風險。如果我在谷歌犯了一個讓公司損失1000萬美元的錯誤,我不需要承擔任何後果。我只會被要求寫一篇事後分析報告,讓每個人都學習一下。對於Indie Hackers上的大多數創始人來說,一個1000萬美元的錯誤就意味著業務的終結和幾輩子的債務。

Indie Hackers上的創始人引起了我的注意,因為他們可以掌控一切。不管是讓業務大獲成功還是讓它多年停滯不前,都是他們在發號施令。但在谷歌,我感覺無法掌控自己的項目,更不用說我的職業發展或團隊的發展方向了。

我想了幾個月,最後決定了,我想成為一名Indie Hacker。

在離開谷歌之前做的最後一件事

我在谷歌還有未完成的工作。在為晉升這件事投入了三年時間之後,我不想在離開時一無所獲。再過幾個月我又可以重新申請晉升了,所以我決定再試一次。

但在績效考評期前的六週,我的項目又被取消了。

事實上,我的整個團隊都被解散了。這在谷歌是很常見的,他們甚至委婉地把這個叫作碎片整理。管理層把團隊的項目轉給了印度的姐妹團隊。我和其他成員必須在不同領域重新開始。

我還是申請了晉升。幾週後,上司向我宣布了結果。我的績效評級是“極好”,這可能是最高的分數,每輪考核大約只有5%的員工能夠拿到。晉升委員可以看到我過去6個月所做的工作,剛好那幾個月正是我為晉升而做出改變的時期。

但他們覺得6個月不夠長,所以,祝我下次好運吧。

上司告訴我,如果在接下來的6個月裡我能夠完成同樣質量的工作,就有很大的晉昇機會。我不能說上司的話完全沒有誘惑力,但在過去的兩年裡,我已無數次聽過“6個月內有很大的晉昇機會”這句話。

是該走的時候了。

接下來該怎麼辦

當我告訴別人我離開谷歌了,他們認為我一定有什麼絕妙的創業點子,只有傻瓜才會放棄谷歌軟件工程師這樣輕鬆的工作。

但我確實是一個沒有絕妙創業點子的白痴。

我的計劃是去嘗試不同的項目,每個項目花上幾個月時間,看看有沒有能夠上道的,例如:

  • 繼續在KetoHub上投入,看看能否讓它盈利;
  • 基於Sia(我經常提到的一種分佈式存儲技術)構建業務;
  • 多花點時間寫作,想辦法從中賺到錢。

谷歌是一個非常棒的工作場所,在那裡我學到了很多有價值的技能。離開谷歌對我來說很艱難,因為我還有很多東西要學,但除了谷歌,也有很多其他很棒的公司。我不會一直有機會創辦自己公司,我只是期待我將去向何處。

原文鏈接

Why I Quit Google to Work for Myself

延展閱讀

為什麼我離開了 BAT 們