Research

為什麼要到 UC Irvine 念軟體工程 – 後記

前言

2017 年我還是博二的時候,寫了一篇為什麼要到 UCI 念軟體工程 (Software Engineering, SE),裡面的資訊現在看來還是很值得參考(註)。這篇文章主要是想補充一些當年沒寫的資訊,順便更新一下系上近況。

註:不過關於博士候選人的學分及考核要求已經寬鬆許多,也取消了資格考筆試,詳情請自行查詢。

研究活躍度

我們系之前又新聘了兩位教授,現在 SE 的教授群共有七位,在頂級會議上的發表還是相當活躍,在 CSRankings 的排名也長年佔據全美前三,另有一位教授 2019 獲選為 IEEE Fellow。另外,我畢業時的發表足以讓我拿到國內頂大教職(但因為生涯規劃而婉拒 Offer),所以對 SE (或 CS/CE/HCI) 研究有興趣的人來說,UCI 是你不會想錯過的選項。

畢業後的出路

我想大多數人關心的應該還是唸完博士後的出路,以下是我在畢業前拿到的所有面試機會:

  • 學術研究:兩間業界 Research Lab 的研究員,及兩間國內頂大教職。
  • 軟體工程師 (SWE):Google, Facebook, Amazon 及其他大小公司總共十幾家。要特別說明的是我博士班期間完全沒有作過 SWE Intern,且大部分面試機會都是海投來的,只有一兩間是請人內推。

我的經驗是,UCI 的校名跟博士學位能夠讓你在市場上(不管是教職或業界)有能見度跟競爭力。但是最後的結果,大部分取決於運氣與大環境(例如景氣好壞、研究方向是不是業界需要的、或學校是否剛好需要這方面的師資),小部分取決於個人努力。我們能作的就是盡量把自己準備好。

在博士班學到最重要的事

專業上的成長先不提,我在博士班學到最重要的一件事情其實是:如果你聽不懂別人講的東西,通常是講者的錯。也就是說,如果你跟別人講一件事,他聽不懂,八成不是他笨,而是你講得不好。我在台灣的求學經驗常遇到一個情況是:老師在台上講了一個觀念我聽不懂,但是轉頭看看其他同學都一副聽懂了的樣子,也沒有人問問題,我通常會覺得「大概是我比較笨」。一樣的觀念套用到我自己是講者時就不妙了。學術訓練的過程(會議與期刊投稿、與審稿人的意見往來、上台發表等)糾正了我這個錯誤觀念,事實上,講者有義務讓有興趣的人都能聽懂,你才有可能達到你的目的。

在專業領域方面,UCI 的環境給了我機會跟挑戰,讓我體驗了「在研究領域內作為一個活躍的學者」是什麼感覺,包含在頂級會議發表,寫 NSF or fellowship proposal,跟其他學校的教授、學生合作等等。這些都要歸功於我的 advisor,我非常幸運可以從他身上學到作研究的態度跟方法。

最後,博士班的訓練也讓我下意識地審視自己看事情及看人的角度。比如你現在問我一件事情「好不好」,我會先反問:「好」的定義是什麼?好不好通常是因人(因時、因地)而異,先把假設與前提釐清之後,討論才有意義。在與人相處上,也能更包容與自己不同個性與做事態度的人。當然,這些事情你可能早就知道了,也不需要念博士才能學到,這只是這段學術訓練過程給我的深刻體會。

對我之前博士班相關舊文有興趣的,可以在這裡找到: