我從事軟體相關工作很多年了,最常被問到的問題是:「我想要做軟體相關工作,不知道軟體工程師跟資訊科技(IT)工程師的差別在哪裡?要怎麼知道自己適合哪一種?」我回顧自己多年的工作經驗,差不多有一半的時間是在軟體工程,另一半時間在製造業的 IT ,就用自己的觀點跟你分享幾個主要差異。我們先輸入關鍵字看一下大家對這兩個職務的普遍認知落在哪裡:
看是產品開發還是系統維運。 從前面的定義我們也知道,軟體工程師與 IT 工程師要面臨的挑戰不一樣,軟體工程師是以產品為導向的,目標是轉化客戶需求規格,像魔術師一樣把產品功能給「變」出來給客戶,工作型態一班都是一個專案接著一個專案,一個人身上同時背好幾個專案在趕也是常有的事(加班?!),除了要配合事業單位的業務需求開發不同類型的軟體,也會有出差支援客戶、現場安裝等工作,這些是軟硬整合的軟體工程師、系統廠的軟體工程師的主要工作內容。當然也有專門純做軟體的工程師,負責像是現在流行的前端、後端、全端之類的工作,會寫程式、開發 API,程式庫、中介軟體或者使用者介面控制等。
IT 工程師會著重在公司的各級資訊系統的維運層面,目標是努力保證公司的 IT 服務的 SLA 層級,為了確保各種資訊系統的通暢與軟硬體的穩定性,熟悉相同技能或系統的 IT 工程師就會聚再一起形成一個服務單位。比如說:MIS 的 IT 工程師負責辦公室 OA 系統、CIM 的負責生產線 MES/SFIS 系統,或者企業總部的 ERP/SCM/PLM系統的維運。
負責系統維運的 IT 工程師就會碰到公司的各種資訊系統,就像是業務會用的 BPM,財務管銷研就是 SAP/ERP/PLM,負責生產線的有 MES/SFIS 等… 這些資訊系統每一套都規模龐大與功能複雜,通常都會有專門的外包廠商,有些財力雄厚的大公司就可能會有成立專門的團隊負責客製化這些資訊系統來符合公司內部需求。 負責資訊系統的 IT 工程師要非常熟悉自己負責的系統的各種工作模組與資訊流,如此才能做好系統使用者服務與供應商的溝通橋樑。專門負責硬體基礎設施的 IT 工程師也叫做 Infra,是負責光纖或無限網路、電腦主機、伺服器、儲存空間、資訊安.. 等基礎設施,24x7 是常見的 IT 營運模式,所以平常 IT 工程師也會需要值班或晚上輪班。這點也值得考慮。
從學經歷要求來看是否有機會
那非本科是不是以後就沒機會了呢 必須說,現在要做軟體工程師或者 IT 工程師,從軟體工程、資訊管理、計算機相關畢業的學生真的更有優勢。特別是軟體工程會比其他的科系更吃香「很多」,因為在大公司的招募政策下,很多軟體開發相關工作都直接或間接的所屬科系給綁定了,這是一種趨勢啦,不能說是公司有偏見或是不相信個人能力,畢竟民間高手這麼多不是嗎?只是企業在找人的時候都是為了「快速」找到「適合」的人,不會堅持一定要找到「最好」的人,所以對公司而言,最保險的方式還是選擇量產的資訊工程會比較快。不過,也不是每間公司都會如此嚴格要求,可以考慮從比較缺人的公司,或新創的公司入手,或者有機會問 HR 會比較快。
通常 IT 工程師對學歷的要求比較沒這麼嚴謹,從負責資訊系統的 IT 工程師當作軟體生涯起點也是個很好的開始。以我自己為例,我自己也不是本科系畢業的,一開始就因為寫論文時對程式產生了興趣而入行,畢業後從製造業的系統 IT 工程師開始,不斷從工作中學習,開始累積了相關的作品與工作經驗,這些都成為我後來進入其他軟體相關工作領域的敲門磚。所以想進入軟體相關工作領域的你,只要不是一開始門檻就設定在頂尖的 FAANG,一切都是有可能的。