非本科讀資工所心得(下) | 職涯規劃

Roy Luo
Nov 5, 2021

--

以色列特拉維夫大學, 2019/07

這篇是繼前文,綜合我的跨領域學習經驗,加上工作一段時間後的想法。內容以職涯觀點為主,適合已經了解自己畢業條件的人參考。

有關我的背景和實驗室的部分都在上一篇

如果不曉得從何開始,先安排學習順序吧

研究所日常中,同時在進行的有碩士課程、大學補修、實驗室計畫、論文研究,甚至擔心畢業後能力不足以和本科生競爭,所以最頭痛的就是不知道該先讀什麼再自學什麼。

為了要在兩三年內達成這麼多事,我後來大致將這些目標歸類為:課程、實驗室職涯需求。這麼分的好處是釐清事情的優先順位,也能找出哪些項目在學習過程有重疊。舉例來說,我的系所要求跨考生補程式設計,那麼最基礎的事情就適合放在一開始,若能夠嘗試overlap其他目標更好,像是:

  • 考量到未來會用類C語言上課和做實驗模擬,可以同時多花心思熟悉IDE和不停加強debug能力
  • 若用額外時間把期末專案寫的更深,或許有放入作品的潛力
  • 習慣上網自己解決問題,參觀Stack Overflow之類的論壇

反之,假如我認定補修「作業系統」這門課不影響當前學習順序的話,那麼可以先做當前更重要的其他事情,比如說指導教授開的課。把其餘目標都列出來也能幫助判斷時間順序,以我的個案來說明確的方向有:

雖然我的規畫不能代表大多數的人,而且真正執行的時候還是會面臨很多困難(尤其meeting的進度往往難以預料),但釐清學習順序確實為我節省了不少時間。

不要怕畫大餅,為自己的職涯鋪路

在規劃上述的時間安排前,先了解自己的職涯方向會更有幫助。或許初學者一開始就思考職涯需求看似太遠大,像是還沒學會走路就想學飛,但實際上越早有就業方向是有利無害的,因為我們可以在每一次做選擇的時候慢慢往目標靠近。即使還沒想好職位和產業,也能先掌握主流的技能。

其實本科生也會遇到一些問題。我聽過比較常見的情況可能是研究領域和工作沒有接軌,畢竟學術和現實仍然有一段落差(像是現在很多實驗室流行研究AI、機器學習,然而真實世界並沒有這麼多該領域職缺)。大部分學生為了避免資訊不對等,通常會直接去請教在職的學長姐,或是參與社群平台討論。

不過我覺得最簡單的方法,就是直接上網查詢有興趣的公司職缺看Job description,這樣可以很直觀地感受到自己履歷缺乏什麼條件,最重要的是這樣的小事不需要等到畢業才開始思考,而是任何時間都可以做。我在入學的時候就曾經搜尋過大量和軟體有關的職位,當時心想:

天阿這麼多技術關鍵字列在上面,我要多久才學得完去面試!

除了信心受到打擊之外,轉念一想,至少我獲取到了基本的訊息,讓我有了初步學習方向。以我現在手邊查到的職位 — Amazon軟體工程師為例:

BASIC QUALIFICATIONS

  • 1+ years writing production quality code in C/C++/Go/Python or comparable programming language
  • 1+ years developing production software for networking/internet technologies on consumer or enterprise products
  • 1+ years of experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems, embedded system preferred

看過幾間公司就能了解,大多數工作都需要主流程式語言加上物件導向的能力。而這裡則多要求開發與網路有關的軟體實力,懂設計模式,嵌入式系統更佳。假設你想把這樣的職位當成職涯,就能了解到在落後大學四年的進度中,要先補救什麼。

PREFERRED QUALIFICATIONS

  • Deep hands-on technical expertise especially with Linux, distributed systems, and internet technologies like DNS, IPv6, DHCP, firewalls, etc.
  • Experience with the Github and Yocto build system
  • Experience with Bluetooth LE, ZigBee, and Thread

這裡條件非必要,通常是提高競爭力的加分技能,如果碩論還研究過就再好不過了。但還是要留意有些關鍵字在不同職位出現頻率很高,就代表它很普及應該要會。像是這裡的Linux,Github,Thread…等等。

至於軟體工程師面試必備的LeetCode刷題練習,我倒認為重點在資料結構、演算法的基本功,而不是多早開始準備。換句話說,考試進來的學生如果曾經充分準備過考科,甚至等到壓力最大的碩論結束後再花1–3個月練習都不遲。

好的實習經驗能適當加分,但不是必須

相比於其他系所,資工系學生相對沒有那麼重視實習,因為平時有更多大大小小的「產出」可以證明自己的能力,我也遇過很多同學會自架網站或是修改open source,難度早已大過實習的等級。

然而對於方向不明確、資歷單薄的人來說,實習無疑是一個很好的管道。我自己正是透過在竹科的實習,嘗試了沒學過的嵌入式系統和自動化測試,這段經驗後來也成為面試中很加分的條件(我也因此延畢)。

不過我覺得台灣實習的風氣並不盛行,一方面是大學專題生和研究生都太過忙碌,其次是很少公司有完整的實習配套專案,導致很多實習生最後在做工讀生的工作。即使有很好的公司開缺,競爭的程度往往也高過正職。

無論如何,如果有心想得到實習經驗的話,我會建議:

  • 提早準備,任何基礎的課程、成績單和小作品都有幫助
  • 了解投遞履歷的時間,打聽歷屆實習生都在做什麼
  • 事先和指導教授溝通,至少拿出論文進度或對實驗室貢獻之類的誠意

即使最後得到面試機會但未被選上,也能當作是一次準備履歷和模擬面試練習。

跨領域學生求職很弱勢嗎

很多人會討論大學學歷所帶來的負面影響。這沒有絕對的答案,但能確定的是即使不看大學背景,通常跨領域的學生畢業後程度還是和別人有落差。

要彌補這方面的不足沒有什麼訣竅,就是付出多一些讓你的亮點蓋過這個缺點。幾乎每個人都會被問到碩論的內容,連自己的論文都沒有解釋好的話,就更容易使人先入為主認定是背景不足。

剩下要準備的就是履歷其餘80%的內容,所以盡可能充實可以表現的地方。要是除了論文之外能表現的地方太少,那麼話題僅能圍繞在學校成績單。這麼一來反而更不利,還要費口舌解釋更多提問。絕大多數人在被問到為什麼某科成績這麼低的時候,一般都是越描越黑…

最後,理工科學生或多或少還是需要一些軟技能包裝自己:從案例證明自己學習能力快;擁有解決方法的能力;以前的背景能帶來什麼優點等等。簡報能力、英文也都是加分條件。

結論

其實大部分跨領域者來讀資工所都是為了有更好的工作敲門磚,最少也能拿到學歷證明自己。但研究所不是職業訓練場所,跨考也不是正規的訓練途徑,所以還是要找到適合自己的方法。

資工學生的優點是對交流技術這件事總是很熱心,反觀職場上大家都很忙,連請教問題都要顧慮很多,要多把握在學校和同儕互相抱大腿的日子!

--

--

Roy Luo
Roy Luo

Written by Roy Luo

DevOps / Software Developer

Responses (1)