在谷歌工作 4 年,我最終還是選擇瞭離開

03-09

聲明:本文已獲作者授權翻譯,封面圖為付費下載自視覺中國。

【CSDN 編者按】作為全球領先的科技公司,Google 一直是許多開發者夢寐以求的地方。身處 Google,你可以和全世界最優秀的工程師一起工作,用著全世界最先進的開發工具,研究全世界最前沿的技術領域。本文的作者 Michael Lynch 就是一位 Google 的軟件工程師。在 Google 工作的四年,他一直希望通過努力,讓升職組委會認可他的能力。然而最終,Michael Lynch 還是選擇瞭離開。下面讓我們來一探究竟。

以下為譯文:

過去的四年裡我一直在 Google 從事軟件開發。但是 2 月 1 日,我辭職瞭。因為他們拒絕給我買聖誕禮物。

好吧,開個玩笑,事情實際上要復雜得多。

開始的頭兩年

頭兩年,我愛死 Google 瞭。

年度員工調查問我是否願意在 Google 工作 5 年以上的時候,我毫不猶豫的選擇瞭是。

當然今年確實是我在 Google 的第 5 年。我身邊都是全世界最優秀的工程師,用著全世界最先進的開發工具,還吃著全世界最免費的食物。

這幾年我的業績評價都是 " 遠超預期 "。照此下去,很快我就可以晉升到更高級的職位:高級軟件工程師。多酷的頭銜啊!從此以後,談論起職業生涯我就可以說," 是的,我是高級軟件工程師,在 Google 工作。" 大傢都會很羨慕的。

我的經理也肯定我很快就會晉升,他感覺我已經可以勝任高級職位的工作瞭。我需要的隻是一個合適的項目向升職委員會來證明我的能力。

經理無權提升你?

但是,Google 的經理根本無權提升他們的直屬下屬,他們甚至沒有投票權。

員工的晉升由升職委員會決定,這個委員會由高級的軟件工程師和經理組成,如果不是晉升的當天見到你,他們可能從來都沒有聽說過你。

申請升職的時候需要準備 " 升職資料 ",包括:隊友寫的推薦信,本人創建的設計文檔,以及一篇小文章解釋為什麼你夠資格得到晉升。

然後由升職委員會審核所有申請人的資料,在當天決定有哪些人將得到晉升。

在頭兩年的蜜月期,我覺得這個機制非常棒。當然我的命運應該由一個神秘而又陌生的委員會決定。因為他們不會偏袒任何人,也不會受辦公室文化的影響。他們會看到我過去做出的業績,並透過高品質的代碼和敏銳的技術判斷重新認識我。

然而事實並非如此

在整理第一份升職資料前,我從未想過這個機制是如何運作的。

在我腦海中,這個升職委員會無所不知而又十分公平。如果每天我都在解決正確的問題,改進我們的代碼庫,並幫助隊友提高效率,那麼這個升職委員會很神奇地瞭解這些情況,並獎賞我。

不出所料,事實並非如此。我花瞭兩年才認清這個事實。

我真是太天真瞭

我的工作主要是負責一個舊的數據流水線。它已經處於維護模式很多年瞭,但是由於負載的增加,流水線已超出瞭負荷。它會經常悄無聲息的死掉,或輸出錯誤的信息。我需要花好幾天的時間分析並找到原因,因為除瞭原始需求外,沒人寫過任何文檔。

我很自豪,在我悉心的照顧下,這個數據流水線起死回生瞭。我修復瞭幾十個 bug,還寫瞭自動化測試,確保 bug 不會重現。我刪除瞭幾千行無效的或可以用流行的代碼庫替換的代碼。隨著研究的深入,我將這個系統的知識記錄到文檔中,供我的隊友參考,而不僅是在我個人腦海中。

然而,在升職的時候我卻發現,我所做的所有工作中沒有任何一項可以用數字度量。我無法證明我做的努力對 Google 有任何積極的影響。

度量指標或權當沒發生過

數據流水線沒有任何度量指標。即便有,也隻會讓度量結果更加糟糕。我發現的 bug 導致整體 bug 數增加。異常情況下我故意讓數據流水線掛掉,以避免傳輸錯誤的數據,結果導致系統的故障次數增加。我大幅地降低瞭開發人員修復系統故障的時間,但是並沒有任何指標涉及開發人員的時間。

我其他的工作看起來也很糟糕。好多次,為瞭幫助面臨發行危機的隊友,我不得不把自己的項目放在一邊幾周甚至幾個月。對於團隊來說,這樣做沒有錯,但是放到升職資料中就很不起眼瞭。對於升職委員會來說,隊友的項目更大,重要的工作需要多個開發人員的配合。如果他們能騙我去幫忙,那隻能證明他們有很強的領導能力。我隻是個沒主見的人,承擔著如此無關緊要的工作,可以隨叫隨到。

