Gmail 創始人:「我本以爲 Google 會倒閉!」

Gmail 創始人:“我本以為 Google 會倒閉!”

Gmail 創始人:“我本以為 Google 會倒閉!”

Paul Buchheit是一名工程師,是Y Combinator的合作伙伴。同時,他也是Google的第23名員工,他創建了Gmail,以及Adsense的第一個原型。在離開Google後,他聯合創立了Friendfeed,後來被Facebook收購。

Triplebyte的聯合創始人兼CEO Harj Taggar與Paul談起了他開始編程、加入Google併成為優秀的工程師的經歷。

為縮短篇幅、明確內容,本文對採訪內容進行了加工編輯。

1.關於成為程序員

你是如何開始編程的?

我還記得我是在玩一個非常優秀的RPG遊戲時開始對編程產生了興趣。當時我卡住了,找不到關鍵的道具魔法手帕——我記不清是什麼了,不過這不打緊。然後我就想,“何必在遊戲裡找呢,我可以直接修改存盤數據嘛!”然後我就寫了個程序來尋找遊戲存儲物品的地方。然後我發現了向物品欄裡添加物品的方法,甚至能加入遊戲裡不存在的物品。

於是我意識到,這比玩遊戲本身要有趣多了。玩遊戲只是加入別人創造的世界。而編程,你可以在自己的世界裡為所欲為,對吧?編程是個開放的環境,裡面沒有任何限制。

從那以後,與編程相比,遊戲本身似乎完全是浪費時間。

我實際開始編程大約是在那之前的一年,我買了臺1M內存的386。我在某個BBS上看到了關於編程的文章,還帶有一個做了一半的C編譯器。我用那個學了一段時間。後來在一次無線電愛好者聚會上我找到了一份二手Turbo C 2.0編譯器,還帶手冊,只要$11。於是我就有了可以使用的編譯器,還有一份手冊,我就開始花了幾年時間來認真閱讀研究它究竟應該怎麼用。最初我並不是太享受這個過程,但我喜歡鑽牛角尖,下決心一定要研究明白。

你在上大學的時候覺得自己是個優秀的程序員嗎?

我覺得我還挺不錯的。我知道我不擅長做大型的東西,但我的代碼確實能完成該做的事兒。我在大學時有一次ACM編程競賽,我覺得一定很有意思。最後我得了第二名,所以我覺得我應該沒問題。

為什麼畢業之後加入了英特爾?

我一直很喜歡創業公司和商業。在我大約10歲時,我在鄰里做過一次上門銷售。我拿著一份產品目錄上門去推銷產品,每次賣掉一包賀卡都能賺$1!

大學畢業之後我想加入一家創業公司,但我不知道怎樣才能找到,因為當時互聯網上並沒有太多關於創業公司的信息。但我知道那些公司很可能在硅谷,因為硅谷有Netscape,有SGI,還有一大堆聽起來很酷的公司。我加入英特爾是因為英特爾位於硅谷,一定能遇到很多人,並找到一家很酷的創業公司。我天真地以為,我會在街上遇到一些人或一些事。我以為硅谷的街上一定到處都是創業公司,到處都能遇到創業公司的人。但實際上並沒有。

2.關於加入Google和創建Gmail

為什麼你決定離開英特爾?

總的來看那份工作我並不是太喜歡。我不需要拼命工作,而且有一天我坐在自己灰色的格子裡時(我周圍都是一片灰色的格子,周圍的牆也是灰色的,聽著白噪音,感覺很孤獨)我意識到,“我覺得好累。我需要回家去睡個覺。”於是我回家了,但一回到家裡我就意識到,“其實我根本不累。”只不過是在英特爾工作會榨乾你的所有精力,因此我知道我該離開了。

你怎樣找到了Google?當時的招聘流程如何?

我很喜歡Linux。甚至在上大學之前就開始喜歡Linux,那時大概是93年吧。我有一塊有點壞了的硬盤,上面還有大概60MB的空間可以用,我在上面裝了Yggdrasil Linux。這點空間足夠安裝一個小型的Linux,但卻不夠安裝Emacs的,所以我成了使用vi的人。

我花了很多時間閱讀Slashdot上的最新Linux新聞。從那裡我看到了Google,當時Google還是個小公司,他們建了個Linux機器的集群。在我看來,還有什麼比Linux集群激動人心的嗎?而且他們還有個特殊的Linux搜索,經常會在Slashdot上展示。而且他們公司的顏色遠不止灰色一種——他們有四種顏色!於是我申請了工作。

很神奇的是,我的簡歷郵件竟然被退回了,因為他們的郵件服務器設置錯了!但我第二天重新發了一遍,他們正好修好了MX記錄和別的錯誤,於是有人給我回信來安排電話面試。完成電話面試之後,他們就邀請我參加一整天的面試。

