看過《水滸傳》的朋友都知道,梁山的一百單八將因為各種理由加入了水寨,走上了劫富濟貧、替天行道的路。我2006年從南京大學本科畢業以後,耳聞目睹了數百位計算機專業的博士(生),他們選擇讀博士的理由可以說比梁山好漢更為複雜。

就拿我自己來說,我從小就對編程不感興趣,高中畢業時一心想報的志願是數學或者物理專業,但被做數學教授的父親逼著填報了計算機專業——他出於很多理由,不想讓兒子走他的老路。

後來我聽說計算機專業居然也有一種不需要編程的職業——做教授!從此我對做教授無限嚮往,於是堅持讀完了博士。

我的碩士生導師倪明選教授(現任澳門大學副校長)曾經有一位及門高弟,在倪教授問其為何讀博士的時候回答:“我媽媽要求我拿到博士學位,我博士畢業以後就去賺錢。”這位傳說中的師兄如今已是國內某著名IT公司的高層領導。

與形形色色的讀博理由相對應,這些博士(生)人生的道路也各不相同。有成為國內外大學教授者,有在公司做技術骨幹者,有做一般的工程師者,也有讀博期間遇到困難及時退學去工作者,也有苦苦支撐到畢業然後去工作者。當然,他們都比梁山好漢們的結局好得多了。

經常有朋友或者學弟學妹問我:“你覺得讀博士好不好?”“你覺得我是否應該讀博士?”這些都是相當難回答的問題。

而我們在選擇是否讀博的時候,往往是對這個專業還沒有足夠的瞭解,比如大三、大四時。在中國學生中有一種典型的“羊群效應”:如果周圍同學(尤其是學習標兵們)都在準備出國或準備在國內讀博,那大家都會效仿,覺得讀博很有面子。如果大家都說讀博沒意義,即使對科研感興趣的同學,也可能會因為面子問題而不去讀博士。

10年前,我也曾經與同學一起去面試微軟的工程師職位,甚至寶潔的銷售經理職位。現在想想,那些職位既不是我所長,也不是我的興趣所在,可當年我又如何去判斷呢?

我想通過對一些博士人生道路的回溯分析,給計算機專業的學生一些建議,幫助他們選擇是否要讀博士,鼓勵他們通過獨立思考來選擇自己的道路。

對於讀博士的一些誤解


年輕學生由於消息渠道不靈通,或者沒有得到正確的指導,對讀博士有一些誤解。

1.“讀博和科研只適合絕頂聰明或成績非常好的人。”

這個看法是完全錯誤的,如同“演員只有非常有表演天賦的人才能當”一樣是個偽命題。你如果認為大家心目中的學術大牛都是絕頂聰明的人,就好比說經常出現在新浪首頁或者微博熱搜的那幾位明星的演技都非常好一樣。

在我所認識的博士中,做出頂級科研的並不都是同輩中超級聰明的人,也不一定是平均成績點數(Grade Point Average, GPA)最高的人,更不一定是參加ACM編程競賽的高手們,而恰恰是那些有耐心有毅力堅持去鑽研的人。

很多博士生只要選好導師,選好研究方向,肯花費時間,都能做出頂尖的研究。有很多在海外學術圈頗有建樹的學者和我私下交流的時候說他們當年的學習成績並不好。

2.“科研窮三代,讀博毀一生。”

這句話在其他領域或許是對的,但在計算機領域就是錯的。在計算機領域,通過讀博掙錢的大有人在!計算機學科的特性就是科研與產業結合得非常緊密。尤其是最前沿的科研,對產業有很大的推動作用,併產生經濟利益。

一個典型的例子就是谷歌的創始人佩奇和布林都是博士生,也出自博士家庭。雖然他們沒讀完博士就去創業了(布林自稱現在在職讀博士),但是如果他們沒有讀博,那將很難開創出谷歌的核心技術。

目前業界大數據系統的寵兒Spark,就是由加州大學伯克利分校的教授和博士們開發的。首席開發者馬泰扎·哈里亞(MateiZaharia)即使有掙大錢的機會,也沒有完全放棄麻省理工學院的教職。

在網絡技術領域,目前業界關注的核心“軟件定義網絡”也是教授和博士們在大學裡開發出來的。谷歌、威睿(VMware)、 Databricks (Spark)、Nicira (OpenFlow)以及無數頂尖技術公司僱傭了數以千計的計算機專業畢業的博士,因為博士通常比其他僱員更接近核心技術。

如果你想實現自己的技術夢想並掙大錢,讀博士是一個很好的選擇。“讀博就得走清貧的人生道路”是沒有任何道理的。

3.“科研做的東西大部分都是廢紙,對實際一點幫助都沒有。”

