我自己的照片

我從沒想過自己會唸碩士,甚至會唸到三年,連學校名字都從交大變成陽明交大,回想起這三年碩士經歷可以說是又酸又甜。這三年對我來說是充實且珍貴的,我在交大的期間不管是課程學習、助教教學、國外交換、課外活動或是學術研究都學習到很多且過得很開心。

交換學生

碩三上學期我跑去義大利交換,我認為交換徹底影響我的價值觀,出去看過世界之後才知道自己的渺小和視野的狹隘。

關於我在義大利的經歷可以去看這幾篇文章:

我不是散文家,我無法把遊歷的經歷寫的像其他作家這麼傳神動人,但有更多的是我無法用文字傳遞的感動和體會,可以的話我覺得每個人至少都出去國外待一陣子看看。總之碩三的第三年上半都在國外度過,但在國外期間除了旅遊之外,還是有花一些時間去做研究和寫論文。

碩士研究

去了米蘭之後,其實我還是固定跟老師討論,因為時差關係,配合老師的時間,我通常跟老師討論不是一大早就是深夜,早上就是台灣的下午,深夜就是台灣的下午,但好在現代網路很發達,加上搞資工的有電腦哪裡都能做事。在歐洲做研究期間,我覺得好玩的地方是,我在歐洲用 AWS 弄了一個實驗環境,原本以為可以用歐洲的實驗結果來投論文,結果後來發現實驗數據有問題,就放棄這個念頭,最後論文的數據還是回台灣做的。有意思的是,米蘭有一個 AWS 的節點,所以基本上可以把米蘭 AWS 當作 edge server,但是在台灣因為最近的 AWS 也是在香港,香港的 AWS 頂多當作一般的 cloud server 來使用。有時候我在想,台灣 IT 產業那麼發達,一個 AWS 節點也沒有也是挺奇怪的。在國外期間我也把論文大致寫完,老師也有幫我改,我覺得在國外跟老師互動特別有意思,很有就是跨國合作的感覺,雖然其實我們都是台灣人。

三月剛從歐洲回台灣時真的無比焦慮,畢業充滿著各種不確定因素,包含論文關鍵的效能問題那時候還沒解決,然後學校畢業要考一個程式檢定,此外我必須用最快速度找到日本的工作,加上那時候回台灣必須被關在旅館 16 天,我覺得是我這一年來最黑暗的時光。

原本在米蘭以為研究很順,連論文都寫好了,想說可以回台灣直接弄個畢業就好,結果後來老師做最後檢查時發現實驗有個致命的錯誤,心情瞬間跌入谷底,連正打算要投稿的論文都必須延期。發現錯誤時是一月底,台灣開始放年假,而我也打算趁最後一個月好好玩,就決定先放著回台灣再繼續弄。研究一直搞不定讓我很焦慮,我急著想畢業不希望被這個問題一直卡住。雖然後來大概花了兩個多禮拜就解決了(被關在旅館可能真的有幫助吧),事後回來看這個時間其實算蠻短的,但其實當時充滿著不確定性,我並不知道要如何解決這個問題也不知道會花多久時間。我遇到一個效能問題是我的研究的關鍵,問題原因不明,背後的原因從我出國算起已經找了半年,之前在米蘭以為找到答案了,後來論文投稿前老師幫忙檢查數據的時候才發現先前找到的答案其實是錯的,所以又得重頭開始找,這個找答案的過程有點像大海撈針,能導致效能問題的原因有太多種可能性,唯一能做的就是不斷的提出假設、驗證、排除。所幸最後還是找到了,而且是在隔離結束前就找出來,背後的原因跟共享記憶體有關係,以前也有猜過跟共享記憶體有關,但實際上在我的研究中,共享記憶體只有在記憶體特定大小情況下才會有特別多的開銷,這是之前在測試的時候沒想過的現象,所以好一段時間都沒有測出是共享記憶體導致效能有異狀。不過經歷了這段過程,我其實覺得這個研究上的瓶頸反而成為整個碩士研究過程中的亮點,比起一路順順的完成研究,中間遇到挫折並瞭解怎樣可以解決才是我真正收穫最大的部分。

程式檢定

交大資工畢業還需要考一個程式檢定,程式檢定內容跟資訊競賽會出的考題很像,就是會給一個題目,然後要處理 inpute/output,然後解決問題會需要使用資料結構演算法,更直白地說他就是在檢查學生畢業前有沒有刷題過了。老實說,我認為這個考試真的很沒意義,考這個考試只是說明我們偉大大學(陽明交大)就是個學店,看看世界一流大學哪些畢業規定要考程式檢定的?至少我確定台大沒有,我相信東大、北大、MIT、CMU 應該也沒有。總之三月的時候也抽了一些時間練習刷題,反正剛好也要找工作,配合著 Leetcode 一起刷練練手感。如果程式檢定沒考過,我就有很大機率不能準時畢業,因為這個檢定考試一個月才一兩次,一次考過的壓力也是挺大的。考試當天我一開始連基本題都卡住,當下差點想要放棄,後來穩住心情認真檢查後總算把基本分都拿到,最後該次考試成績是一百多人排名第八,大概只有不到 1/5 的考生有通過考試吧,以通過率來說,學校確實有好好幫關學生是否有認真刷題🙃。出國前裸考兩次都失敗,考了第三次總算考過了,通過當下也是輕鬆不少,代表我離畢業不遠了。

碩士畢業口試