第一次提交升職資料後,結果正是我所擔心的:升職委員會說,我沒有證明自己有能力處理復雜的技術問題,並且他們沒有看到我對 Google 做出的貢獻。

從失敗中吸取經驗教訓

升職申請的駁回對我來說是很大的打擊,但是我沒有就此氣餒。我感覺我所做的工作已經超出瞭現有的職位,但是隻是升職委員會沒有看到而已。我可以想辦法解決。

我覺得自己在前幾年太天真瞭。我沒有提前做周全的計劃,確保所做的工作都有書面記錄。現在我明白這個升職機制是如何運作的瞭,我可以繼續做好本職工作,並更好地記錄成果。

比如,以前我隊友有時會因為假的系統警報而收到大量郵件提醒。這要放到以前我肯定隻是修改好這些提醒就好瞭。但是現在我知道我要把這項工作寫入到升職資料中,首先我會設置度量指標,記錄過往郵件提醒的發生頻率。在升職的時候,我可以做一張曲線圖展現郵件提醒發生大幅下降。

不久,我被分配到一個看似很有機會升職的項目中。項目中用到瞭大量機器學習,這一直是 Google 很熱門的方向。項目可以將需要幾百個人手動操作的任務自動化,很明顯這個目標對 Google 有很大的影響。我還需要在項目中領導一個初級開發員,這也可以在升職委員會面前大大加分。

聖誕禮物引發的深思

幾個月後,Google 上瞭新聞頭條,因為他們取消瞭給所有員工發放聖誕禮物的悠久傳統,並把買禮物的錢奉獻給瞭廣告慈善事業,為貧困的學齡兒童買瞭 Chromebooks。

之後不久,我聽到兩個員工的一段談話:

員工 A:你還是變相的拿到禮物瞭啊。經這麼一折騰,Google 股票肯定升值。你賣掉一些股份就可以買自己喜歡的禮物瞭啊。

員工 B:就像我告訴我老婆我不給她買聖誕禮物瞭,但是她可以用我們銀行賬戶裡的錢隨便買自己的喜歡的禮物?

員工 A:你跟 Google 是商業關系。如果你因為 Google 不像你對你老婆那樣 " 浪漫 ",沒有給你買禮物就感到失望的話,那你對這段關系的認識本身就是錯誤的。

等等,我和 Google 隻不過是商業關系。

聽起來有點怪,我花瞭兩年半時間才意識到這一點,但是 Google 一直在公司內部積極建設社區的氛圍,讓我們大傢感覺我們不隻是員工,而是 Google 這個大傢庭的一份子。

兩位同事的談話讓我意識到我並不屬於 Google,我隻是在拿錢為 Google 服務。

既然我和 Google 是商業關系,自取所需,那麼為什麼我花瞭那麼多時間完全為 Google 的喜好服務,而不是我自己的呢?如果升職委員會不會因為改 bug 或幫助隊友而獎勵我,我為什麼要做呢?

為升職做改變

首先升職給我的經驗教訓是錯誤的。我以為我可以繼續原來的工作,但是要在升職資料裡準備地更好一點。其實我要做的恰恰相反:我需要搞清楚升職委員會想要什麼,然後專門做這些工作。

我采取瞭一種全新的方式。在開始做任務前,首先我問自己這個任務對我的升職是否有幫助。如果答案是沒有,那我就不做。

我的行為標準從 " 在接下來 5 年中,我們是否可以繼續維護系統?" 降到瞭 " 這個系統可以維持到我升職嗎?" 我不再記錄或修改任何 bug,除非影響到項目的啟動。我設法逃避所有維護工作的責任。我不再自願參加校園招聘大會。我主導面試的次數也從每周 1 - 2 次降到瞭零。

隨後我的項目取消瞭

工作優先級發生瞭調整。管理層把我的項目發給瞭印度的兄弟團隊,作為交換,他們把一個項目讓給我們。那是一個完全沒有文檔記錄的系統,建立在一套垃圾的基礎設施之上,竟然還是產品的關鍵部分。領導指派我去將代碼從兄弟團隊的代碼庫中分離出來,並轉移到新的框架上,同時還要保證產品正常運行,各項性能指標達標。

想想我的升職,又要往後拖幾個月瞭。因為取消的項目讓我一無所獲,我白白在上面浪費瞭兩個月。現在又要花好幾周搞清楚這個我即將參與的系統,而且還有可能花費更長的時間給人打雜,以確保系統的正常運行。

我究竟在幹什麼?

半年來,這已經是第三次經理中途重新把我分配到另一個項目組。每次他都說這與我的工作表現無關,完全是因為高層管理的戰略改變,或者平衡團隊人數。

當時,我認真地想高層究竟在幹什麼。先別管我的經理,也別管他的經理,也別管升職委員會。如果單單看我和 Google,我們之間的 " 商業關系 " 究竟是什麼狀況?

