為什麼你不該 (或應該) 念 PhD

phd072011s (Image Credit: PhD Comics)

應不應該念 PhD? 這個題目已經被不少人寫過了,但筆者希望也來討論一下這個題目,試著提供一些比較不一樣的觀點。再度回到產業界之後,發現到在美國業界 PhD dropout 還不少,但他們通常不會去寫這個題目。對 PhD 畢業後從事教職的人來說,他們直接站在招募博士生的第一線,這跟他們的工作習習相關。而對 PhD dropout 來說,他們就沒有太強的 incentive 去寫這個題目。我們都知道人是 bias 的,非常 bias (有興趣的朋友可以參考一下這本書),念完 PhD 的人就會說 PhD 好棒棒,沒念過或沒念完的人就會說不值那個時間跟金錢。因為前者寫這個題目的人比較多,所以就讓我站在後者的立場,提供一下平衡的觀點吧。

幾點提醒,這篇主要講的是我個人比較熟悉的領域,也就是 computer science (CS),台灣大部分是稱作資訊工程吧。我並沒有把 CS 放進 title 裡面,因為底下提的幾點應該原則上對於其他領域的 PhD 也適用。最後,我的觀察除了基於自身的經驗,也基於直接聽聞或間接轉述,甚至也基於網路上我讀到而且認為可信的來源。所以不管是正面或負面的描述,都不直接連結到我個人的 advisor,同儕,etc。

前言講完,接下來進入主題。常常在 ptt 留學板或海外工作板上看到一個問題:「我應不應該念 PhD?」通常這個問題都會被板友回覆類似於「這個問題要問施主你自己」這樣的答案。沒錯,這個問題的確要問施主你自己。但我覺得動機最重要,你為什麼覺得 PhD 「可能」會對你有幫助?或者你為什麼覺得自己「可能」會 enjoy 這個過程?如果你的動機是基於底下這幾個常見的迷思,我奉勸你*不應該*念 PhD。以下我假設的對象是一個 CS 的大學部學生,正在考慮畢業之後是要進入 PhD program 或是進入相關企業 (自己創的也算)。所以簡單講,主要是比較學界與業界。我們不討論 CS 大學部畢業之後進入演藝圈,環遊世界或是出家之類的狀況。

迷思一:我想要多花一點時間探索自己的興趣

有些人可能會有一種印象,在 PhD program 裡面可以慢慢探索自己的興趣。這個題目作一點,那個題目作一點,最後再看看自己最喜歡哪方面。這種想法不能說是完全錯誤的。理想上的確 PhD 應該是在你進入之前,有一個大致研究興趣 ,進入 program 之後再慢慢磨出將來會成為你 PhD 論文的主要題目。

但是現實上,有幾點讓這樣的理想很難成真。首先這個大致的研究興趣,通常至少要明確到一個子領域的子題,在 top PhD program,如果你沒有表現出這樣的企圖以及具備相關能力經驗,在 SOP 這關就會被打槍了。這點我認為沒有什麼不對,PhD 是關於專注與深入,你摸索的範圍太廣本來就作不到所謂深入。但是這也表示所謂摸索,是在一個很侷限的範圍裡面摸索,如果你的興趣比那更廣泛,你想要碰一下 natural language processing,也想要碰一下 computer vision,在工具層面上又有很多想要碰的東西 (想要試 X language 又想要試 Y framework),那 PhD 不適合你,或至少不是現在。相較之下,在業界,只要你的基本功夠好,過去的 project 有建立起 credit,在同公司之間換 team 或是換公司都是相對容易的。

再者,更貼近現實的狀況是,你很可能連在該侷限領域之間摸索的自由都沒有。學術界競爭日益激烈的狀況之下,通常 advisor 會希望你一進 lab 就有產出,而不是進入一段對他來說沒有生產力的摸索期。 更等而下之的 advisor 會基本上忽略你的個人興趣,而是根據他自己的 funding 需要等等來 assign project 給你。當然我並不是說所有的 lab 都有這種狀況,但隨著學術研究日益「生產線化」,這樣的比例正在增高中。

迷思二:PhD program 給予個人更大的自由

自由是一個很大的概念,個人覺得可以大致上從兩個面向來看:1) what to do 2) how to do。後者稍微單純一點,我們先從 how to do 來講好了。

