你可能知道軟體和硬體的差別,但你知道還有第三個「韌體」嗎?韌體是軟硬體之間的橋樑、產品開發中不可或缺的角色,是科技產業、半導體產業的核心之一。如果你是資工、電子科系的畢業生,或是想要轉職到這個領域,就讓本篇文章帶你一窺韌體工程師的工作內容、薪資水準、技能條件,完整認識這個行業。
本文目錄:
韌體是什麼?和軟體哪裡不同?
從字面上的含義,可以判斷韌體 (firmware) 是介於「軟體」和「硬體」之間的存在,不過韌體實際上的意義是什麼呢?可以簡單的將韌體理解為「銜接軟體和硬體的指令和資料」,負責軟體和硬體之間的溝通(或硬體之間);換句話說,韌體的關鍵是要「操控硬體」。這也是為什麼許多韌體工程師都在半導體的中上游企業工作。
韌體與軟體的關鍵差異:是否接觸硬體
相較於硬體的面板設計、電路設計,韌體本質上較接近軟體,因為同樣都較少接觸到實體物件,專注在程式語言的設計;兩者最大的差異在於作用的對象:軟體開發可以直接面對使用者、完全不接觸硬體,所以軟體工程師可以不需具備硬體知識;韌體開發則講求與硬體的互動,所以韌體工程師在寫程式之餘,還需要有一定程度的硬體技能,才會有順暢的開發。
不過,隨著科技的演進,韌體和軟體的界線也變得模糊;許多公司在開職缺時會以「軟韌體工程師」為訴求,希望招募的人才多少具備韌體能力。
➤ 延伸閱讀:
- 【職業開箱】轉職必看!從零帶你認識軟體工程師:前端、後端、全端、AI、區塊鏈...|軟體工程師工作內容、薪水待遇、需求技術&能力
- 【職業開箱】台灣半導體榮光的幕後功臣?硬體研發工程師的工作內容、薪資水準、必備技能
軟硬通吃的韌體工程師|常見工作內容
因為韌體工程師需要銜接軟硬體的特性,工作內容會依據職務、公司產品的不同而有所調整,並沒有一套硬性的規定。不過就常見定義,從底層的驅動程式、作業系統,到高階的系統整合程式、裝置的控制程式與配套應用程式,都屬於韌體工程師的工作內容。
FW 韌體工程師的常見工作項目(依程序排列)
韌體工程師 (FW engineer) 的工作範疇除了撰寫程式語言以外,由於職位的特殊性,也時常需要和硬體、軟體工程師、PM 協作,讓他們有了多元的工作樣貌:
-
與產品經理 (PM) 討論規格,並執行韌體產品的開發流程
-
撰寫與設計韌體程式
-
與軟體工程師協作,執行底層的驅動程式與整合程式設計,以利軟體整合
-
與硬體工程師協作,驗證開發及相關軟韌體設計、規格等
-
協助檢測韌體產品、除錯,進行軟體測試
-
規劃、執行與維護量產的產品
韌體工程師起薪、平均薪水與漲幅
根據 Yourator 站上職缺的資訊統計,初階韌體工程師的起薪為至少月薪 40,000 元,資歷較深的工程師則可以上看 6~7 萬。
且根據人力銀行的薪資統計,大學畢業的韌體工程師,工作經驗 1 年以下者均薪約為 45,400 元,3 年後成長為 52,900 元;而具備碩士學歷的韌體工程師,工作經驗 1 年以下者均薪為 47,000 元,年資為 3 年以上的韌體工程師平均薪資則為 59,000 元,有更為顯著的漲幅;不過有趣的是,將時間拉到 7 年以上,大學畢業者均薪達到 68,300 元,碩士畢業者則是 71,900 元,反而是前者漲幅更為明顯。
成為韌體工程師的學歷科系、必備工作技能、軟實力
要成為韌體工程師,要滿足哪些條件才會有應徵上的優勢呢?一定要有相關的科系背景嗎?碩士學歷有明顯幫助嗎?要學哪些程式語言呢?本章節會來做詳細的介紹:
韌體工程師的科系要求;碩士不是必須
一般來說,韌體工程師的新鮮人求職者主要是來自資工、資管、電機、電子等科系的畢業生;因為在學期間已經學習過相關的知識及技能,所以在求職上會有相對的優勢,出社會後也更有機會順利銜接。
原則上,科技公司在徵才時不會限制要有碩士學歷,不過碩士畢業生普遍起薪會比大學畢業生多 1 萬左右,所以也有許多大學生會選擇直接繼續就讀研究所;這方面都端看你想要先出社會累積經驗,還是留在學校累積未來的籌碼。
當然,產業中也充滿著轉職成功的案例,所以新鮮人也不用糾結在自身的科系背景;如果對於韌體領域感興趣的話,網路上有許多的資源可以幫助你做轉職的準備,探索更多元的職涯面貌。
韌體工程師的必備技能:C 語言、軟硬體知識
因為韌體的目的是要操控硬體,所以韌體工程師需要精通 C、C++ 等硬體向、嵌入是系統開發的程式語言;還需要對硬體結構、軟體運作有一定程度的認識,才能確保對韌體有準確的設計。
程式語言只是成為工程師的基本能力,要成為一名好的韌體工程師還需要會系統分析、資料結構分析,以及軟體系統整合、系統測試/偵錯/修正、演算法等能力,並將這些技能完整融合、靈活地在不同工作階段運用。
除此之外,在工程師的技能多元化、跨領域的趨勢下,能夠軟、韌、硬都有涉獵的工程師會有非常大的求職優勢,相較於將韌體技能鑽研到極致;這不代表企業要一位工程師包辦全部工作,而是因為這樣的工程師有助於團隊間的溝通,達到潤滑的作用。
➤ 延伸閱讀:工程師面試、徵才篩選標準攻略!技術主管最在意哪些重點?
韌體工程師的軟實力:團隊合作、學習熱忱
在將履歷寫滿程式語言技能之餘,也不能忽略「軟實力」的重要性。如上述一直提到的,韌體工程師需要不斷和軟體、硬體、PM 等公司其他角色溝通、協作,無法獨立完成任務;因此,跨部門的團隊合作的精神在韌體工作尤其重要。
韌體工程師需要不斷與其他工程師溝通,為產品偵錯、調整,也需要持續和 PM 溝通產品需求,因此有細膩的溝通技巧是每一位 FW 的必備技能,才能在不同需求之間斟酌出最正確的道路。
除了團隊合作之外,韌體工程師也需要有強大的學習熱忱。在資訊爆炸、科技進步的趨勢下,需要時時保持學習精神、跟上最新產業資訊,並時時鑽研每個能讓自己進步的機會,才能站在產業的浪尖上。