那么我們來回顧1980年代的嵌入式領(lǐng)域感受一下前輩們是怎么搞嵌入式開發(fā)的,當時的嵌入式工程師主要是設計混合信號電路、連接微控制器、撰寫低階編碼、從外面拿回產(chǎn)品原型…只要一個嵌入式工程師就能做好
以上所有事情。但是現(xiàn)在呢?嵌入式系統(tǒng)變得更大、更復雜,一臺設備可能有數(shù)百萬行軟件程序代碼;嵌入式技術(shù)也被區(qū)分為硬件開發(fā)、固件開發(fā)與軟件開發(fā)。
在很多大公司仍然是如此,但趨勢似乎又有回頭的跡象;有越來越多業(yè)者開始整合工程師的角色,尋找既熟悉軟件也熟悉硬件技術(shù)的工程師,以求事半功倍之效。調(diào)查顯示,現(xiàn)在有越來越多工程師的工作同時牽涉硬件與軟件技術(shù)。
小編講了那么多相信大家也有的膩了,接下來小編就給各位未來的嵌入式工程師寫一下搞嵌入式開發(fā)的十個建議:
有越來越多工程師需要軟硬件技術(shù)能力兼?zhèn)?/span>
嵌入式技術(shù)日進千里,工程師要如何確保自己學習到的新技術(shù)是關(guān)鍵的?為此EETimes美國版請教了九位嵌入式領(lǐng)域?qū)<遗c一位負責招募人才的主管,請他們分享究竟現(xiàn)在的嵌入式工程師需要掌握哪些重要技能;
雖然他們的意見稍有不同,但都同意一個觀點:所有的工程師都不應該停止學習。
以下是整理專家意見,歸納出的十個給嵌入式工程師的建議:
1. 學習那些讓因特網(wǎng)實現(xiàn)的技術(shù)
具備30年嵌入式工程師經(jīng)驗的獨立產(chǎn)品設計與顧問公司Aurium Technologies 總經(jīng)理Ken Wada 認為,多數(shù)嵌入式領(lǐng)域工程師都知道如何撰寫C或C++語言程序,但有時候這樣的技能是不夠的;他建議嵌入式工程師學習因特網(wǎng)有關(guān)的技術(shù),對職業(yè)生涯發(fā)展會有加分效果,例如他目前負責的幾個開發(fā)案,都是在嵌入式系統(tǒng)中嵌入虛擬(virtual)的XML,好讓一些小型連網(wǎng)設備能具備“即插即用”的運作模 式。
2. 學習利用搜索引擎
當了35年工程師、自認是“看得懂系統(tǒng)架構(gòu)的軟件 人”的PTR Group首席科學家Michael Anderson認為,不要閉門造車,要善用開放源碼世界的信息,很多常見的設計問題其實透過因特網(wǎng)就能找到同領(lǐng)域菁英貢獻的程序代碼;嵌入式工程師們要走出自己的小世界擁抱社群,與同領(lǐng)域的其他工程師們相互交流、互相幫助,而這也是開放源碼世界的精神。
3. 離開舒適圈!
雖然只當了18年工程師、但自認是系統(tǒng)與軟件技術(shù)“通才”的DSP與嵌入式軟件開發(fā)顧問公司Jetperch創(chuàng)辦人Matt Liberty建議,不斷更新并提升原本擅長的技術(shù)雖然很重要,但嵌入式工程師若能擴展自己的知識領(lǐng)域會更有益。走出舒適圈,挑戰(zhàn)自我、去學習原本不熟悉的東西,包括工程以外的知識,例如與客戶、同事之間的互動,將會收獲良多。
4. 熟悉實時操作系統(tǒng)(RTOS)
在工程人才招募機構(gòu)Randstad Technologies負責嵌入式產(chǎn)業(yè)領(lǐng)域的解決方案經(jīng)理Henry Wintz表示,目前產(chǎn)業(yè)界對于熟悉RTOS的工程師需求很高,也愿意提供更高的薪資水平;因此他鼓勵沒有接觸過RTOS的嵌入式工程師從一些較小型的系統(tǒng)著手,累積相關(guān)技術(shù)經(jīng)驗。此外他也發(fā)現(xiàn)產(chǎn)業(yè)界對嵌入式Linux人才有不少需求,主要是因為這種操作系統(tǒng)具備較大的設計彈性。
5. 培養(yǎng)多元化技能與系統(tǒng)觀
擔任近20年工程師、具備許多不同領(lǐng)域技術(shù)經(jīng)驗的技術(shù)顧問公司Rebelbot顧問Jen Costillo建議,原本從事較小型系統(tǒng)架構(gòu)(例如MCU)開發(fā)的工程師,可以開始去熟悉更大的系統(tǒng)(例如Linux驅(qū)動程序),反之亦然。嘗試著去開發(fā)手機應用程序、或者是學習后端服務器的相關(guān)技術(shù),能讓你開啟完全不同的觀點;他并建議工程師去熟悉開放性硬件,現(xiàn)在市面上有不少現(xiàn)成的開發(fā)板,能讓工程師專注于學習獨特算法的開發(fā)。
6. 了解軟件也要了解的處理器
有超過15年嵌入式軟件工程師經(jīng)驗的Embedded.fm 工程師Elecia White表示,除了要深入了解C或C++等基本程序語言,有時也要認識一些熱門的新程序語言以因應特殊設計需求,但更重要的是了解的處理器技術(shù);處理器才是嵌入式系統(tǒng)的本質(zhì)。因為我們的系統(tǒng)資源有限,我們需要了解可用的資源有哪些。
7. 要能熟悉開放源碼軟件
擁有31年工程師經(jīng)驗的Freescale Semiconductor 數(shù)字網(wǎng)絡全球軟件開發(fā)部門總監(jiān)Rob Oshana 表示,客戶往往會要求在系統(tǒng)中整合一大堆軟件,因此所有的嵌入式工程師需要熟悉各種軟件;他建議工程師避免只專長單一領(lǐng)域,因為那可能會阻礙你的成長。對 嵌入式工程師來說,確保自己對軟硬件技術(shù)都很了解,是非常寶貴的價值。
8. 建立系統(tǒng)級的工程思維
自詡為高信賴度嵌入式系統(tǒng)專家、擔任了15年工程師的E2V電子系統(tǒng)總工程師Adam Taylor認為,嵌入式工程師擁有系統(tǒng)導向的思維是很重要的,有不少開發(fā)案遇到問題,就是因為沒有在開發(fā)初期充分考慮基準、驗證策略以及兼容性驗證計劃 等項目;此外每個嵌入式工程師都應該具備優(yōu)良的項目管理技巧,力求準時完成負責的項目。具備能明智因應技術(shù)與項目風險的能力,對職業(yè)生涯發(fā)展會很有幫助。
9. 要能明確表達自己的想法與意見透過文字或繪圖)
Micrum 總裁Jean LaBrosse認為,無論是哪一種工程師,都需要能有效表達自己的想法與意見;往往有些菜鳥工程師無法清晰表達自己的想法,因為抓不到重點,而的解決方法是練習將之圖形化,例如畫出流程圖。這聽起來好像有點過時,但有時利用各種圖框組合來整理自己的思緒、表達想法會是很有用的,例如iPad的 iThoughts應用程序。
10. 學習無線連結(jié)技術(shù)
自認是低階嵌入式工程師、有13年工作經(jīng)驗的iRobot首席軟件工程師Chris Svec建議,嵌入式工程師需要在接下來1~3年學習無線連結(jié)技術(shù),特別是Wi-Fi與藍牙低功耗(BLE);因為現(xiàn)在的嵌入式設備(至少各種消費性電子都是)與使用者智能手機連結(jié)的主要(或)方式,就是透過這些無線技術(shù),雖然Wi-Fi與BLE不一定會是嵌入式系統(tǒng)的標準配備,但熟悉這些技術(shù)對嵌入式工程師來說會很實用。