以個人的 schedule 來說,的確作為一個 PhD student 的 schedule 是非常彈性的,因為通常是以研究而非修課為主。而研究又通常僅限於你與 advisor (最多再加幾個 lab mate) 之間的合作,你要什麼時間「作研究」,除非你碰到傾向 micro-manage 的 advisor,基本上沒人管你。然而,相對來說,在美國的一流科技公司,shcedule 也不會不彈性到哪裡去。周一到周五白天的「大部分」時間要在公司,但你要晚到晚走還是早到早走,只要事情有作完,開會有到,沒人會管你。如果有正當理由,work from home, 從其他城市 remote, 也是家常便飯。如果把個人的生涯追求想作是一場馬拉松,其實有一點合理的外部的 constraint,可以當作是幫助你調整步伐,並不是壞事。另外,學術界有許多想得到、想不到的雜事以及 bullshit,造成工作負荷很重,所謂的工作時間自由,常常也只是「每周要選擇哪八十小時來工作的自由」罷了。

再來說 what to do。迷思一之中也提到了,所謂學術自由並不是讓你想作什麼就想作什麼,很大一部分取決於你與你的 advisor 之間的關係,另外也有學術研究本質上的限制 (要能夠發出 paper,這點在迷思三有比較詳細的討論)。

最後,不要忘記一點,自由的最終極武器就是「用腳投票」。在業界,如果某個公司沒有達到你的理想 (either 因為 project 內容,either 因為工作環境),你不但可以換,越換薪資還可以談越高。學界基本上則困守於一種非常極端「不 agile」的文化,沒有什麼可以輕易 switch advisor 或是 switch 學校這種事情。這也造成學界的「勞資關係」非常的扭曲,許多 PI 基本上就是該 lab 的小皇帝,而作為臣民 (奴隸?) 的你是不需要幻想擁有多大自由的。你唯一用腳投票的機會就是 dropout。

迷思三:PhD 才能作到新東西

另外一個常見的迷思是,只有在學界才有機會接觸到「新的東西」,業界只是重複已經被發現過的技術/原理/演算法。我認為討論這個問題之前,要先 define 一下什麼是新,什麼又叫作改變這個世界。我覺得 Paul Graham 的一篇文章總結得很好,與我的看法很類似,在這裡我就從他的文章再引申我的看法。

簡單的講,這篇文章說的是研究與設計 (業界基本上是作產品設計,所以我歸類在這邊),最優先的價值不一樣。研究重視的是新 (原創性),設計重視的則是好 (易用性、實用性)。反過來說,儘管最棒的研究以及設計是兩者兼具的,但設計不一定是創新的,研究則不一定是實用的。一個產品,如果它不新,但是實用,well, 那至少他還可以拿來用。一項研究,如果它新,但是不實用,我們是還可以欣賞他作為一種純粹的追求啦,但是這樣的研究常常已經淪為一種集點遊戲。

如果用大航海時代 (或是海賊王,如果你喜歡的話) 來比喻的話,業界像是經營商業航路。同一條航路也許有好幾組人在走,這時比的可能是整個船隊的經營、商品的研製、市場的開發,或是發個幾炮把競爭對手炸翻等等。有的時候商業船隊也會找尋到新的路線 (大公司的新產品或是新創企業)。學界則比較像是探險隊,尋找的是新的航路,但商業價值基本上不在考量範圍。找到了新的航路就要插旗 (發 paper) 昭告天下這路線已經被我探過了。但到最後 (為了畢業,為了升等) 插旗這個動作本身成為目的,以致於旗子亂插在一些毫無探查價值的目的地上,整個行動也成為一種人力財力的浪費。

最後,可能是 CS 限定的討論也說不定,但另外一個改變中的趨勢是 scale 越來越重要。想要改變這個世界,需要的巨量資料,以及能夠 process 這樣巨量資料的 infrastructure,只在業界能夠建立的起來。相反的,的確有極少數的論文或研究主題真的改變了這個世界,比方 deep learning (但就算是 deep learning 他的威力也只在與巨量資料結合時才能顯現)。剩下絕大多數的 paper 除了 paper 作者本身,再加上幾個 reviewer 之外,再加上 seminar 要報 paper 的研究生以外,全世界沒幾個人讀過。對世界的影響趨近於零。

