[The Effective Engineer 翻譯筆記] Optimize for Learning, Part 1

Wilson Huang
8 min readFeb 7, 2017

這章開頭直接詳細描述 Google 總部園區的景象,沙灘排球場、各種顏色的圓桌、乒乓球桌、攀岩牆、網球場等等,以及各種廚房的存在,確保員工都被餵食得很好。

在 2006 年暑假,作者剛從 MIT 畢業來到 Google HQ,讓他感到非常興奮的不只是一堆福利,還有極度想要吸收所有知識的心。讀過了一遍 Google 的 codelabs,看了一堆解釋為何會有 Protocol Buffers, BigTable, MapReduce 這些 core software abstractions,以及它們是如何被使用的文件。

也讀了內部 wiki,關於 Google 的 state-of-art-search, indexing, storage systems 的設計文件。還studied 了 Python, C++, JavaScript 的 guide,吸收一些從 Google 老兵十幾年經驗萃取出的內容,以好消化的方式和練習寫成的。

20170208 updated, 冠廷指教 state-of-art 是指最先進、最前端的,學習了。

作者也挖了一些早期 Google 傳奇, Jeff Dean and Sanjay Ghemawat 寫的 library source code,還去聽了 Guido von Rossum(creator of Python) 和 Joshua Bloch(core Java library 的設計者)這兩位的 tech talk。

在 Google 寫軟體是令人非常興奮的旅程,他和兩位 teammates 在這期間打造並且上線了 google.com 的 query suggestions 功能,幫助每天幾千萬到幾億的使用者搜尋,讓他們獲得更好的搜尋結果和體驗。使用 Google data center 好幾千台的機器來跑 MapReduce jobs,built 出一個 model。在見 Marissa Mayer (那時候是 Google 的 Search Product VP)的前一夜,它們開始做上線的 demo,激發了腎上腺素狂寫一週,當 demo 給兩位 Google 的創辦人之後,它們同意讓這整個努力五個月的 feature 上線,作者說這是非常難忘的一次經驗。

另外在 Google 的好處,就是眾所皆知無限的免費食物,按摩,運動場,年度旅遊,甚至它們的 search team 還有 all-expenses-paid 去 Maui 玩。但這似乎是作者想帶出的轉折,因為即使有這一切福利和經歷,他還是在兩年後離開 Google。

離開之後的五年,他把時間花在兩家步調很快的 startup,OoyalaQuora。每一次過渡他都會 optimized learning 並且發現自己的成長,不管是在專業上或是個人層次,而且這是他在 Google 待著學不到的東西。Google 可能有無人車、大型機器學習或是穿戴式裝置的 project,但他離開後發現有更多特別的機會,可以跟各種天才的人合作,與團隊一起成長,打造公司的文化,並且從無到有打造幾百萬人使用的產品,所以他從未後悔離開 Google 的決定。

Optimizing for learning 是個 high-leverage activity,這個章節會解釋原因。接下來即將談如何開始有 growth mindset,這是讓自己能力進步的先決條件,也會討論學習的 compounding effects,為什麼投資自己的 rate of learning 是重要的。接著會列出六個跟工作環境有關的關鍵因素,讓你在選擇工作和團隊時能有一把尺。並且還會列出幾個 actionable tips ,讓你在工作上強化自己的能力,並且不停地學習。

Adopt a Growth MindSet

畢業後的好幾年,作者仍然只跟幾個比較熟的大學同學混,因為比較內向的關係,甚至不覺得自己可以在大型的社交場合感到自在,跟陌生人聊天也一直不是他的強項。跟熟的人聊天一直是他優先考量的,如果要的話,比較傾向去咖啡廳跟不認識的人開會,盡量避開大型 party 和網路聚會,因為那些都讓他感到不太舒服。

但最後作者發現避開這些 social events 不是認識新朋友的好辦法,而且就是這種情況讓他沒辦法 improve 自己。於是接下來的一年,他開始像金凱瑞的 Yes Man 一樣努力答應每個邀約,都盡量去參加。他開始會出現在一些 meetups,而且這些 meetups 的人都是他不認識的,開始拿著咖啡跟一堆不認識的人接觸。通常對話一開始都會有一陣尷尬的沈默和被迫講些話的開場白。開始會花幾小時在這些場合,然後離開時隨意記下一些人的聯絡資訊,但作者持之以恆。每當他搞砸一段對話,他會開始想下次要怎樣做出幽默的回應。開始練習如何講更好的故事。

