從小就嚮往成為「工程師」的 Jay,其實最早想要擔任的是電子電機相關的工程師:從很小的時候,在逛街時看到電鈴、對講機的組合包,或是焊接工具組,就會很想買回來嘗試組裝。這麼充滿實作精神的靈魂,被關進高中自然組的教室裡,只能望著黑板上的物理化學、歷史物理頻頻發呆。

對學術性質強烈的課程缺乏興趣,不意外地,他的大學聯考之路自然不是一條康莊大道。應屆落榜後,他思忖自己和「考上好學校」這目標仍稍有距離,於是毅然決定先去當兵。退伍後,他明確感覺到自己已經比同齡的學生來得慢了一步,於是在選擇升學途徑時,審慎地檢視了自己的興趣與職涯發展同步適配的可能。

原本以為自己適合電子、資工類科的他,事先在大學各校系的網站上查過課程表,發現「電子學」幾乎是必修課程,而他在高中物理課已經領教過電子學的威力,擔心自己無法通過這門課程的考驗,於是轉而研究了其他科系。當時,喜歡玩線上遊戲的他,很想要擁有自行開發「按鍵精靈」(一種外掛程式,能夠重複送出指定的按鍵組合)的能力,當他發現資訊管理系的課程表能讓他接觸網路、遊戲方面的程式開發,他就此決定轉進資訊管理系的懷抱。

Post-It Note Schedule

(Photo credit: Jenny Poople)

 

從資管系學生邁進網站工程師之路

即使將範圍限縮至資訊管理系的學生,符合科系發展方向的「工程師」仍充滿各種可能:系統工程師、網站工程師、軟體工程師、……問起 Jay 為何決定成為網站工程師?是面試工作時剛好得到相關的 offer,還是學生時代就審慎布局的成果?

Jay 表示,他在大學二年級時修了一門 ASP 網頁應用程師開發,撰寫簡易的購物車、自動發信程式等作業,讓他充滿成就感,尤其是當時垃圾信件防堵不如現在嚴謹,他偽造發信來源、以其他人的名義寄出惡作劇的郵件,成功捉弄他的好朋友,讓他覺得網頁應用程式好有趣。隨後,他利用 104 人力銀行,確認這個領域有大量工作機會,於是就此決定未來發展方向。

因為網站應用程式方面的課程修得不錯,他也慢慢獲得一些校內工讀的機會,撰寫計數器、訊息發佈模組等小型程式,這過程讓他益發確定自己會往此方向發展。畢業後,他立刻打開人力銀行網站的履歷表,積極媒合網站工程師相關工作,順利的在半個月內以新鮮人身份取得 offer,進入一間中型的系統整合公司。

My Desk

(Photo credit: Adam Barney

 

校園與企業實務間的結合與背離

有許多人認為大學校園與企業需求方向不同,Jay 認為,若細究課程設計,則永遠無法完全符合工作內容,比方說在學校只開了 PHP 課程,可是在工作上可能用到的是 ASP.NET 或 JSP。

雖然沒有在學校學過所有工作上需要的語言與工具,但是透過學校的課程,仍能成功培養基本的程式設計思維,例如,他的大學老師曾嚴格要求學生撰寫程式時,須符合指定的撰碼風格 (coding style),他認為在實務開發上,若開發工具 (IDE) 沒有自動排版的功能,團隊之間擁有一致的撰碼風格,的確是提升程式碼易讀性的良策。

若以畢業多年後的眼光重新檢視自己大學時的選課方向,Jay 覺得自己還是會完全按照當時的選課策略規劃自己的課表。除了必修課的會計學、經濟學等課程在後來對他沒有明顯助益,其他選修課都為他打下了良好的基礎,至今仍覺受用。他建議大學生可以隨時注意人力銀行上的職缺描述,檢視自己的學習方向是否該調整、畢業後有沒有工作可以應徵,可有效避免畢業當下與社會之間格格不入的脫節感。

The mind of a web developer

(Photo credit: Timothy Wood)

 

喜歡自由的人 & 自由的工作環境

工作了五年多,Jay 在剛開始的第一年左右就感到慢慢上手,第二年漸漸獲得成就感,如今已經能在工作中如魚得水。由於公司規模與性質,讓他與同事往往必須一人同時身兼系統分析師 (SA)、程式開發人員 (PG)、專案經理 (PM)、測試人員 (QA)、客服 (CSR),能同時接觸到這許多面向,換個角度想,也是分工精確的大公司無法取得的體驗。

在開發過程中,Jay 所在的公司會指派一位資深員工,透過版本控制系統 Subversion 的差異比對功能,確認新進工程師的新增的程式碼,撰寫風格是否與他人一致、邏輯是否合理,平均會花三個月左右的時間與新進員工磨合。透過師徒制的引導與訓練,可以有效地讓工作方式較趨一致,減少彼此代理他人業務時的困頓感。工程師的工作最有趣的地方在於:雖然大家使用相同的撰寫風格與編排格式,但面對一樣的題目,只要寫出來的程式碼不過於冷癖、造成其他人接手困難,或嚴重影響效能,每個人都可以自由發揮自己喜愛的解題技巧。

他建議學生可以在校園時期就接觸版本控制系統,除了方便檢視新添入的程式碼為何,產出更新檔也很容易(Subversion 可以直接匯出兩個版本之間的差異檔);編寫文件時,也能輕鬆管理文件版本。

程式開發相關的工作場域往往是自由、不受拘束的,工程師們可以自在地戴上耳機,讓自己喜歡的音樂陪伴自己工作,上班時間往往也略有彈性,不喜歡被嚴格管理的 Jay 相當喜歡這樣的工作環境。

相較於其他六年級、七年級生的躁動,面對未來,個性穩定的 Jay 沒有逸興遄飛的夢想:程式設計的變化多端讓他能不輕易對工作生厭,現階段的薪資成長幅度也追得上生活必須。從側面觀察 Jay 的職涯發展,也許就是因為從學生時代就認清自己的興趣與能力,持續朝特定的目標前進,所以讓他能輕鬆適應變化頻仍的資訊業。

Engineer 2.0 - the Networked Engineer

(Photo credit: Stylianos Mystakidis


Jay 的上班計畫

  • 大學:資訊管理系
  • 畢業後任職公司:系統整合公司(員工人數約 100~200 人,資本額約一億)
  • 職涯規劃技巧:從人力銀行網站上觀察目前市場釋出的職缺與技能需求,以瞭解自己應補足的技能,不盲目學習。
arrow
arrow

    小草 發表在 痞客邦 留言(0) 人氣()