迷思四:有 PhD 職涯發展會比較順利

除非你對職涯發展的理想是成為中華民國部會首長,個人不覺得在業界有沒有 PhD 會造成很大的差別。這個 title 當然不會是負分,但有正分到哪裡去也很難說。PhD 最重視的能力是你能不能發 paper。業界重視的能力是你能不能 coding。這兩種能力有所重疊,但程度並沒有想像中的高。當然理想上,一個 software engineer 除了 general programming 以外,也應當有其專長的領域 (比方 machine learning),能夠讀寫最新的演算法。但這也並不是非念 PhD 就不能得到的能力。

 

那來談談什麼樣的狀況之下,我認為 PhD 是一個合理的選擇。

狀況一:我想要當教授/研究員

的確 PhD 學歷是這類工作的必須條件,如果你真的很想當教授或研究員,那的確也別無選擇了。不過我還是會建議你回頭想想,那你為什麼想要當教授或研究員?如果你有一個很好的答案,那沒話說。然後記得考慮畢業之後實際上拿到 academic position offer 的可能性。基本上 CS 跟其他領域比起來有好一些就是了,因為對 CS PhD 畢業生來說業界拉力 ($$) 比較大 XD 。所以相對來說學界競爭是激烈但不至於到慘烈。

狀況二:不管怎樣我就是想要 PhD 這個 title

只要你有意識到自己的這種追求,並不是基於理性計算,那就衝吧。祝你好運。

狀況三:我的志趣在產業界無法實現 

如果你的志趣是屬於比較理論的部分,例如證明 P != NP,這樣的研究是很有價值的 (或至少讓人敬佩),但看不見短中期可實現的商業潛力。這樣的情況下,的確除了進入學界外也沒有其他的選擇。

狀況四:練自己想練的功

這應該是屬於 PhD 最理想的狀況。你很清楚自己大概要作什麼領域,找得到很合得來的 advisor。你等於是讓別人花錢 (指 RA-ship or fellowship. 雖然是中低收入戶的水平),練你自己想練的功。說起來很簡單,但實際上能夠進入這種境界的大概不到 20%。你有好的理由確信自己會是那 20%,就衝吧。

狀況五:一些現實考量

台灣產業界與美國產業界的差距是懸殊的 (美國比較好,好很多,如果你不清楚的話)。作為台灣人的我們,如果想要往美國發展,一般來說最順的方式就是在美國留學,一來比較容易得到面試機會,二來簽證方面也才能用 OPT 轉 H1 等等方式留下來。然而,在美國念書的費用連美國人都覺得高,更何況是收入水準遠低於美國的台灣,光靠自己,沒工作個五年以上大概籌不到出國的經費。沒有爸可靠,該怎麼出國呢?有一定水平學校的理工 PhD 通常都有 RA-ship。通常這指的是學費全免,再加上一個勉強可以活下去的生活津貼,基本上就是一個很實際的選擇。話雖這麼說,我不是特別推薦基於這種現實考量來念 PhD,畢竟要念個五、六年,沒有更純粹的動機,不容易撐得下去。就算撐得下去,也不容易作得好。

如果是以來美就業為考量的話,不如好好練功。美國軟體人才的缺口很大,從台灣直接面試,美國 on board,或是台灣外商 relocation,也已經是時有所聞的 case 了。

結論

所以我們談過了,怎樣狀況下不適合,而怎樣狀況下又適合。那你說,上面講的這些東西,我好像有點符合又不是很符合,該怎麼辦?那就不要念。為什麼?因為 PhD 在時間上金錢上都是一個很大的 commitment,所以 false positive (其實不適合念 PhD 卻念了) 成本極高。因此,在不確定的狀況下,應該是要 err on the side of caution。

最後,你可能會問,既然 PhD 這麼多缺點,你在那邊混了那麼久是在混什麼?首先,我覺得 PhD 並不完全都是缺點,我在這中間也學到很多東西,長了許多見識。我只是覺得他被 overvalue,並且也有太多其實不該進 PhD program 的人進去了。所以,寫這篇的用意也就在於重新平衡一下觀點,提供我個人的經驗讓後人可以參考,也許他們就可以少走了很多歧路也不一定。

 

喜歡這篇文章嗎? 分享出去給作者一點鼓勵吧!