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