李開復給理工科學生的建議:「厚積薄發,有的放矢。」

ux-787980_640
以前我在Google時很多在校的同學問:“我今年還沒有到畢業班,但我很想知道,如果將來想申請Google來做工程師,現在應該如何讓自己做好準備?

以下是一些我過去給的建議,但到現在還是仍有些參考價值的。

(1)練內功。

不要只花功夫學習各種流行的程式設計語言和工具,以及一些公司招聘廣告上要求的科目。要把資料結構、演算法、資料庫、作業系統原理、電腦體系結構、電腦網路,離散數學等基礎課程學好。不妨試試Donald Knuth的Art of Computer Programming裡的題目,如果你能夠解決其中的大部分題目,就說明你在演算法方面的功力不錯了。

(2)多實戰。

通過程式設計的實戰積累經驗、內化知識。建議大家爭取在大學四年中積累編寫十萬行代碼的經驗。

(3)求實幹。

不要輕視任何的實際工作,比如一些看似簡單的編碼或測試。要不懈追求對細節一絲不苟的實幹作風與職業精神。

(4)不放棄數學。

數學是思維的體操,數學無處不在。尤其當你對一些“數學密集型”的領域有興趣,例如視頻、影像處理等等,你需要使它成為你的利器。

(5)培養團隊精神,學會與人合作。

(6)激勵創新意識,不為書本和權威意見所束縛。

(7)有策略地“打工”。

在不影響學業的前提下,尋找真正有意義的暑期工作或兼職。去找一個重視技術的公司,在一個好的“老闆”指導下完成真正會被使用者使用的程式。不要急於去一個要你做“頭”而獨當一面的地方,因為向別人學習,是你的目的。打工和找工作一樣,“不要只看待遇和職銜,要挑一個你能夠學習的環境,一個願意培養員工的企業,一個重視你的專業的公司,最後,要挑一個好老闆。”

 

(本文獲作者授權轉載,原文出處:「李開復Facebook」)