嵌入式軟件工程師可以說現在是一個得到社會重視的行業,很多人都想要來了解,學習,那么對于嵌入式軟件工程師對于就業來說有哪些要求咧,我們先來從現在最大的互聯網大咖企業來看一下:那就是華為,華為是如今很多從事嵌入式系統開發工程師夢寐以求進入的互聯網企業,據我調查華為嵌入式軟件工程師因人才需求缺口的擴大,華為降低招聘門檻,他的崗位職責包括:
1. 負責產品需求分析,參與架構設計及優化;
2. 負責嵌入式操作系統模塊的設計、開發、調試以及功能驗證;
任職要求:
1、 本科及以上學歷,5年以上工作經驗,計算機、通信、電子、數學等相關專業;
2、 精通C/C++語言、數據結構,具有豐富的編碼、調試和性能優化經驗;
3、 熟悉嵌入式CPU/DSP架構,了解嵌入式操作系統原理;
4、 有基于Linux、VxWorks、FreeRTOS、ucOS等嵌入式操作系統開發經驗者優先
這只是小部分嵌入式軟件工程師的要求,更大的還在后頭。下面是總結整理的嵌入式軟件工程師要求,你可以從這幾方面來提高自己哦
基本職業技能
編碼能力:至少精通C/C++語言進行coding。就嵌入式行業而言,這兩種語言用得最多。如果掌握了它們,即便切換到其他語言,難度也不會太大。此外,還包括良好的編碼習慣和風格,具體內容可以參看最初幾期關于編碼規范的一些討論。關于這個能力,想說明的一點是,良好的編碼能力并不等同于指針,數據結構用得多溜,各類運算符優先級記得多牢,代碼寫得多精簡。可維護性,可移植性,可閱讀性,可靠健壯性才是更加需要關注的點。
熟悉軟件開發流程
軟件最經典的開發流程為V-Model,其他流程體系基本上都大同小異,脫離不了這個模子。這塊的能力要求為,要清楚不同階段要做什么,交付物是什么,做哪些評審和測試保證軟件質量。軟件流程帶來的兩個主要好處在于:1. 通過不同階段的設計開發評審驗證測試,保證代碼的質量; 2. 建立起閉環的路徑,追蹤需求在設計開發測試階段的覆蓋率,保存不會有遺漏。
分析問題解決問題能力:這個能力包含幾個層面。第一個層面是調試工具的使用熟練度,主要為進行代碼調試的時候,結合MCU的特性,如何熟練應用工具進行分析,例如watch/live watch, memory watch,break point設定技巧,插件的使用,查看寄存器找尋HardFault原因。第二層面是問題分析與解決方式方法。之前說過我創建了個QQ群,經常有群友會問各式各樣的問題,其中的很多提問者根本就沒自己分析過原因,或者根本就不知道怎么去分析。在還沒有形成條件反射般的分析能力前,在解決復雜問題時,推薦使用魚骨圖進行分析:先假設可能的原因,理清他們間的前后、因果關系,然后拆分為不同節點去各個擊破排除。
硬件基礎能力:嵌入式軟件開發的特殊性要求即便是軟件人員也需要具備基本的硬件能力,包括模電,數電,傳感器等。
英語:不要以英語不好排斥閱讀英文資料,除非猴年馬月的時候,中國技術發達到所有芯片都是自己制造,所有技術標準都是自己制定。另外,良好的英語口語和書面能力,能大大拓寬你的就業面。
對于企業招聘人才學習能力也是要有的
這個能力不僅僅是這一行所要求的,所有行業都要求。并且,對于嵌入式這一行而言,這個能力應該放在第一位。下個月你可能就需要開發不同方向的產品,明年你可能就需要用新的MCU,過幾年可能C語言就淘汰。。。如果學習能力弱,節奏跟不上技術的變遷,不久的將來就會被行業淘汰。類似的,學習能力也包含兩個方面。第一為學習方法和效率,這個小編學習能力也一般,給不出多好的建議。第二為學習的態度,這個體會就比較深了。作為一名軟件小團隊的team leader,常常需要分配任務給團隊成員。因為產品是全新的方向,所以很多東西需要現學現用。有些成員能很快進入狀態,短期內掌握新的知識并應用于新產品開發,有些成員學習進度緩慢,無從下手,需要人為干預才能往前。
嵌入式軟件工程師的這些要求都是以后面對找工作最必要的準備,所以好好了解這些才是最客觀的,不然你學出來,卻不能適應社會企業的需要,那么是很難去遇到你自己的伯樂的