<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          在 Google 工作十年后的感悟

          共 7448字,需瀏覽 15分鐘

           ·

          2022-03-16 12:50

          △點(diǎn)擊上方“Python貓”關(guān)注 ,回復(fù)“1”領(lǐng)取電子書

          大家好,我是貓哥。

          最近讀到了一位在 Google 工作10年+的“老”工程師關(guān)于技術(shù)、管理和職場生涯的感悟

          我看完后覺得很有收獲,因此在這里也分享給大家。以下是全文,后文中的「我」均指「原作者」。


          正文

          我在 Google 呆了10年半,離開時的頭銜/職位是 Staff Software Engineer / Manager。大致分三期:

          前兩年關(guān)注 Linux 桌面搜索產(chǎn)品和 Google 的開源項(xiàng)目;中間三年花了許多力氣在 Google 中國相關(guān)的產(chǎn)品上,諸如輸入法、谷歌音樂之類;后面四五年大致都在 Knowledge Graph 的范疇內(nèi)工作,這些工作和 Google 搜索、Google Now 最近幾次大幅度的變革密不可分。

          其間,代碼寫了不少,團(tuán)隊(duì)也帶過好幾個。

          除此以外,這些年還長期在 Google Doodles 團(tuán)隊(duì)作為 20% 的開發(fā)人員幫忙開發(fā)那些好玩的首頁涂鴉——嗯,這是真的,好多好玩的 Doodle 里面,都有我的一點(diǎn)小貢獻(xiàn)。

          學(xué)到了啥?

          嗯,很多,很雜,揀最重要的四條來說說。

          • 差異化;
          • 改變看技術(shù)心態(tài)
          • “管理”二字的意義
          • 看待職業(yè)生涯的心態(tài)

          差異化

          第一次真實(shí)地生活在一個差異化的世界里國內(nèi)教育氛圍向來是不喜歡差異化的,個人愛好、冒險精神、特立獨(dú)行之類的語詞,總會讓家長、老師乃至領(lǐng)導(dǎo)、官員操碎了心。

          從小到大,我基本生活在一個試圖將所有孩子圈養(yǎng)在尺子、框子、籠子里的世界;可以想象,像我這樣的 70 后一腳踏入 Google 時,會有怎樣的感慨。

          Google、Apple、Facebook、Twitter……對雇員來說,這些公司本身就是一種鼓勵差異化生存的大家庭、大社會。其中,Google 又總是扮演引領(lǐng)者的角色,這是在 Google 工作很值得驕傲的一件事。

          差異化的最大好處,就是你有機(jī)會認(rèn)識形形色色的神奇人物,然后,當(dāng)你和人生觀、生活方式、個人愛好乃至行為習(xí)慣差異巨大的人一起工作時,你會真真切切地感受到,自己生活的這個世界一點(diǎn)兒也不單調(diào),這里有太多好玩的人、好玩的事等著你去發(fā)現(xiàn)。

          在 Google,看見什么樣的差別都不該奇怪。

          往小了說,身邊既有縮在角落里悶頭寫代碼,討厭和人交流的社交恐懼癥患者,也有精神煥發(fā)的社交明星。辦公室里,有帶狗上班的愛心族,有重視家庭的好爸好媽,有整夜整夜奮斗的夢想家,有癡迷奇特愛好的技術(shù)極客……

          就拿愛好來說,跟我一起工作過的同事里,說起來好玩的愛好就包括:天天在車庫里打造奇形怪狀的自行車,休一個無薪假期去幫別人競選總統(tǒng),每個周末都跑到一個從沒去過的地方留下到此一游照,研究古音韻學(xué),出遠(yuǎn)海調(diào)查海洋生物,長期倒賣二手?jǐn)z影器材,寫科幻小說,嘗試大氣層外跳傘并打破世界紀(jì)錄……

          當(dāng)然,要尊重差異化,你就沒法阻止任何人從早睡到晚然后每天只花兩個小時干完別人十二個小時才能干完的活兒。

          往大了說,Google 對 LGBT 群體的支持眾所皆知。我當(dāng)初更多地將這種支持理解為“政治正確”層面的東西。沒過多少時間,我就知道我的理解有多么膚淺。有一次,Google 舊金山辦公室一對男同在公司餐廳的浪漫求婚視頻廣為傳播,感動了許多同事。事后我才想起,自己曾在硅谷一次會議上,見過那對幸福戀人中的一個。

          另有一次,自己所在的整個團(tuán)隊(duì)收到了一位高管宣布自己性別改變的郵件,說從那天開始,大家需要稱呼他為“她”。與許多人理解的相反,這些發(fā)生在身邊的事情并沒有時時提醒你 LGBT 群體的存在,反之,經(jīng)歷愈多,你會愈加淡化對他們的注意——他們或她們就是人類的普通成員,與你我并沒有太大的分別。

          去年在 YouTube 上追看 Google 推介的紀(jì)錄片 HUMAN 時,我已經(jīng)很清楚,Diversity 這個詞早已是自己血液的一部分,我的大腦與紀(jì)錄片制作者的大腦之間,完全沒有任何隔閡。那時,我會對著屏幕上一張張陌生的面孔陷入冥想。

          我覺得,這個世界最可笑的一件事就是人類進(jìn)化明明得益于基因與性格的差異,許多人竟會嘲笑別人與自己的不同之處,并竭力迫使他人改變,恨不得全世界的人都如自己一般固執(zhí)、愚昧。性取向如此,戀愛、婚姻、家庭、工作、事業(yè)無不如此。

          Google 員工經(jīng)常面臨一個典型的兩難困境:因?yàn)樵S多同事早早離開 Google 去融資、創(chuàng)業(yè)、上市、發(fā)財(cái),像我這樣安心在 Google 工作了十年的普通工程師就變成了另類——當(dāng)面問我“為什么還沒離開 Google”的人,他們眼睛里鄙夷的目光藏都藏不??;反過來,在家人眼中,我打算離開 Google 的舉動無異于自己砸碎金飯碗,放著穩(wěn)定的收入和豐厚的福利不要,非要和不確定性為伍。

          其實(shí),如果懂得“多樣性”的重要,這種左右兩難的困局就不再成立。

          既然有人選擇快節(jié)奏和世俗生活,為什么我就不能辭了職,慢悠悠地隨著自己的興趣,由著性子,從不同的角度理解這個世界與自我的關(guān)系?為什么“慢生活”就必須是一種逃避?

          宇宙很大,人很渺小。安全感是扯淡,特立獨(dú)行地活著才最重要。

          改變看技術(shù)心態(tài)

          到 Google 以前,我在國內(nèi)做銀行業(yè)的業(yè)務(wù)軟件研發(fā),給工行、中行之類的大企業(yè)做軟件。這和 Google 這種面向最終用戶的互聯(lián)網(wǎng)背景是有天壤之別的。

          以前看待技術(shù),覺得是身外之物,是工具,是磚木,是用來解決用戶需求的必需品。這個心態(tài)其實(shí)也沒什么錯,但不自覺地就把自己放在技術(shù)追隨者的位置上了。

          那時的我,很多時間都拼命在了解、學(xué)習(xí)和追趕新技術(shù),生怕落伍。從這個語言追到那個語言,從這個框架追到那個框架,從這個模式追到那個模式,從這個平臺追到那個平臺……根本停不下來。

          那時的我只是個技術(shù)的“用戶”,就像搬磚蓋房子,如果不天天關(guān)心今年流行什么材質(zhì)的磚,明年流行什么樣的房子架構(gòu),后年流行什么樣的房子外觀,那肯定被客戶和其他程序員罵“老土”。

          到 Google 擼胳膊挽袖子一忙活,才發(fā)現(xiàn)以前的自己狹隘了,小氣了,井底之蛙了。原來以前追的好多頂尖技術(shù),根本就是 Google 工程師主導(dǎo)或參與鼓搗出來的。

          而且,Google 內(nèi)部還藏著許多外界不大知道的神奇玩意兒。最最重要的不同是——自己現(xiàn)在是引領(lǐng)技術(shù)潮流的大團(tuán)隊(duì)中的一員了。

          以前是不斷學(xué)別人怎么設(shè)計(jì)房子,看別人推薦什么材料蓋房子。現(xiàn)在,最頂尖的房屋設(shè)計(jì)專家、材料專家就在身邊,自己也很快就能和他們一樣指導(dǎo)別人蓋房子了。

          這種感覺,就像跳進(jìn)了一個大寶藏,還清楚地知道自己并非盜賊,而是寶藏的主人。盜竊寶藏 vs. 創(chuàng)建寶藏,這兩者間的差別很微妙。

          心態(tài)一下子大不一樣了,從技術(shù)的“用戶”變成了技術(shù)的“主人”。

          比如,有段時間要解決 C++ 的 ABI 相關(guān)問題,猛想起 C++ 標(biāo)準(zhǔn)委員會的相當(dāng)一部分人都是在 Google 工作的,有一年的全體大會還是在 Google 總部開的——那直接拉著既是同事也是 C++ 權(quán)威決策人的家伙一起開會討論不就是了?

          類似的,Linux 內(nèi)核的維護(hù)者、Python 的發(fā)明人、UNIX 的元老、Google Brain 的創(chuàng)建者……跟那么多牛人在一個公司里工作,你肯定不好意思只是單方面地跟人討教,但凡有機(jī)會,你總會希望自己也像那些牛人一樣,為技術(shù)發(fā)展做點(diǎn)兒貢獻(xiàn),哪怕只是一丁點(diǎn)兒。

          再比如,像 MapReduce、Bigtable、TensorFlow 之類由 Google 原創(chuàng)、對業(yè)界影響深遠(yuǎn)的技術(shù),在 Google 內(nèi)部可不僅僅是身外的工具,它們都是 Google 工程師這個大集體的作品和驕傲。因?yàn)榇蠹叶际侵魅耍瑢δ男〇|西不爽,可以去鼓搗源代碼,可以去提交自己的補(bǔ)丁或者新功能,甚至推翻重做。

          別小瞧這推翻重做,雖然很難很難,因?yàn)槟愕靡贿呎f服老板和用戶,一邊找到足夠的開發(fā)人手,但事實(shí)上, Google 內(nèi)部重新發(fā)明一遍、兩遍、三遍的框架、工具、庫、接口、服務(wù)比比皆是。

          一言不合就動手做個新版本、新系統(tǒng),這毛病既帶來數(shù)不清的流程混亂,也帶來一山又比一山高的良性競爭——表面的混亂之下,良性競爭引發(fā)的技術(shù)飛躍常常超出想象。

          在 Google,工程師有好幾萬,不能說每個人都渴望做技術(shù)的主人,但躊躇滿志的大有人在。

          因?yàn)?Google 走在技術(shù)最前沿,有追求的工程師確實(shí)沒臉當(dāng)個純粹的技術(shù)追隨者。當(dāng)然,我的意思不是說 Google 里沒人去做那些不那么酷的“苦力活兒”,而是說大多數(shù)人都有個爭強(qiáng)好勝的心態(tài),即便是做相對簡單的技術(shù)工作,也時常會想想怎么能做出世界一流的效果來。

          拿面試來說,有個工程師想出了一道與月球相關(guān)的面試題,把算法、編程、設(shè)計(jì)、維護(hù)問題放在太陽系的大背景下,層層追問。

          我在一次內(nèi)部面試技術(shù)培訓(xùn)時拿這道題當(dāng)過樣例。結(jié)果,參加討論的工程師表達(dá)了截然相反的兩種意見,有人說這題設(shè)計(jì)精妙如天馬行空,另一些人則批評這題目遠(yuǎn)離實(shí)際如鏡花水月。

          其實(shí),Google 的技術(shù)宅們幾乎每天都在深入實(shí)際與憧憬未來這兩個極端的對位、矛盾、轉(zhuǎn)化中工作。常說的“仰望星空、腳踏實(shí)地”遠(yuǎn)不能形容 Google 工程師的兩面性。

          一方面,工程師們深知自己的代碼是如何參與了這個地球乃至這個星系里最前衛(wèi)、最大膽的計(jì)算機(jī)系統(tǒng),如何為諸如十年后的搜索引擎、擁有人工智能的手機(jī)或機(jī)器人、量子計(jì)算機(jī)、基因工程、無人駕駛汽車等貢獻(xiàn)力量;

          另一方面,工程師們“極客”和“宅”的一面常常在外人難以注意的工作細(xì)節(jié)里表露無遺——這里有十?dāng)?shù)年如一日致力于優(yōu)化編譯器的語言高手,有設(shè)計(jì)最好的代碼審讀系統(tǒng)的工具專家,有親自動手實(shí)現(xiàn)軟硬件原型的技術(shù)總監(jiān),有堅(jiān)持為地球上每一種人類語言提供輸入輸出解決方案的國際化團(tuán)隊(duì)……

          這是心態(tài)的差別,或者說,是技術(shù)境界的差別,烙在 Google 工程師的基因里,旁人想學(xué)也未必學(xué)得到。

          “管理”二字的意義

          有時候工程師很難管理,因?yàn)榇蠖鄶?shù)人都想法新、主意多、眼光高、個性強(qiáng)。在 Google,有時候工程師也很容易管理,只要鼓勵他們把一件看似普通的事兒做出世界級的水準(zhǔn),他們自己就有足夠優(yōu)秀的執(zhí)行力,用不著督促。

          在 Google 做技術(shù)經(jīng)理帶團(tuán)隊(duì),和我以前在其他公司帶團(tuán)隊(duì),完全是兩碼事。這也許和技術(shù)團(tuán)隊(duì)的平均水平有關(guān),但根本還是管理境界的問題。

          記得以前在別的公司,花大力氣搞開發(fā)流程管理,現(xiàn)在想想,大多是繁文縟節(jié),程式化,教條化,最極端的像 ISO9000 之類的流程認(rèn)證,弄得所有人筋疲力盡,效果未必有多好。

          到了 Google,發(fā)現(xiàn)一個秘訣,再多的規(guī)章制度,再多的流程,不如一套好用的工具來得有效。

          比如 Code Style 和 Code Review,以前能把技術(shù)經(jīng)理煩死,三令五申也執(zhí)行不下去,頂多三天熱度之后,大家就陽奉陰違了。在 Google,這件事不完全是個制度的問題。

          剛進(jìn)來的工程師沒有過 Readability Review,他就沒法方便地自主提交代碼,這是代碼管理工具設(shè)置的硬性限制。

          這直接把工程師們送到評審委員會那里接受“再教育”,沒錯,真的是“再教育”,連 Python 之父 Guido van Rossum 也花了挺大力氣才通過了 Python 語言代碼的 Readability Review。

          接下來,提交新代碼前,各種靜態(tài)、動態(tài)檢查工具自動運(yùn)行,幫你報(bào)出一系列風(fēng)格錯誤、編譯錯誤、單元測試錯誤和簡單的邏輯錯誤,你得先依著工具的提示,把這些低級別錯誤改一遍,然后才進(jìn)入 Peer Review 的環(huán)節(jié)。

          整個 Code Review 都在非常方便的網(wǎng)頁工具里完成,寫代碼的和審閱代碼的人可以方便地交互、討論,甚至在線修改代碼。

          工具的“強(qiáng)制性”保證了制度的執(zhí)行,工具的“便捷性”最大程度減輕了工程師執(zhí)行制度的負(fù)擔(dān),二者相輔相成。當(dāng)然,Google 內(nèi)部也不乏對制度敷衍了事的,但相對其他公司,Google 的確做得更好些。

          說到管理,在 Google 帶技術(shù)團(tuán)隊(duì)的其實(shí)都苦哈哈的。我就先后兩次把團(tuán)隊(duì)交給別人帶,自己樂得去做些單純的代碼工作。

          道理很簡單,頭銜是 Manager,可你沒法高高在上指手畫腳,Google 最好的團(tuán)隊(duì)帶頭人都是沖在第一線帶著大家一起干,除了主動包攬大家不想干的臟活、累活、雜活之外,還要做管理者必須的非技術(shù)工作,比如給每個人寫評語、定獎金,幫每個人申請升職,跟心理負(fù)擔(dān)重的談心……

          一個人做兩份工,吃力不討好,對團(tuán)隊(duì)成員的晉升也沒有決定權(quán)(這事兒也挺神的),這種 Manager 的活兒,誰愿意干誰干去,我是不大喜歡干的。不過,不喜歡歸不喜歡,Google 這種挺不一樣的管理既顯著混亂無序,又運(yùn)行良好,確實(shí)很神奇。

          嚴(yán)格地說,聰明人在一起,只需要激勵,不需要管理,Google 的辦法主要也是強(qiáng)調(diào)這一點(diǎn)。

          必須坦白,我加入 Google 時,工程師才三千人上下,無序管理、自發(fā)管理、扁平管理占主流。

          Google 越來越大以后,大公司病也如約而至。流程越來越復(fù)雜,層級越來越多,職權(quán)重疊和模糊越來越嚴(yán)重,不同團(tuán)隊(duì)之間管理風(fēng)格的差異也越來越大。

          但即便如此,Google 基因里那種蔑視陳規(guī)、抵制辦公室政治、抗拒繁文縟節(jié)的管理風(fēng)格還是能在許多團(tuán)隊(duì)帶頭人的身上找到——這是 Google 肌體里的健康因素,活力因子,彌足珍貴。

          順便說一句,最近中文圈子熱傳不寫代碼/不會寫代碼的 CTO 一事,許多 Google 工程師出身的 CEO/CTO 都在朋友圈里曬自己寫的代碼,以表明態(tài)度。我自己對技術(shù)管理者寫不寫代碼沒啥傾向,寫不寫都可以是好的管理者,但如果“不會寫代碼”還以此為榮,就完全沒法接受,這個是底線。

          我在 Google 面試了不少 Manager 和 Director 的候選人,都考過對方寫代碼或者至少討論一段代碼的能力——不是要他一定在管理過程中寫代碼,而是怕他和 Google 工程師沒法交流,和 Google 技術(shù)基因沒法共存。

          在 Google 做技術(shù)管理,學(xué)不到啥成文的規(guī)矩,能學(xué)到的其實(shí)主要靠“悟”。

          看待職業(yè)生涯的心態(tài)

          很多人來 Google 還是奔著一份優(yōu)越的薪資待遇來的。所以,這里只談我自己。

          有一種感覺是我開始在 Google 工作才有的。而且,那感覺越來越清晰,越來越吸引人,以至于十年下來,我?guī)缀醢堰@種感覺視為我工作時的第一推動力了。

          怎么說呢,這種感覺可能很多人都有,描述出來大概是:

          在整個職業(yè)生涯里,至少要有一部分(哪怕是一小部分)時間,可以比較純粹地為了開心而工作。一家公司是否適合自己,主要就是看這家公司能不能,或者在多大程度上能滿足這個需求。

          我在 Google 做不同項(xiàng)目,有時很吃力,有時很痛苦,有時很緊張,當(dāng)然有時也會開心。

          但普通項(xiàng)目沒法讓我比較純粹地享受那種開心、愉悅的幸福感,于是乎,我在最近五六年里,把我的 20% 時間,都投入到了 Google Doodles 這個既有趣,也適合我的項(xiàng)目里。

          Doodle,嗯,首頁涂鴉,純粹為了讓用戶開心而設(shè)立的項(xiàng)目。這項(xiàng)目既需要畫畫的藝術(shù)家,也需要寫動畫、音效和游戲代碼的成員,不但好玩,還特別有品,特別有文化。因?yàn)閰⑴c其中,我有機(jī)會跟 Google 總部那些厲害的藝術(shù)家一起合作,真的開心。

          有一次做 Google 生日的 Doodle,大家選中的是美國小孩子在生日常玩的一種叫 Pi?ata 的游戲。

          在電腦里實(shí)現(xiàn)這樣的游戲,需要簡潔的美術(shù)風(fēng)格,支持 JavaScript 的物理引擎,還有平滑、高效的動畫引擎,這些是技術(shù)細(xì)節(jié),不展開談。

          可在技術(shù)之外,我們這群追求開心的人硬是嚷著要親自玩一次現(xiàn)實(shí)里的 Pi?ata。那次在 Mountain View,就在 Google 總部有一只霸王龍骨架的那片空地上,我們把一個真的 Pi?ata 掛在樹上,輪流用竹竿去打,直到打出一地的糖果來。十幾個藝術(shù)家和工程師開心得像小孩子。

          就是很純粹的,很簡單的,很開心的那種體驗(yàn)。無論工作里有多少煩惱,至少要給自己保留這樣一塊空間,叫心情家園也好,叫隨便什么名字也好,哪怕再小,也得有那么一個。

          對我來說,在參與 Doodles 項(xiàng)目的過程里,可以和 Doodles 紀(jì)念的偉大科學(xué)家、藝術(shù)家們跨時空交流,可以和正在設(shè)計(jì)、制作的小動畫、小游戲隨時互動,可以預(yù)測到最終用戶看到每個 Doodle 時的快樂,這的確是一件超贊的事。

          很幸運(yùn),Google 可以為我這樣追求開心的人提供合適的機(jī)會。很不幸,(我確切地知道)不少公司從不考慮員工的這種需求。這大概也是公司基因決定的事,沒法強(qiáng)求。

          正因?yàn)橛辛嗽?Google 的十年工作經(jīng)歷,我才會毫不猶豫地將職業(yè)生涯中最重要的追求定義為“開心”。

          十年職業(yè)生涯,除了快樂,還有歷史的厚重感。特別是 Google 中國這十年,我有幸親歷歷史,可算人生里的大風(fēng)浪。

          不幸,許多歷史是不能詳盡言說或評價的,所謂春秋筆法,絕不僅僅是史官的政治妥協(xié),更多情況下也是從更高維度審視歷史的一種大智慧。

          總的說來,我喜歡一種本質(zhì)上不是消極避世的“慢生活”,“快樂”和“多樣化”是這種生活的力量源泉。

          離開 Google 后,我堅(jiān)信這種生活就是自己的未來。

          想法漸多,身心漸老。下一個十年,請慢一些到來吧。

          版權(quán)申明:以上內(nèi)容來源于網(wǎng)絡(luò),僅供分享學(xué)習(xí),版權(quán)歸原作者所有。以上全文轉(zhuǎn)自某公眾號,但其未標(biāo)注原作者及原始出處。在本文發(fā)出前,貓哥特意搜索了一番,現(xiàn)補(bǔ)充一下原作者信息——

          原作者:王詠剛 ;來源:半輕人

          鏈接:https://mp.weixin.qq.com/s/fxDny6LOZfjzbgJWv0ZAbw
          Python貓技術(shù)交流群開放啦!群里既有國內(nèi)一二線大廠在職員工,也有國內(nèi)外高校在讀學(xué)生,既有十多年碼齡的編程老鳥,也有中小學(xué)剛剛?cè)腴T的新人,學(xué)習(xí)氛圍良好!想入群的同學(xué),請?jiān)诠杻?nèi)回復(fù)『交流群』,獲取貓哥的微信(謝絕廣告黨,非誠勿擾?。?/span>~


          還不過癮?試試它們




          Python小技巧:如何批量更新已安裝的庫?

          Google 內(nèi)部的 Python 代碼風(fēng)格指南

          Python 面向切面編程 AOP 和裝飾器

          學(xué)習(xí)Flask主站源碼,構(gòu)建自己的Web站點(diǎn)

          基于 Python 探針完成調(diào)用庫的數(shù)據(jù)提取

          如何簡化大量的 if…elif…else 代碼?


          如果你覺得本文有幫助
          請慷慨分享點(diǎn)贊,感謝啦
          瀏覽 58
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  中文字幕麻豆 | 午夜日韩 | 夜夜嗨一区二区 | 日本一区二区三区久久久久久久久不卡免费 | 91操比|