[補充:本文的後續以及我畢業後的情況請看: 為什麼要到 UC Irvine 念軟體工程 – 後記]

有聽過 HTTP 跟 RESTful API 嗎?你知道 HTTP 協定的主要設計者及 REST 架構的發明人是哪裡畢業的博士嗎?UC Irvine

有聽過 DNS 嗎?你知道 DNS 的共同發明人是哪裡畢業的博士嗎?UC Irvine

你知道 Kobe Bryant 曾經被目擊到在那間學校的體育館自主練習?你知道全美唯一校內附設網咖的大學是哪一家? UC Irvine

你知道 Blizzard, Broadcom, WD 這些公司的總部,以及 BenQ 跟 Toshiba 的北美總部在哪裡嗎?Irvine (好啦 BenQ 其實在隔壁的 Costa Mesa)

你知道哪個城市連續 11 年蟬聯全美最安全城市?哪個城市總是在全美最宜居城市最適合養小孩城市最佳戶外活動城市榜上有名?當然還是 Irvine

所以來 UCI 還需要什麼理由嗎 :)

好啦,正題開始,這篇文章是給打算出國唸書的人,為什麼要到 UCI 念 CS/CE/HCI,尤其是作軟體工程研究的理由。當然如果你已經錄取了大家都叫得出名字的傳統名校,我不認為這篇文章能夠說服你 (或是當初的我自己) 來 UCI,但如果你的落點在這附近,或你申請時沒有考慮過 UCI,這篇文章可以提供一些資訊。由於我是 Informatics Dept. 下的 Software Engineering program 博士生, 我會對自己的 program 著墨最多,也會提及其他 CS 相關領域的情況。

硬指標:研究發表

博士生的主要工作就是做研究及發 paper, 在 CS 領域, 發 top conference paper 又比 journal paper 重要 (或至少一樣重要)。當然許多大師說過 Paper is cheap, 我們應該專注在改變世界、影響人類生活的 idea. 我完全贊同,但是我們不是大師,身為學術圈浮游生物的我們,還是只能功利點多發幾篇 paper, 才能畢業跟找到工作,因此選擇一個 productive 的環境就很重要。如果你已經確定有興趣的研究領域,我推薦要選校的人直接看 csrankings.org 的排名跟教授名單。大學排名百百種,csrankings.org 的特色就是它是依照完全的硬指標:在頂級會議的發表篇數,比如說 AI 各領域的頂級會議: ICML, CVPR, AAAI 等,發表多的學校就排名前面,完全跟其他因素如學校名聲,師生比,校園規模無關。在這邊你會看到 UCI 的 overall ranking in the US 是 23,應該比其他機構排出來的名次還前面一些;更令人驚訝的是,在軟體工程領域,UCI 是全美第 2!代表這邊的教授非常積極在軟工的頂級會議 (ICSE/FSE) 發 paper,相對地對你畢業也會較有幫助,這是一般的綜合排名看不到的資訊;另外,UCI Informatics Dept. 除了一小群軟體工程的教授之外,我感覺整個系都在做人機互動/人機介面的研究,所以你會看到 UCI 在 HCI 領域的發表也高居全美第 4。除了 SE 與 HCI,我們 ICS school 在其他 CS 相關領域例如 Machine learning 或 Bioinformatics 的研究也都是有名氣的。不管你對哪個 CS 相關領域有興趣,選校時都可以參考這個網站。

Software Engineering program/faculty at UCI

UCI 的軟體工程 program,不管是在台灣或美國都相對少見,能夠把軟體工程獨立成一個 program, 代表這裡不管是相關課程的廣度,或 faculty 的數量及研究深度都超過其他學校。舉例來說,軟體工程在台灣大多就是一堂大學部的選修課,當然有少數學校像是中央軟工所可能會有比較多課程,但 UCI SE program 的 curriculum 可是洋洋灑灑將近 30 堂課(當然有許多是與 CS 合開),很多課都是我在台灣的資工系沒看過的。再者,這邊軟工研究群的五個教授, 就有兩個是 ICSE 2018 Technical paper 的 program committee,加上前一段提過的頂級會議發表量,都證明了這邊 faculty 的研究影響力,如果你需要發 paper,來這邊抱大腿是個好選擇,常言道:站在浪頭上,豬也能飛上天。

找 intern 及就業情況

出國唸書的人以碩士生為大宗,因為我是博士生,並沒有第一個暑假就要急著找 intern 的壓力,加上我又是系邊 (i.e., 系上邊緣人),對於碩士生找 intern 及就業情況了解得不多,但還是能夠提供一些我周遭朋友的個案:

SE program 的博士生方面,我們 lab 今年要畢業的博士生去過兩次 Google intern, 已拿到 return offer; 明年要畢業的博士生去過 Intel intern;J 教授今年畢業的學生去過 MS intern, 畢業後要回 MS, 另一個博士生這個暑假去 Google intern; R 教授的博士生今年去了 Uber intern; L 教授的學生今年去了一間 startup 做 intern,他太太也是 UCI CS 的碩士畢業生,在學時有做過 intern,現在在 startup 工作;其他 CS 博士生方面,一個做 embedded system 的朋友連續兩年暑假在 startup intern,也拿到了 return offer,另一個做 deep learning 的朋友也在 MS, 百度做過 intern. 碩士生方面,一個韓國朋友今年在 Amazon intern,一個台灣朋友在 Sandisk intern,以上的個案至少有一半以上是拿學生簽證,沒有身份的。當然,我已經說過我是系邊,所以找到 intern/工作的人數絕對比我知道的多得多,但是我也認為找工作是個人造化,就算我提供再多個案,跟你/我能不能找到工作也不會有太多關聯,因為找 CS 相關工作的 SOP 都已經很制式化了(刷題/修履歷/找內推/海投),也跟你是否有身份,業界景氣,還有運氣有很大的關係,但至少 UCI 的學位是有能見度的,我們的 career fair 規模頗大,Google, Facebook 也都有來辦 info session.

結語

軟體工程不是個熱門的研究領域,如果你也對軟體工程研究有興趣,希望這篇文章能提供你多一個選擇;如果你是要出國念 CS/CE/HCI,UCI 不管是在生活機能、研究環境或就業機會,都不會讓你失望。