這種觀點在計算機領域也是不正確的。計算機科學並不是屠龍之技。今天幾十億人都離不開的計算機網絡的原型就是從加州大學洛杉磯分校發展起來的,我的師爺(我導師的導師)萊昂納多·克萊洛克(LeonardKleinrock)教授在阿帕網(ARPANET)項目中開發了互聯網的雛形,並在1969年發送了互聯網的第一個數據包。

20世紀70年代,我的導師、美國工程院院士林善成(Simon Lam)教授在他的博士論文中分析瞭解決鏈路層衝突的方法,最後被以太網採用,融入到我們的生活中。

林教授在90年代開發了安全套接層(SSL)的第一個實現系統,如今安全套接層被運用到每臺電腦和手機的瀏覽器中。不僅是計算機網絡,幾乎每個計算機領域的技術都被科研引領著。

按照加州大學伯克利分校博士後研究員錢學海博士發表在《中國計算機學會通訊》(CCCF)上的文章1所說,計算機體系結構這些年的發展,都與該領域四大學術會議上的論文密不可分。

另一方面,雖然很多論文在現實世界不一定能體現直接價值,但是在寫文章的過程中,你能學到很多東西,比如提出問題、解決問題、語言表達的能力,這些都讓人受益無窮。

4.“博士畢業還不如本科生和碩士生好找工作。”

其他專業可能會出現這樣的情況,因為很多事情並不需要博士學歷的人去完成,本科學歷便綽綽有餘,但在計算機領域這種觀點是錯誤的。

美國的先進科技公司往往對計算機專業的博士求賢若渴,因為博士掌握著先進的科技,能為公司帶來經濟利益。

我最近訪問英特爾總部時,英特爾的研究人員便提到,在20年前英特爾還招聘碩士進行研究,然而最近英特爾基本只招聘博士。在美國,如果一位博士的科研領域正好是公司所需要的,那麼很多公司會開出15萬美元的年薪和公司股份來求賢。

這種情形目前在國內還並不常見,原因可能是國內的一些公司目前還處在模仿階段而不是創新階段。隨著國內技術水平的不斷提高,越來越多的公司也會渴求掌握科研本領和核心技術的計算機專業博士,估計在五年以內情況就會好轉。

讀博士能學到什麼


讀博士不僅是學習知識和技術,也能培養其他職業技能。讀博所收穫的並不僅是那幾頁論文,還有寫論文過程中學到的東西。對於中國學生來說,工作中並不缺乏解決問題和編程的能力,而是欠缺表達和溝通能力。

比方說你有一個想法能讓公司某軟件的性能提升一倍,那麼你需要說服公司高層領導,讓他認為你的想法是有意義的、值得投入資源去開發。實現這個目標所需要的能力是中國學生一直欠缺的,但是可以通過讀博得到鍛鍊。

1.把握公司高層領導和用戶的需求的能力

如果公司高層領導對某軟件的性能完全不感興趣,你當然就不能提出提升軟件性能的想法。你要知道公司目前最需要什麼技術和產品。這個能力並不是天生就有的,而是慢慢揣摩、鍛煉出來的。

在讀博過程中,你必須知道你的導師喜歡和擅長的課題,摸透審稿人喜歡的表述方法和結果。這都是你極好的鍛鍊機會,因為在讀博的時候,允許失敗;但是在職場上,失敗的代價非常高。

2.語言表達能力

我在香港學習期間,與我相熟的劉雲浩教授(現任清華大學軟件學院院長)反覆強調錶達能力的重要性。作為一個科研工作者,你要寫出能說服別人的論文;作為一個軟件工程師,你要寫出能體現你貢獻的技術文檔;作為一個項目負責人,你要寫出好的項目申請書和總結報告,讓公司知道你的價值。

很多中國學生的語言表達能力很弱,這與外語水平並不是非常相關,而是由於沒有經過寫作的準確性和邏輯性訓練。而讀博寫論文的過程就能培養邏輯表達能力。

3.克服困難的能力

被別人拒絕很傷自尊。作為天之驕子的大學生,除了追求異性,恐怕很少遭受被人拒絕的經歷。而殘酷的職場裡到處充滿拒絕的情形。如何能夠以正確的心態來面對這些事情,也是可以通過讀博來訓練的。

當第一次投稿的論文被無情拒絕後,很多學生都非常憤怒和羞愧。甚至有不少聰明的學生在論文被拒幾次之後,一氣之下放棄了搞學術。

其實,論文被拒稿原因並不一定是你的工作做得不好,很可能只是差了一點運氣和工作的完整性。在職場裡,求職和升職也可能會被拒絕,原因也並不一定是自身的不足。讀博能幫助你認識和理解這些事情,並以平常心來面對挫折。

什麼人適合讀博士


我認為讀博士並不需要天生的特殊能力或者後天的條件。我們平常所說的能力,諸如編程、數學和英語,都只能叫做讀博士的催化劑,而不是發生化學反應的“反應物”。所以,問題並不是“什麼人適合讀博士”,而是“什麼人不適合讀博士”。

1.沒有耐心的人不適合讀博士

一個計算機專業的博士,需要在自己的研究方向上成為世界級的專家。

沒有人能在短時間內成為專家,即使我們看到有些博士生在第一年或第二年就發表了頂級論文,但他們其實並沒有從總體上完全理解該方向,選題有可能是靠導師幫忙,甚至就是導師指定的。

大部分重要的工作,尤其是涉及系統的領域(比如操作系統、網絡、分佈式系統、體系結構、編程語言),並不是在短時間內就能做出成果的。一篇重要的系統方面的論文,通常需要花費近一年的時間去做實驗與寫作,而之前知識的積累則需要更久。

文章發表之前的一段時間是最難熬的,大部分失敗的博士生都是跌倒在了這個階段。而能夠熬過這個階段的,不論之前的背景如何,大部分都能繼續發表更多的論文。“耐心”是讀博最重要的條件。

2.不欣賞科學和技術的人不適合讀博士

一個成功的計算機博士要懂得欣賞(或者至少願意欣賞)他人發表的優秀成果,欣賞教科書上的經典設計,欣賞自己或者導師提出的重要問題和解決辦法。如果你對科技完全不欣賞,那麼是不可能做出好的科研成果的。

讀博士需要注意什麼


1.選擇合適的導師

導師與一個博士生的命運休慼相關。相同條件的兩位博士生如果遇上不同的導師,可能會產生截然不同的命運。

每個導師的背景不同,手上的資源也不同,而他願意給學生的資源數量也不同。

假如某資深教授A的資源為10,某年輕教授B的資源為5。但是A教授有一個10個學生的龐大實驗室,能給你的資源只有1;而B教授僅有你一個學生,給你的資源可以是5。顯然B教授是更理想的選擇。當然實際情況並不是如此簡單。

比如在美國,通常資深和年輕教授的資源差距不大。在中國,資源差別可能很大——當然目前這種差距在逐漸縮小。也有可能你在同門中表現突出,資深教授特別中意你,能給你8個資源。

還有可能年輕教授長袖善舞,與許多同行和工業界的關係非常緊密,這時他的資源反而超過資深教授。因此如何選擇導師,絕對不是看資深與否或者脾氣好不好這麼簡單。

2.選擇合適的課題

同領域裡可以選擇的課題有天壤之別。有些課題沒有研究價值。有些課題很難,即使認真做了,也不一定能做出好的成果。

我的建議是,博士生應該經常閱讀頂級會議的論文。即使課題組歷史上從沒在頂級會議上發表過論文,即使導師不做要求,即使你不在頂級會議上發表論文也能畢業,你還是要去了解。否則研究容易和現實脫節,自然不會得到認可。

博士之後的職業選擇


我認為讀計算機專業的博士是一個“進可攻退可守”的選擇。因為在計算機領域,學術界和產業界聯繫緊密,任何一行都離不開計算,讀博士的職業選擇相當多樣化。

我在德州大學的博士師兄師姐們有的成為常青藤大學的終身教授,有的成為貝爾實驗室的主任,有的成為谷歌公司的項目負責人,也有的成為初創公司的創始人。

我在香港科技大學的博士師兄師姐們有的成為摩根大通銀行(JPMorgan Chase)的副總裁,有的成為國內名校的新貴,有的在公安部研究所擔任重要職務。計算機專業的博士即便職業選擇再不如意,也很少有為生計煩惱的,在其他專業的人看來這些人都是各行菁英。

如果你沒有虛度光陰,在讀博士過程中學到的知識在未來的職業生涯中都會發揮作用。

如果你的優勢是寫論文,你可以選擇成為大學教授;如果你的優勢是解決技術難題,你可以選擇成為公司的研究員;如果你的優勢是編程,你可以成為軟件工程師;如果你的優勢是建模,你可以加入金融公司等。

計算機專業的知識都是實用性的,這是計算機專業一個得天獨厚的優勢。即使讀博的過程非常不如意,也可以及時跳出“止損”,社會不會把你當成一個失敗者,公司依舊非常歡迎博士退學者——因為他們也學到了技術。

如果說一百零八位好漢在踏上梁山的那一刻就註定了此生命運坎坷,那麼與之相反,讀計算機專業的博士卻可以保證你未來的生活,並且在此基礎上會有多樣性的選擇來發揮你的優勢。

來源:青塔

相關推薦

推薦中...