在硅谷歷史上,可能再也找不到第二個(gè)這樣的人。
他沒(méi)有住在公司附近,沒(méi)有加班到凌晨三點(diǎn),甚至不常出現(xiàn)在辦公室。
相反,他每周二都坐飛機(jī)跨過(guò)加州的天空,去 Google 上班。
同事們?cè)诠の簧纤?Perl、寫(xiě) C++、飛快地交付功能的時(shí)候,他在機(jī)場(chǎng)排隊(duì)過(guò)安檢,或者在機(jī)艙里對(duì)著一臺(tái)舊筆記本和一堆 Java 錯(cuò)誤信息發(fā)呆。
而就是這個(gè)在 Google 內(nèi)部自認(rèn)“墊底”的人,寫(xiě)出了一個(gè)后來(lái)吞噬整個(gè)互聯(lián)網(wǎng)的錢(qián)印鈔機(jī):Google AdWords。
0 1
Google是啥?
1988年,剛剛碩士畢業(yè)的羅恩(Ron Garrett)來(lái)到NASA的JPL(噴氣推進(jìn)實(shí)驗(yàn)室,錢(qián)學(xué)森是創(chuàng)始人之一),在自主機(jī)器人的人工智能組工作。
![]()
在JPL的12年間,他成績(jī)斐然,一度是 NASA 所有計(jì)算機(jī)科學(xué)研究人員中被引用次數(shù)最多的,受人尊重。
只有一點(diǎn)讓他感覺(jué)不爽,他是一個(gè)Lisp的忠實(shí)擁躉,但NASA主要做嵌入式開(kāi)發(fā),是一個(gè)C語(yǔ)言為主世界。
在經(jīng)歷了Lisp火星車(chē)的失敗后,羅恩有點(diǎn)心灰意冷,有一天在逛com.lang.*編程語(yǔ)言新聞組的時(shí)候,他注意到有個(gè)人回答了一個(gè)非常冷門(mén)的問(wèn)題,然后說(shuō):謝天謝地有Google。
這勾起了羅恩的好奇心:Google是啥?
他在瀏覽器中敲入www.google.com,發(fā)現(xiàn)是個(gè)新的搜索引擎,他玩了幾分鐘,立刻意識(shí)到,這玩意兒比其他搜索引擎要領(lǐng)先好幾光年。
當(dāng)時(shí)互聯(lián)網(wǎng)正處于泡沫期,大量的互聯(lián)網(wǎng)公司在納斯達(dá)克上市,無(wú)數(shù)人通過(guò)股票獲得了巨額財(cái)富。
這時(shí)候Google還非常小,不到100人,剛剛從KPCB拿到融資,正是加入的好時(shí)機(jī)啊!
羅恩看到Google首頁(yè)下方寫(xiě)著:我們正在招聘。就立刻投了一份簡(jiǎn)歷,沒(méi)想到,僅僅15分鐘以后,他就收到了Google的電話。
面試很快通過(guò),就是薪水比JPL的還低!
這不算啥,重要的是股票期權(quán),關(guān)鍵是羅恩已經(jīng)在洛杉磯買(mǎi)房,走路即可到JPL上班,他已經(jīng)拿下博士學(xué)位,在JPL相當(dāng)于在體制內(nèi),工作生活都很穩(wěn)定。
而Google在硅谷的山景城,距離洛杉磯五六百公里,相當(dāng)于從青島到北京,這怎么去上班?
Google見(jiàn)狀馬上給羅恩加工資,還給了差旅補(bǔ)貼,還告訴他:你可以試一年,如果不行,隨時(shí)可以回去。
0 2
墊底的程序員
于是羅恩就開(kāi)始了乘坐飛機(jī)上班的生活。
他凌晨4點(diǎn)起床,5點(diǎn)出門(mén),6點(diǎn)到機(jī)場(chǎng),坐飛機(jī)到圣何塞,然后通過(guò)拼車(chē)/出租車(chē)等方式去Google辦公室。
10點(diǎn)到公司,然后一直工作到深夜。
當(dāng)然,羅恩不是每天如此,他周二去,周四回 ,在Google待3天。
在硅谷,他沒(méi)有朋友,沒(méi)有家人,沒(méi)有寵物,他的生活只剩下一件事情:工作。
說(shuō)起工作,羅恩被分配到了廣告組,去開(kāi)發(fā)廣告系統(tǒng)AdWords。
![]()
這個(gè)系統(tǒng)說(shuō)起來(lái)很簡(jiǎn)單:
1.客戶輸入想在Google投放的廣告
2.廣告系統(tǒng)在搜索結(jié)果中投放廣告,記錄投放情況
3.計(jì)費(fèi)系統(tǒng)統(tǒng)計(jì)數(shù)據(jù),從客戶信用卡中扣款。
沒(méi)有人意識(shí)到,這個(gè)全新的搜索模式以后將會(huì)為成為Google歷史上最大的現(xiàn)金牛。
![]()
當(dāng)時(shí)Java爆火,AdWords被確定用Java開(kāi)發(fā),而羅恩則是首席工程師。
Google的經(jīng)理也許并不知道,羅恩是個(gè)徹頭徹尾的Java黑,他覺(jué)得這門(mén)語(yǔ)言有個(gè)邪惡的目的:把程序員變成可以被替換的零件和齒輪。
但是已經(jīng)上了賊船,“Java布道師”羅恩不得不硬著頭皮往前走了。
用戶界面用JSP編寫(xiě),如果你在2000年代用過(guò)它,你就會(huì)明白這種方式有多糟糕。
ul>JSP的本質(zhì)就是把HTML和Java混在一個(gè)文件中,HTML 不關(guān)心括號(hào),Java 極度關(guān)心括號(hào),你一旦漏一個(gè) } 或 %>,整個(gè)文件的解析都會(huì)“錯(cuò)位”。
當(dāng)年沒(méi)有語(yǔ)法感知編輯器,沒(méi)有語(yǔ)法高亮,沒(méi)有括號(hào)匹配,沒(méi)有自動(dòng)縮進(jìn),沒(méi)有錯(cuò)誤提示......
你在一個(gè)地方犯?jìng)€(gè)錯(cuò)誤,編譯器會(huì)在幾十行后報(bào)一個(gè)稀奇古怪的錯(cuò)誤。
Lisp專家羅恩就坐在那里,調(diào)試一個(gè)又一個(gè)的JSP錯(cuò)誤,艱難前行。
認(rèn)識(shí)了一些Google的同事以后,羅恩更是被他們的聰明所震撼,一個(gè)活兒羅恩認(rèn)為一周才能搞定,但是一個(gè)小時(shí)后就有人用一個(gè)小小的腳本搞定了。
羅恩的下巴都要被驚掉了,他覺(jué)得這絕對(duì)不可能,直到親眼看到那個(gè)Perl腳本,大受震撼。
在JPL的象牙塔內(nèi),羅恩一直是頂尖的一員,在Google,他認(rèn)為自己可能是后10%的墊底程序員。
羅恩的開(kāi)發(fā)進(jìn)度落后了,經(jīng)理火上澆油,認(rèn)為解決進(jìn)度落后的辦法就是進(jìn)行微觀管理:每天列出詳細(xì)的工作清單。
這讓羅恩相當(dāng)反感,以至于和經(jīng)理幾乎不怎么說(shuō)話了。
0 3
賬單災(zāi)難
經(jīng)過(guò)3個(gè)月的煎熬,AdWords終于開(kāi)發(fā)完成。
上線之前,羅恩要面對(duì)一個(gè)重要的問(wèn)題:客戶的廣告要不要審核以后再上線?
按照NASA習(xí)慣,一切都要在發(fā)射之前驗(yàn)證,因?yàn)槌霈F(xiàn)錯(cuò)誤就可能帶來(lái)死亡,必須萬(wàn)分小心。
但是Google 創(chuàng)始人Larry Page堅(jiān)持所有的審核都放到事后去做,廣告直接上線。
原因非常簡(jiǎn)單:要給客戶“即時(shí)滿足感”。
這在2000年左右是非常瘋狂的,因?yàn)閭鹘y(tǒng)的廣告流程是:提交,審核,對(duì)接,排期,上線。
Google把它壓縮成:填表,刷卡,上線。
出了錯(cuò)怎么辦? Larry說(shuō):“到時(shí)候再說(shuō)”。
事后看,Larry是對(duì)的,Google AdWords徹底改變了廣告行業(yè)。
AdWords的上線相當(dāng)順利,接下來(lái)兩周羅恩主要在監(jiān)控系統(tǒng),修復(fù)小Bug,并且當(dāng)一名客服,給用戶回復(fù)郵件。
![]()
這就是創(chuàng)業(yè)公司的文化:人人都得上手,干各種活兒來(lái)解決問(wèn)題。
有一天,羅恩打開(kāi)賬單數(shù)據(jù),發(fā)現(xiàn)一堆數(shù)據(jù)不對(duì)勁,計(jì)費(fèi)程序竟然向客戶收取數(shù)十萬(wàn),甚至百萬(wàn)的費(fèi)用。
羅恩趕緊停掉計(jì)費(fèi)程序,開(kāi)始排查,這是個(gè)非常難纏的Bug,因?yàn)橄到y(tǒng)大部分時(shí)間是好的,偶爾出錯(cuò)。
剛開(kāi)始實(shí)在是找不到問(wèn)題,只能重啟系統(tǒng),然后加上一個(gè)合理性檢查,如果費(fèi)用超過(guò)某個(gè)范圍就自動(dòng)停止,并且告警。
羅恩這個(gè)“客服”還得給客戶解釋發(fā)生了什么事情,向客戶道歉,賠錢(qián)。
但是,讓羅恩驚訝的是,即使發(fā)生了這么嚴(yán)重的情況,老板也沒(méi)有斥責(zé)他、責(zé)罵他,只是說(shuō):趕緊想辦法修復(fù)。
這樣的錯(cuò)誤發(fā)生了好幾次以后,大家終于發(fā)現(xiàn)了規(guī)律:在C++編寫(xiě)的廣告服務(wù)器關(guān)閉或者重啟時(shí),會(huì)寫(xiě)入隨機(jī)的數(shù)據(jù)(多線程引起的錯(cuò)誤),讓一些客戶的廣告投放量達(dá)到了幾百萬(wàn)條。
Bug終于被修復(fù)了,羅恩感到精神崩潰,身體也快要垮掉了,他和和妻子的關(guān)系開(kāi)始緊張,和經(jīng)理幾乎不說(shuō)話。
0 4
最大的遺憾
在這種高壓之下,羅恩開(kāi)始反思自己的未來(lái):自己是否能適應(yīng)創(chuàng)業(yè)公司這種“快速行動(dòng),打破一切,快速修復(fù)”的文化。
這時(shí)候發(fā)生了兩件大事:
1.9/11事件爆發(fā),打亂了羅恩乘坐飛機(jī)上班的計(jì)劃。
![]()
2.互聯(lián)網(wǎng)泡沫破滅,Google 當(dāng)時(shí)情況還算好,但沒(méi)有人保證它最終能成功。
![]()
羅恩利用自己在JPL的人脈,聯(lián)系了高層的一位主任,這位主任也希望他能回JPL工作,并且為他爭(zhēng)取了頂級(jí)的技術(shù)職位:principal, 幾乎相當(dāng)于大學(xué)的終身教授。
Principal還有個(gè)福利,專屬停車(chē)位,附帶遮陽(yáng)棚,實(shí)驗(yàn)室7000人,只有100人有這樣的待遇。
于是羅恩就回去了,他負(fù)責(zé)搜索引擎相關(guān)的工作,當(dāng)然不是開(kāi)發(fā),而是采購(gòu)。
羅恩沒(méi)有料到,他做出了錯(cuò)誤的抉擇,他在 Google 做的不是邊角料,他寫(xiě)的是Google Ads系統(tǒng)的核心算法,這是全人類歷史上最賺錢(qián)的一段代碼之一。
今天Google 每年幾千億美元的廣告收入,本質(zhì)上是這個(gè)系統(tǒng)在運(yùn)轉(zhuǎn)。
他只要留下,絕對(duì)是AdWords的 負(fù)責(zé)人,再堅(jiān)持3年,Google就會(huì)IPO,羅恩就會(huì)成為億萬(wàn)富翁。
但是在2001年那個(gè)時(shí)間點(diǎn),很少有人能看清楚未來(lái)。
羅恩后來(lái)說(shuō):
“在Google工作最棒的地方是,我感覺(jué)自己是歷史的一部分,當(dāng)時(shí)誰(shuí)也沒(méi)有想到Google會(huì)發(fā)展到如此規(guī)模,我從小是電腦迷,硅谷是夢(mèng)寐以求的圣地,當(dāng)我第一次置身其中,就連那瘋狂的通勤也讓我感到莫名的興奮。”
“環(huán)顧四周,看到那些風(fēng)云人物正在做出各種炫酷的事情,而我也是其中一員,這種感覺(jué)實(shí)在太棒了......”
0 5
后記:世界是個(gè)草臺(tái)班子?
今天回頭再看 Google,人們很容易被它后來(lái)那套近乎神話般的工程體系所迷惑:
分布式系統(tǒng)、嚴(yán)謹(jǐn)?shù)拇a規(guī)范、頂級(jí)的人才密度、近乎完美的自動(dòng)化流程。
但在 AdWords 誕生的那個(gè)年代,Google 遠(yuǎn)沒(méi)有后來(lái)那么“體面”:
它從 NASA 挖來(lái)一個(gè) Lisp 專家,讓他Java寫(xiě)核心系統(tǒng)
它讓一個(gè)工程師在最原始的編輯器里調(diào)試 JSP;
它可以一邊高喊“工程師文化”,一邊進(jìn)行微觀管理;
它允許所有人擁有 root 權(quán)限;
它也允許文本被直接“硬編“”進(jìn)頁(yè)面,讓國(guó)際化極其困難;
它的系統(tǒng)里充滿 Bug,計(jì)費(fèi)錯(cuò)誤甚至?xí)苯幼兂商煳臄?shù)字;
![]()
從今天的標(biāo)準(zhǔn)看,這幾乎是一次災(zāi)難級(jí)的工程實(shí)踐!
但 Google 還是活了下來(lái),而且迅速長(zhǎng)成了一個(gè)前所未有的巨獸。
原因并不神秘。
當(dāng)時(shí)代的浪潮真正拍到岸邊時(shí),Google 的創(chuàng)始人做對(duì)了一件極其關(guān)鍵的事:他們?yōu)樗阉饕嬲业搅艘粋€(gè)與用戶體驗(yàn)正向耦合的商業(yè)模式——即時(shí)滿足的AdWords 。
而剩下的事情,則交給了一群工程師。
這些工程師未必?fù)碛型昝赖墓ぞ摺⑶逦牧鞒袒蚍€(wěn)定的生活,但他們?cè)谝黄靵y中,把一個(gè)模糊的想法變成了一個(gè)能持續(xù)運(yùn)轉(zhuǎn)的系統(tǒng)。
歷史并不是由完美的系統(tǒng)啟動(dòng)的,更多時(shí)候,它是由勉強(qiáng)可用的代碼、疲憊的工程師,以及一次又一次被硬撐過(guò)去的夜晚推動(dòng)的。
全文完,覺(jué)得不錯(cuò)的話請(qǐng)三連。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.