光電系外務最多的人——北科大
本篇是「我的職涯地圖:一個工程師的 20 年回顧」系列的第 2 / 12 篇。你可以從系列總覽開始閱讀,也可以直接接著看本文。
2004 年,我考進了國立臺北科技大學光電工程系。
光電系。不是資工系、不是資管系。你大概會想問:一個在高職拿了一堆程式競賽獎的人,為什麼去讀光電?老實說,那個年代的升學制度就是這樣——分數到了,學校到了,就去了。但命運有時候比你自己更懂你要走的路,四年後回頭看,光電系給了我意想不到的養分。
大一光電系外務最多的人
如果要選一個形容詞來描述我的大學生活,那就是「外務最多」。
大一剛開學沒多久,我就開始請假——這次不是去比賽,是去參加國手選拔。雖然最後沒有選上,但這件事讓全班知道了一件事:這個光電系的新生,骨子裡是個寫程式的。
請完假回來,我就開始接外包案子。
那個年代(2004-2008)正是台灣中小企業瘋狂建網站的時期。每一家公司都覺得自己需要一個「官網」,但大部分公司不知道怎麼做,也請不起正規的網頁設計公司。像我這種高職就會寫網站的人,正好填補了這個市場缺口。
我接的案子類型很雜:企業形象官網、活動宣傳頁面、小型購物車系統、學校和社團的網站。技術棧從高職的 ASP 3.0 逐漸轉向 PHP + MySQL——那時候 PHP 4/5 搭配 MySQL 是中小型網站的標準配備,託管在便宜的虛擬主機上,一個案子從談需求、設計、切版、寫後端到上線,全部一個人搞定。前端用的是手寫 HTML + CSS + JavaScript(那時候 jQuery 還沒出來),後端自己徒手寫 PHP 連資料庫。
一個案子幾千到一兩萬塊不等,不多,但對一個大學生來說是重要的收入來源。更重要的是,每一個案子都是一次完整的「從零到交付」的訓練。你要學會聽懂客戶模糊的需求(「我要一個好看的網站」),然後翻譯成技術規格,在有限的時間內交出成品。這個能力,後來在每一份工作中都反覆用到。
同時我也在打工,做各種能做的工作。
為什麼這麼拼?因為我沒有選擇。
沒有退路的日子
這段我很少跟人提起。家裡的經濟狀況在我大學的時候非常不好。父親因為酒駕惹了很多麻煩,賠了很多錢,家裡的經濟壓力全部落在剩下的人身上。我不只要自己養自己,還要想辦法補貼家用。
所以當其他同學在社團、在聯誼的時候,我在接案、在打工。不是說我不想要那樣的大學生活,而是我負擔不起。
但人在困境裡有一個好處:你會逼自己把有限的時間用到極致。別人可以花一整天搞懂一個觀念,我只有晚上的幾個小時,所以我學會了快速抓重點。別人可以慢慢選職涯方向,我需要立刻有收入,所以我很早就確認了「寫程式」就是我吃飯的工具。
現在回想,那幾年的辛苦,反而讓我比同齡人更早知道自己要什麼。
C 語言全班最高分
雖然外務很多,但我在課業上該顧的還是有顧到——至少在跟程式有關的科目上。
必修的 C 語言,我拿了全班最高分。對我來說這不意外,畢竟高職三年打下的基礎,讓我學 C 語言的時候有一種「啊,原來是這樣」的感覺。
但 C 語言的價值遠不只是一個考試分數。它讓我第一次真正理解電腦底層在做什麼:指標就是記憶體位址的操作,陣列就是一段連續的記憶體空間,函式呼叫就是 stack frame 的推疊。這些觀念在高職寫 ASP 和 VB 的時候完全不會碰到——高階語言把這些都藏起來了。但學了 C 之後,再回去看任何程式語言,你都會有一種「我知道它底下在做什麼」的透視感。這是後來我能快速上手各種新語言和框架的根基。
更重要的是,我開始選修資工系的課程。其中一門「網際網路技術與應用」,要用 ASP.NET 建置網站——這是微軟的新一代 Web 框架,比高職用的 Classic ASP 先進很多,引入了物件導向和元件化的概念。我的成績拿得很亮眼。教授大概也很好奇,為什麼光電系會跑來一個這麼會寫網站的學生。
我也主動接下了系所官網和軍訓室網頁的開發與維護工作。這不只是幫忙,也是累積實戰經驗。在那個年代,能有一個實際上線的網站作品,比任何課堂報告都有說服力。
在困境中找到自己的路
北科大的四年,表面上看我讀的是光電、做的是程式,好像走了一條很彎的路。但回頭看,正是因為讀了一個「不對口」的科系,我反而更確認了自己要走的方向。
光電系教會我的不是光學原理(這些我早就還給教授了),而是一種「在不完美的處境中找到最佳路徑」的能力。你不一定能選擇你的起點,但你可以決定你往哪裡走。
那些在困境中接案、打工、念書的日子,鍛鍊出了我後來在職場上最被看重的特質:自驅力、效率、和解決問題的速度。當你習慣了在資源不足的情況下把事情做好,到了有資源的環境,你只會做得更好。
2008 年畢業的時候,我手上有全班最高的 C 語言成績、幾個實際上線的網站作品、和好幾年的接案經驗。最重要的是,我很清楚接下來要做什麼。
不是光電工程師,是軟體工程師。
這條路,我要走下去。