為什麼你決定接受Google的offer?

當時我只有這一個offer,所以很好選了!

而且,這個offer也很不錯,他們做的東西很酷。雖然我不覺得他們會成什麼大氣候。我以為他們會中途倒掉,並且被某個大型互聯網公司收購。當時,雅虎已經是互聯網的巨頭,而且Alta Vista也很有錢,我不知道這麼小的創業公司該怎麼競爭。但我覺得我不在乎,畢竟我想做Linux的工作,而且至少我能遇到一些聰明人,也許他們以後也會創立一些能夠成功的公司。

現在看來,我發現Google早期的團隊非常優秀。我認為他們只招聰明人是個非常關鍵的因素。部分原因是,他們工作的內容非常有趣,而且聰明人只喜歡做有趣的事情。我還記得Jeff Dean在加入Google之前曾經加入過另一個創業公司,然後立刻把他們所有的問題都改好了。然後他問,“我還能幹點啥?”結果發現他們無所事事,所以他辭職了。他因為之前解決的那些有趣的系統問題而被Google拉過來了。

這是個良性循環。這些聰明人會吸引更多的聰明人進來,然後不斷循環。感覺整個UCSB的系統部門的人都被拉過來了,因為Urs Hölzle(Google的第八名員工,https://en.wikipedia.org/wiki/Urs_H%C3%B6lzle)是UCSB的教授,就像是把整個繩子上的所有高人都拉過來了一樣。

所以你曾經認為Google會倒閉。什麼事情讓你改變了看法?

在Google工作了幾周之後我開始想,“這家公司一定會做大。”我實際上回去跟他們要求更多的期權,結果他們說,你只能在接受offer之前交涉!

但我沒想到Google真的可以飛起,直到我在那裡大約一年之後我們與Yahoo發生了交易競爭。我們從當時正火的公司Inktomi那裡搶走了Yahoo的交易。當時Inktomi應該市值在幾十億,我們能打敗他們實在很不錯。我還記得他們當時對那次交易失敗還做了掩飾,說“搜索沒什麼用,真正的錢才是互聯網的寶庫。”

之後我想,“哇,這幫人真是傻瓜,我們早晚能超過他們。”從那以後,我們就不斷贏得交易並打敗其他公司。想想就激動。

Google怎樣決定你的工作內容?

當時他們給了我和Marissa(https://en.wikipedia.org/wiki/Marissa_Mayer,Google的第20名員工)兩個項目。一個是建立產品搜索,另一個是建立一個廣告系統。我最後在產品搜索上花費了很多精力,因為看起來似乎產品搜索比廣告系統更吸引人。後來我成了Onebox小組的一員,這個產品的基本思想是:你可以輸入任何東西來獲得答案,即使輸入的不是常規的Web搜索也可以。

通常我都有很多產品上的想法,然後不斷添加新功能。實際上我做了第一版的“您要找的是不是”功能,那是在我看了搜索查詢日誌之後,發現經常打錯的不止我一個人。品質保證團隊正在試圖解決這些問題,以提高搜索質量的0.1%,然後我就想,“至少有20%的搜索被拼錯了。要是能改正拼錯的搜索,查詢質量就能提高20%!”所以我做了這個功能。像這種的功能我還做了很多。

隨著Google的成長,你還能一直做自己想要做的東西嗎?創建Gmail是不是想做的東西之一?

在2001年前後,Larry發現每個團隊都有自己的優先級,並沒有做他認為從公司的戰略角度上最重要的東西。他決定去掉管理層,圍繞具體的項目來組織工程。他和當時的工程副總裁Wayne Rosing會與工程師坐在一起,給工程師指定項目。他們給我的項目就是“我們希望你做個電子郵件之類的東西。”這就是我得到的所有要求!所以我開始做一些電子郵件的東西,後來就成了Gmail。

在Google你怎樣管理個人職業發展?

我從來沒有認真考慮過整個“職業”的東西。我只是覺得大公司很可怕,我很不喜歡我在大公司接受到的一切,我不想躲在一個角落裡做一些無關緊要的事情。我在大學一年級之後在微軟做過實習,在實習的最後一天,我們組最聰明的一個工程師給了我一條建議:“你需要保證自己不會被放到角落裡做一些不重要的事情。”我永遠把這一條當做忠實的建議。我在Google的野心就是做一些很酷的產品,做一些重要的事情。

3.關於離開Google

為什麼你決定離開Google?

我的女兒,也是我們的第一個孩子,出生比預計的早了100天。所以她的出生伴隨著許多醫學上的創傷,我們不得不在醫院裡呆了幾個月。在一切都結束後,我很高興地回到Google,因為我喜歡在Google工作。我興奮得甚至前一天晚上都沒睡好,我一直在想,“哦,我已經等不及回去工作了,我要回去工作!”

但第二天一進入辦公室我立即沒了精神。突然一下子就感覺像是回到了英特爾。部分原因可能是Google在我不在的這段時間裡成長了很多,而另一部分原因則是“溫水煮青蛙”效應::在我休假之前我根本沒注意到一切都在緩慢地改變,但我回來之後我意識到,“哇,原來有這麼多人在不知不覺中要求我做這麼多我不在乎的事情。”我立即意識到,如果我想留在Google並獲得成功,就必須適應大公司的氛圍。我知道我能做到,但我不想做。我想做點別的,所以我辭職了。

4.關於如何成為優秀的工程師

成為優秀的工程師需要什麼知識和技能?

計算機科學和其他任何工程都不一樣,因為我們總是要和一大堆層次不同的抽象打交道。一些人只能在一個層次上工作,這樣不會太有效,因為許多問題都需要在多個層次上解決。優秀的工程師需要從硅片的層次開始理解各個層的協議和系統。

怎樣才能成為更好的工程師?

只要肯去做,實踐是探索一切秘密的真理。

我從高中的時候就開始編程,而幸運的是,我這樣做的原因是因為我沒有別的事情可幹。編程是我的興趣,我永遠都有想實現的的項目。我覺得沒有任何事情能代替編寫更多程序,因為你沒辦法在短時間內變得更好。我寫了幾年程序之後才敢說自己會寫程序了。

與你共事過的最優秀的工程師都有哪些?

我共事過的最優秀的工程師之一就是Bret Tayler,他也是我在FriendFeed的聯合創始人。我從來沒遇到過如此優秀的工程師,同時也是如此優秀的產品經理、項目經理和設計師。他幹什麼都是天才,太不公平了!

關於Bret的記憶從Google時就開始了。他在Google甚至都不是工程師,不知道什麼原因,他的職位是產品經理。作為Google地圖的產品經理,他一直為JavaScript的速度慢而發愁,地圖需要很長時間才能加載。所以有個週末他說,“我要重寫JavaScript。”於是他重寫了一切,讓代碼快了10倍,而代碼量減少到1/3。他完全拋棄了整個團隊的工程師工作了幾個月的成果。能做到這一點的人實在太可怕了。

有人說他是10倍速工程師,我看是1000倍速。而且代碼質量很高,也非常乾淨,絕沒有任何普通的工程師能做到這一點。你可以找100萬個普通的工程師,加在一起也做不到這一點,他們只會做得一團糟。

另一個人是Craig Silverstein,他是Google的第一名員工。他屬於那種敲鍵盤和寫代碼速度能超過我的理解速度的人。有時候我喜歡看其他工程師工作,這樣我就能學習他們的工作方法。但Craig太快了,我完全跟不上他的速度。屏幕一閃代碼就過去了。他一直在切換Emacs或別的程序。他打字速度也非常快,我從來沒見過那麼快的人。

5.關於辭職和加入創業公司

你認為是不是每個在Google、Facebook或蘋果工作的優秀工程師都應該辭職去創業?

不。

好。那誰應該,誰不應該呢?

如果你喜歡你現在的工作,而且也沒有野心做別的事情,那麼你辭職很可能會掙得更少、幹得更多。如果你不喜歡錢少活兒多的工作,那我還是建議你別辭職了。

我想說,任何關於加入創業公司的通用建議都是錯的,因為創業公司有太大的變數。絕大多數創業公司都是垃圾,只有很少的公司非常優秀,如果你加入了優秀的創業公司,那你能發揮得很好。如果隨便選,那很可能會踩坑。

既然工作時長和薪水都不如大公司,那創業公司的好處是什麼?

像今天Google這樣的大型公司有太多聰明人,他們對於工作內容都非常有經驗。所以,如果你加入Google,就只能在“正確”的級別上工作。但在創業公司,他們很可能缺乏必須的資源,所以你可以在你力不能及的級別上工作。我認為這是創業公司最迷人的地方。

Gmail就是一個例子。當時我只有24歲,從來沒做過這麼大規模的東西。Google今天絕對不會把這麼大的項目交給一個只有24歲的沒有經驗的人。但在創業公司就能做這種項目。

今天,大公司給工程師的薪水遠遠高於你離開英特爾加入Google時的薪水。這種現象會如何影響工程師加入創業公司的抉擇?

沒錯,這很簡單。我覺得應該把創業公司看成一項投資,你實際上是在投資自己。你要相信在創業公司你能學得更快、發展得更快。如果你不認為創業公司能提供這一點,也許你不應該接受這份工作。如果去一個高手雲集、發展迅速的地方能夠成長得更快,或者成為你成為的角色,那麼這個職位要比大公司更好。

我建議把加入創業公司當作回到學校學習的過程。在選擇工作的時候要選擇最好的學習機會,這才是最好的做法。這樣,就算創業公司失敗,你還可以回到Google,甚至拿到比以前更多的薪水,因為你比留下來的那些人有了更多的經驗。

如果你想加入創業公司,應該怎樣判斷創始人是像Larry和Sergery那樣的人,還是像Elizabeth Holmes那樣的人?

沒錯, 這是最糟糕的組合:聰明人搞的一堆垃圾。我覺得你應該自己去面談,問一些難以回答的問題,看看他們能否給出直接、有見地的答案,看看他們有沒有逃避或輕視。如果他們有產品,嘗試一下也能幫你做決定。我個人會躲開那些只有宣傳沒有產品的公司。

一般來說,在面試創業公司時,怎樣才能確定他們是否適合你?

現在想來,Google打動我的一點,可能也是關於選擇創業公司時的一點好建議,那就是他們的面試官問了我許多聰明的問題。他們問的問題都是隻有真正擅長工作的人才能回答的問題。Urs問我,“假如你有個服務器,它運行得非常慢。你該怎樣診斷問題的原因?”要想回答這個問題,你必須要對系統有深入的理解才行。

他們的問題需要從多個不同的層次考慮才能回答:“內核有什麼問題?你是否理解硬盤並非輸出信息的地方?你知道隨機訪問的時間是多少嗎?”

我在面試的時候,遇到過一些其他公司問許多愚蠢的問題,比如“給出OSI網絡模型的七層的名稱”,或者一些寫在教科書上的無聊東西。

而且,在我第一天去Google工作時,我感到了與英特爾不同的氛圍。我很激動,我早上上醒來後很激動地去上班,辦公室裡永遠都有高效的氛圍。我覺得從這一點就能看出創業公司是否能成功——你進入辦公室之後就能體會到。人們是否都在忙著工作,還是隻是坐在那裡刷Twitter浪費時間?人們去公司只是因為必須去,還是因為渴望工作才去?當時的Google真是個充滿正能量的地方。

6.關於投資,加密貨幣,大學和開心

你認為成為工程師能讓你成為更好的投資者嗎?

也許吧。我的意思是,成為工程師能讓你相信自己能做到一切!

我確實認為能將問題分解成更小的問題的過程在許多領域都有用。當然,作為投資者你需要去評價別人,特別是在技術領域沒有技術背景的人很難做出正確的評價。如果有人說某件事情很容易或很難,那麼沒有技術背景的人就只能隨波逐流了。

你加入Google的原因是喜歡Linux。現在的你還有什麼感興趣的技術嗎?

這個問題我也很希望別人能告訴我答案!我能想到的最好的答案就是比特幣和加密貨幣,我很肯定它們會吸引21歲的我。但加密貨幣不同的是,它裡面充斥了各種幻想致富的垃圾,而這是Linux所沒有的。

大學有用嗎?

有用。至少,它能讓你成長,讓你獨立。我不可能在高中畢業之後直接去英特爾,那是不可想象的。大學能教給你許多做人的道理。

在我上大學時,我已經有了第一份編程的工作。我與我父親的一個朋友一起工作,他的工作是機械維修、工業機器人編程,這些機器人能從一個漏斗裡取出金屬棒然後放到研磨機裡,我學了很多,但並沒有認識任何寫程序的人。能在大學裡遇到許多會寫程序的人讓我很高興,因為我能從他們那裡學習。

為什麼人不能永遠快樂?

天啊,我不知道。我覺得可能是因為我們離革命的本源太遠了。我們創造的這個世界很難讓每個人都高興。而且,還有一個行業的目的就是讓我們不高興,因為我們不高興,就會為了我們的不高興去購買“解決方案”,他們才能賺錢。

原文:https://triplebyte.com/blog/interview-with-gmail-creator-and-y-combinator-partner-paul-buchheit

徵稿啦

CSDN 公眾號秉持著「與千萬技術人共成長」理念,不僅以「極客頭條」、「暢言」欄目在第一時間以技術人的獨特視角描述技術人關心的行業焦點事件,更有「技術頭條」專欄,深度解讀行業內的熱門技術與場景應用,讓所有的開發者緊跟技術潮流,保持警醒的技術嗅覺,對行業趨勢、技術有更為全面的認知。

如果你有優質的文章,或是行業熱點事件、技術趨勢的真知灼見,或是深度的應用實踐、場景方案等的新見解,歡迎聯繫 CSDN 投稿,聯繫方式:微信(guorui_1118,請備註投稿+姓名+公司職位),郵箱([email protected])。


分享到:


相關文章: