打這篇的時候我已經研究所畢業而且工作半年多了。在疫情wfh期間我才赫然發現從畢業到現在這段時間實在過得太快,想趁記憶猶新的時候補紀錄一下這個對我來說很重要的碩士生涯。
我讀的其實是清大資應所,全名為資訊系統與應用研究所,我沒有打在標題是因為蠻多人可能沒有聽過,而且確實可以直接理解為資工所。資應和資工只差在入學管道不同,和我們學生比例有1/3是外籍生。
入學前背景
我大學是輔仁企管系,工作半年後決心離職開始全職準備考資管所。我最初並沒有考資工所是因為我壓根沒有想進科技業,就單純想成為一個在不同地方自由工作的軟體工程師。(會不會太天真)
當時放榜錄取了中央和中山資管,幸運地在開學前以最後一名備取上清大資應所才有機會去念。然而我們和資工所是上相同的課、進一樣的實驗室,同學很多是純血或是外校書卷獎的學生,以至於我一直覺得自己有冒名頂替症候群(Impostor syndrome),我試著盡最大努力追趕同儕,這種想法到碩二才逐漸消失。
當然我還是有優勢的,我的強項是邏輯和英文能力,這很大程度縮減了的後來論文閱讀和理解時間,以及上網自學等等,我也時常在分析問題的時候用企管思維看事情,幫助了我度過不少難關。
非本科背景所遇到的挑戰
研究生的日常包含修課,實驗室計畫和論文,非本科學生的壓力會再大一些,包含以下:
- 碩士課程就是進階版的大學課程,會假定學生已經擁有預備知識,當時我在入學時就和同學選了一門碩士資安課,結果一進去就發現我根本在越級打怪
- 實驗室如果有接計畫,通常會和國家單位或企業合作,這對於沒有開發經驗的人來說需要補足很多實作技巧
- 論文的產出需要經歷長時間的文獻探討,如果缺少理工背景很容易掉入盲區,導致做研究和meeting時遇到瓶頸
其實有這些問題並不意外,畢竟研究所本來就不是給跨考生進修的,我們能做的就是付出更多額外時間,遇到一個問題趕快補足一個技能,同時把凌亂的學習順序慢慢調整回來,順利度過前期的陣痛期就能融會貫通了。
另一個小問題是畢業後履歷強度還是不夠,雖然在這個大電資時代,有些公司只要校名科系正確就會收來栽培,光這點已經贏過許多自學轉職的人。但從履歷觀點來看,除了學歷和論文外,其他項目都沒有亮點仍然是個硬傷。
即便如此,資工考試的六科(或資管計概全部章節)已經很實用了,其實有些本科生到了碩班早就忘了這些內容的一大半。我觀察到清大的跨考生之所以能夠轉領域也是因為學習能力很快,動機比較強烈。
碩班期間我做了什麼
從職場再返回校園後,我就格外珍惜當學生的時間(這大概只有工作過的人才懂…),我會每學期固定到大學部和學弟妹上課,以增加作業和project經驗;每個月自主固定讀2–3篇論文,還有參加英文口語讀書會保持語感(現在工作都沒這麼認真)。
我原本的規劃是碩一跟隨實驗室進度+修課,並先將學校要求跨考生補修的科目上完,練好coding。如果論文進度能在掌控中,我希望能碩三延畢申請交換學生到海外實驗室看看。
比較有趣的是計畫永遠趕不上變化:先是進了不適合的實驗室,下學期再換指導教授;暑期參加了學校創業提案獲獎學金得到去以色列實習機會;碩二期間受疫情影響我放棄了到日本交換,轉而向教授討論希望能延畢一學期到竹科兼職實習。整體用時間線來看是這樣子:
- 碩一上:碩士課x2 / 文獻探討 / 程式語言+資料結構(皆學校規定)
- 碩一下:碩士課x2 / 文獻探討 / 演算法 + 作業系統(皆自主加簽)
- 暑期:赴以色列實習(software engineer)
- 碩二上:碩士課x1 / 中科院計畫 / 軟體實驗 + 計算機網路(皆自主加簽)
- 碩二下:碩士課x1 / 寫論文 / 竹科實習(embedded software engineer)
- 碩三上:寫論文+口試
這裡要補充一下,我從第二學期開始選的碩士課程都是偏簡單的,因為我認知到能力不足,應該把時間花在對我幫助更大的大學課程。但如果要更有效率地精進自己,網路課程平台(如:Udemy)其實有更貼近實作,和業界接軌的好課,也能省時間去準備期中期末考。我堅持到教室上課只是因為強迫自己不要怠惰,還有清大資工的作業很紮實,值得花時間投入。
回歸正題,要忙這些外務的前提一定要先把實驗室和論文放在優先順位,時間管理不好的話容易本末倒置。比如我碩一下期間除了原本碩士的課之外,加簽的兩門課都非常的硬,體驗了什麼叫做每天就有作業和考試deadline的生活(千萬不要輕易嘗試)。
實驗室歷程一:入學的所見所聞
我開學才開始找教授,大多數老師都沒有名額收學生了。即便如此我每天有空還是會去各個實驗室走走,了解班上同學和學長姐的狀況,得到了許多感想:
- 除了打聽畢業年限,先了解什麼樣的理由會造成延畢。如果因為自己進度delay而延畢數個月其實無傷大雅,但那種訂下高標準導致畢業遙遙無期的實驗室才要盡量避免
- 實驗室loading比重包含很多:meeting報告的頻率,計畫的難度,教授對論文的標準等等,這些直接影響整個碩士生涯難度
- 有些教授會強制學生進實驗室,有些教授則完全沒有規定。這兩者和上述的loading不一定有關,只是差在學生能不能彈性運用時間,好的實驗室氛圍應該才是該優先考量的
- 找教授前除了請教該實驗室學長姐外,也該詢問隔壁實驗室的看法。這點是我無意間發現的現象,因為有時候我問到的當事人當局者迷,反而旁邊實驗室的學生都看得一清二楚。或者就算不滿意自己的教授,也不好意思叫學弟快逃!
我最後從少數的選擇中找到一位合聘教授,這位老師很關心學生,對於論文要求度有點高但不至於做不到。然而我進去3個月後就發現一個問題,就是感覺我讀得越來越不像資工系(合聘教授畢竟是外系,教學內容會著重在其他領域),我認為沒有維持初衷這件事更嚴重,心中就開始萌生離開的念頭。
實驗室歷程二:換指導教授的轉捩點
清大資工/資應所對學生很好的地方在於,碩二以上的學生轉實驗室不會占用教授收學生的名額,這意味著只要你有本事讓新教授同意加收就能轉實驗室。當然,轉入是一回事,延畢恐怕是難免的。
當時正好是碩一寒假,很擔心如果走碩二轉實驗室這條路的話,之後就要重頭來過。我希望能利用時間做些努力,最後決定再次去找一位曾經面談過、個性很好的教授,表達未來碩二想轉實驗室的意願。這次的面談我準備了更多,包含事先讀了教授和上屆畢業學生的論文,詳細制定讀書計畫,承諾下學期會先每週來旁聽meeting,上老師開的課,以保證碩二的時候能夠無縫接軌。
當天老師並沒有直接接受或拒絕,而是認可我的想法後,說明了他的指導方式。沒想到過了兩個星期,老師表示他正在籌備的新計畫缺人手,如果幫助他完成並且把計畫主題寫成論文,願意馬上破例收我。當時聽到之後真的很感動,繞了一大圈終於有歸宿了!(直到現在還是很感謝教授)。
後來想想,找實驗室這件事,其實和求職很相似 — 你在選教授的過程,教授同時也在面試你。在應徵一個沒那麼有自信的職位時,一定要充分做足功課、展現積極態度、讓對方知道你可以為他帶來什麼好的影響,這些都會加深對方願意聘用的程度。
實驗室歷程三:從讀論文中成長
我前面提到沒有理工背景的人讀論文很容易遇到瓶頸,事實上我一開始正因為沒有體系地盲目閱讀而浪費時間。剛開始的我很多論文都看不懂,只讀看得看得懂的,這樣就會導致一個風險:同領域論文其實存在著優劣之分。有些引用數高的論文很優秀,反觀有些掠奪性期刊(predatory journals)卻沒有實質性的價值,如何篩選出適合的論文便是我的課題。
一般老師都希望學生掌握最新穎的(state-of-the-art)學界研究。在看這些論文之前有個隱藏前提,就是要先大量閱讀該領域基礎的文章。每篇論文的產出都是站在前人的肩膀上,精華往往早就存在早期的論文中。我看了一些新發表論文後才開始找出二、三十年前的早期文獻,再將其他論文依照時間先後規劃出閱讀的順序,這對於之後發想題目也有很大的幫助。
我後期找論文的另一個方法是列出幾位作者的清單。偶爾在讀到好的研究成果文章後,我會記下相關作者,並追蹤該作者的過往及之後的論文。學習優秀作者的研究方法以及嚴謹的實驗方式,當成自己做實驗的目標。
最後則是我自己喜歡用的meeting報告技巧,大多數教授傾向學生翻開論文逐段討論,但身為管院出身的我一定會搭配簡報說明。在準備簡報的過程其實有助於思考,像是每段內容的承先啟後,實驗的因果關係,而且也能拿不同論文做對比。更重要的是教授和同學可能也是第一次了解這篇論文,用大綱和架構會使他們對報告更有興趣。
小結
其實每個教授指導方式差別真的很大,這裡只列出比較常見問題加上我自己的特別經歷。關於我額外上課和實習所學到的東西會放在下一篇。希望能非本科背景的人當參考。