Google 一直說需要等到項目完成才能評價我的工作表現。但是,我沒法完成任何項目,因為 Google 不斷在中途把我調配到新項目。

這種動向很荒謬。

我的職業生涯不斷被調整,陌生的委員會隻用一個小時就決定瞭我的升遷與否。管理層絲毫沒有征求我的意見就妄做決斷,隨隨便便就把我幾個月的辛勞一筆抹去。

最糟糕的是,我一點都不為自己的工作感到自豪。我問自己," 我怎樣才能解決這個困難?" 我的意思是說," 我怎樣才能讓現有的工作看上去對升職很有幫助?"

即便我升職瞭,又能怎樣?大傢常說每次升遷後的工作難度都會加倍。為瞭繼續發展我的職業生涯,我需要更大的項目,需要跟更多合夥團隊協作。但是這僅僅意味著項目可能因為更多我無法控制的因素失敗,浪費我幾個月或幾年的時間。

我還有別的選擇嗎?

正當此時我發現瞭 Indie Hackers。

這是個小型軟件創業者的在線社區。需要特別強調小型,上面的人並不是像紮克伯格(Facebook 的創始人及 CEO)那樣的牛人,隻是一群想要建立一些賺錢的項目,用以養傢糊口的人。

我一直夢想創建自己的軟件公司,但是我隻知道矽谷創建公司的情況。我一直以為軟件創業者需要花大量時間去集資,以及擔憂如何吸引更多的用戶。

Indie Hackers 展現瞭另一條富有魅力的路。很多會員都用自己的積蓄建立他們的業務,或在全職工作之外搞一些業餘項目。他們不需要應付投資者,當然也不需要向陌生的委員會證明自己。

當然也有一些弊端。他們的收入不是很穩定,還要面臨更多災難性的風險。如果我在 Google 犯瞭錯誤,害得公司損失一千萬,那麼我個人不用承擔任何後果。我隻需要事後寫份檢討,然後每個人都會因為這次學習經驗教訓的機會而感到高興。但對於大多數創業者來說,一千萬的損失意味著創業失敗,欠下的債務幾輩子都還不清。

Indie Hackers 上的創業者深深吸引瞭我,因為他們有控制權。無論他們的創業是一炮而紅,還是停滯不前,他們都是有機會的。在 Google,我感覺對自己的項目毫無控制權,也感覺不到職業生涯的發展或團隊前進的方向。

我仔細考慮瞭幾個月,最終做瞭決定。我想加入 Indie Hackers。

離開前的最後一件事

我在 Google 還有未做完的事情。為瞭升職我花瞭 3 年多的時間,我不能一無所獲默默離開。距離我再次申請升職僅剩幾個月的時間,所以我決定最後再試一次。

在業績考核期截止前六周,我的項目取消瞭。又一次!

事實上,我們整隊人都取消瞭。在 Google 這種事情很平常,委婉的說法是組織重整。管理層把我們的項目轉給瞭印度的兄弟團隊。我和隊友不得不從完全不同的領域重新開始。

無論如何,我申請瞭升職。幾周後,我的經理向我宣讀瞭最終結果,我的業績被評定為 " 非常優秀 ",最高分,每次也隻有 5% 的員工可以得到這樣的評價。升職委員會註意到,在過去的 6 個月裡我清晰地展示瞭高級開發者的工作能力。這一點也不意外,這就是我為升職做改變的那幾個月。

但是他們覺得 6 個月的時間不夠長,所以 …… 希望下次有好運。

我的經理告訴我,如果我繼續這樣再工作 6 個月,下次我肯定能升職。我不得不說我還是有點動搖,但是那個時候,我隻想說,"6 個月內肯定能升職 " 的話我已經聽瞭兩年瞭。

我該走瞭。

接下來該幹什麼?

當我告訴大傢我要從 Google 辭職的時候,他們都以為我有瞭很好的創業點子。隻有傻瓜才會輕易拋棄 Google 軟件工程師這樣的工作。

但是我確實是個傻瓜,我還沒有想法。

我的計劃是在接下來幾個月,先嘗試下幾個不同的項目,比如說:

繼續做 KetoHub ,看看是否能找到盈利點;

在 Sia 上開展業務,Sia 是一種分佈式存儲技術,我曾多次提到;

花點時間寫作,看看能不能通過寫作掙錢。

Google 是個很好的公司,在就職期間我學到瞭很有價值的技術。離開是艱難的抉擇,因為我還有很多想學的東西,但是還會有很多像 Google 一樣的公司。也許我不會一直自由自在地創業,所以我想看看自己究竟會走向何處。

原文鏈接:https://mtlynch.io/why-i-quit-google/

作者:Michael Lynch

譯者:馬晶慧

責編:言則

精彩圖片
文章評論 相關閱讀
© 2016 看看新聞 http://www.kankannews.cc/