考過程式檢定,等於解決唯一一個有變數的事情之後,剩下的時間基本上就是不斷修改論文,然後準備口試,以及找工作。論文跟口試完全沒壓力,因為基本上當老師同意你口試的當下,你就通過口試了(?)一般口試都是老師會幫學生找好口試委員,通常就是比較熟的教授或學者,而我就喜歡特立獨行,我跟游逸平老師說我有想找的口委,徵求老師同意後我就寫信去邀請。我分別找了台大資工的洪士灝老師,他是我大學時做專題的指導老師,我特別想要讓他看看我的成長,以及找了學校新進的葉宗泰老師,之前上他的 AI 硬體設計覺得很喜歡,也很想讓他看看我的研究是什麼,剩下兩個口試委員分別是跟我們實驗室友好的楊武教授還有我自己的指導教授。雖然我簡報準備了很久,後來口試當天似乎還是沒有報告好,教授們感覺有不少地方沒搞清楚。令我難過的是,我發現口試委員真的都沒有翻我的碩士論文,老師們都很忙,所以口試都是直接聽學生報告,但我真的很希望老師們可以認真看我的論文給回饋。還有一點難過的是,我本來是希望洪士灝老師給一些肯定,但口試當天他只提出了研究的缺點和缺乏實用性,聽到當下真的很沮喪。我本來覺得我的研究挺完整的,應該高於碩士水準的預期,但老師們嚴苛的標準讓我重新檢討了一下,還有很多該改進的地方。

畢業

我聽說有些大學或科系,口試完還要花一個月修改論文,但在交大資工,口試完基本上就等於畢業了,通常這樣的原因是,學生找到工作了,老師讓他趕快閃人,但我的狀況則是我老早就把論文寫得很完整了,在口試之前還順便投稿了一篇會議論文。我以我在口試通過之後一個禮拜,就把畢業流程跑完,正式從學校畢業,畢業起初還有些不真實感,直到後來用悠遊卡刷公車,看到扣的錢變成普通票,不由地感慨我真的已經不再是學生了。

畢業之後就是專心找工作啦,我從三月中開始找,從一開始伴隨著畢業壓力,到後來拿到第一個 Offer 終於心安不少,詳細的過程之後會再寫成文章,截至目前為止,已經收到幾個 Offer,雖然我還在考慮最終選那個,但至少我確定能去日本工作了。

致謝

我特別喜歡且感謝游逸平老師的指導,與老師的相處十分輕鬆自在就像朋友一般。三年過程自己探索喜歡的研究題目,然後不斷跟老師討論,持續的做研究和修正,甚至我在米蘭的期間老師也持續與我連線討論研究進度和修改論文,最終才能產出這一份完整的研究。

謝謝洪士灝老師、楊武老師以及葉宗泰老師願意擔任我的口試委員,給我的研究提供多元建議,並在最後肯定我的研究結果。老師們對我的研究以嚴格的標準審查,雖然讓我有些挫折感,但也警惕自己仍有進步的空間。

感謝 CloudMosa 公司,謝謝沈修平執行長願意大方借 Puffin 的伺服器給我的研究使用,謝謝工程師 TJ 和工程師 Patrick 在工作之餘還抽空協助我部屬研究程式到伺服器上,因為 CloudMosa 的支持,讓我的碩士研究得以更加完整。

感謝家人、女友與朋友的支持、陪伴與幫助。謝謝爸爸媽媽一路上都尊重我做的各種選擇,讓我永遠都有動力不顧一切地去往前衝。謝謝悦悦在我做研究最低潮的時候陪伴我,讓我在同時有畢業和找工作壓力情況下,得到心靈上的慰藉。也謝謝朋友們在研究過程中互相打氣和討論。謝謝永昱永遠給我肺腑之言,讓我知道自己的不足與改進空間。謝謝弘昇不管在研究或課業上都提供許多有用的建議,並時常督促彼此。實驗室的大家都很友善,特別感謝奕安推薦一篇論文給我看,給了我這份研究最初的靈感,也謝謝意喬、博聖、冠程、益揚、宇勝提供各種意見回饋,跟實驗室的大家共事很開心。

校園內外我還受到更多人的幫助,我很感謝一路上幫助的所有人。我很開心能完成碩士學業,並希望將來能用所學來貢獻社會。

結語

碩士對我來說意義特別重要,並不是因為這個學位本身特別不一樣,而是我在讀這個學位過程去做的事深深影響我。常常會有人煩惱需不需要念碩士,我覺得答案是如果你能把這學位念的有意義就可以念。有意義包含像是,轉換跑道需要文憑或是補足基本知識,對某個領域有興趣甚至想要走學術,完成大學時期來不及做的事情(例如交換學生)。如果只是想說拿個碩士學位薪水可以高一點,或是單純不知道要幹嗎,為了讀而讀,那碩士學位基本上沒任何意義,畢竟現在碩士學位也不值錢了。我看到很多學弟妹選擇直升研究所,也不是真的想學到什麼東西,就是想多混個學位,這樣真的挺沒意義的,以資工系來說,FAANG 之類的公司也沒規定要碩士才能去申請,有碩士學位也不一定有用,資工還是講究實力的,大學學位足已。

本系列<交大觀察與心得>終究迎來最後一章,希望這個系列可以給想知道碩士生活是怎樣,或是想知道交大資工在幹嗎的學生一些啟發,讀者有任何問題都可以聯絡我請教。接下來,我的故事終於進展到出社會篇了!