隨著不斷練習和試錯,他慢慢適應這種場合,也覺得對這種事情比較得心應手了。不只是認識了很多好朋友,他也擴展了他自己的舒適圈。仍然有很大的進步空間,但學了不少新技能,例如隨意進入一群陌生人的對話之中參與討論,越來越熟練。

這個故事可能跟工程師沒什麼關係,但闡釋了正確 mindset 對於學習我們其他技能的威力。我們如何看待自己的智力、特質、和能力會極大地影響我們自己的生活,很大程度取決於我們要停在自己的舒適圈,還是去增加我們自己的價值。這跟 Stanford 的心理學家 Carol Dweck 出的一本書 Mindset 裡面結論的 self-perceptions 一樣。Dweck 發現跟工程師很有相關,大概就是說我們如何看待自己的效率所帶來的影響,會影響我們願意投資多少努力來改善它。看起來很莫名其妙,下面還會有解釋。

Dweck 發現如果是 fixed mindset 的人,他們會相信人類的能力是天生固定的,一出生智商就定死了,不管聰不聰明。這種人會選擇自己所擅長的事情做,某些他們覺得天生比較擅長的。所以他們很容易在學新東西或是碰到一點挫折的時候就放棄。另一種 growth mindset 的人會相信智力和技能是可以透過努力培養的,所以他們在碰到挑戰或是失敗時,會視為是個學習的機會,也比較不容易放棄。

Mindset 會影響人們是否會好好利用增進自己技能的機會。作者舉了兩個實際例子,香港大學的語言課和紐約市七年級的學生,大致上分成兩組,一組是被告知自己只有特定值的智力,這種能力是固定不變的,另一組則是相反,讓他們都認為是可以透過努力改善智力和能力。結果兩邊的實驗都是擁有 growth mindset 的那組學習能力較佳,不然就是進步幅度大非常多。

作者想講的就是 growth mindset 的重要,effective engineer 應該要相信自己的智力和擅長的事物是可以被擴展的,也就是 adopt growth mindset。

最後又舉了一位例子,Tamar Bercovic,現在是 Box 的 Director of Engineering。僅僅兩年,Bercovici 就升到 manager,但在加入 Box 的 30 人工程團隊之前,她從來沒做過 full-time 的 web 開發工作,她只是個非常數學理論領域的 PhD,大多的 Engineering interviewers 認為她應該不太喜歡 coding,也不太有這方面的經驗。

像這樣,只有 fixed mindset 的人,很可能就停留在自己擅長的領域,以她為例可能就繼續做理論相關的研究工作。但 Bercovici 使用了 growth mindset,她主動去研究新的 web 技術,不斷地練習面試白板題,從以前 PhD 學習到的相關內容都拿來複習並結合,就這樣面試了好幾間公司後,拿到了 offer。

“It’s not about apologizing for where your resume doesn’t line up but rather telling your story — who you are, what skills you’ve built, what you’re excited about doing next and why,”

這是 Bercovici 對作者講的原話,在別人定義自己之前先告訴別人自己的故事,最後她成為了矽谷最夯的幾間公司之一的領導層。作者認為她的故事是個 adopted a growth mindset 很好的例子,與其抱怨自己的失敗或短處,還不如趕快改變心態並掌控自己的故事。每個人都是可以成長的,所以應該優化自己在哪學習、怎麼學習,勝過待在自己容易成功或已經擅長的地方。這也是下一個章節要講的,如何投資自己的學習能力。

小記

Optimize for Learning 這章有一點長,所以先寫到這,下一節是 「Invest iin Your Rate of Learning」。這篇比較枯燥,大多在講故事舉例,下一章比較多乾貨,比較多具體的訣竅們。

翻譯真的好難,原文又長又難懂,單字照翻真的超怪,有些用法我也沒看過,只好一直反覆看去猜它的意思,害我一直跑去問英文好的人,先在這偷偷感謝牛津大師坦利,但他似乎還沒有辦 Medium,有辦再 tag 他好了。如果我翻的哪邊看起來怪怪的想看原文書,可以私訊我…

--

--