做嵌入式也有幾年了,剛學(xué)習(xí)的時(shí)候書上說嵌入式的定義是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗等嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。
從個(gè)人整體發(fā)展來說,如果想創(chuàng)業(yè),做自已的產(chǎn)品,嵌入式軟件開發(fā)可以開發(fā)出專利產(chǎn)品。
另一個(gè)發(fā)展路徑是:積累豐富開發(fā)經(jīng)驗(yàn)的嵌入式軟件開發(fā)工程師可以向嵌入式系統(tǒng)開發(fā)工程師發(fā)展,從而晉升為產(chǎn)品研發(fā)經(jīng)理或IT項(xiàng)目經(jīng)理。對(duì)測(cè)試?yán)碚摵头椒ㄓ幸欢私獾那度胧杰浖_發(fā)工程師還可以轉(zhuǎn)作嵌入式系統(tǒng)測(cè)試工程師,最終也可發(fā)展為IT項(xiàng)目經(jīng)理。
嵌入式分為操作系統(tǒng)和硬件兩個(gè)方面,就業(yè)的方向更廣、更深,就業(yè)機(jī)會(huì)和入職待遇比普通軟件工程師好。
開發(fā)一些與硬件關(guān)系最密切的最底層軟件,如BootLoader、Board Support Package(像PC的BIOS一樣,往下驅(qū)動(dòng)硬件,往上支持操作系統(tǒng)),最初級(jí)的硬件驅(qū)動(dòng)程序等。
從事嵌入式操作系統(tǒng)和應(yīng)用軟件的開發(fā),嵌入式硬件設(shè)計(jì)完后,各種功能就全靠軟件來實(shí)現(xiàn)了,嵌入式設(shè)備的增值很大程度上取決于嵌入式軟件,這占了嵌入式系統(tǒng)的最主要工作。
目前有很多公司將硬件設(shè)計(jì)包給了專門的硬件公司,稍復(fù)雜的硬件都交給***或國(guó)外公司設(shè)計(jì),國(guó)內(nèi)的硬件設(shè)計(jì)力量很弱,很多嵌入式公司自己只負(fù)責(zé)開發(fā)軟件。
那么嵌入式開發(fā)是什么?
嵌入式的優(yōu)勢(shì)就在于你可以很快的拼湊/剪裁出自己的產(chǎn)品 甚至買個(gè)開發(fā)板設(shè)計(jì)幾個(gè)功能電路(也許是模擬或高頻) 然后直接搭一搭就成了產(chǎn)品的雛形。
然后經(jīng)過一系列復(fù)雜的的系統(tǒng)設(shè)、 定制 、優(yōu)化、 測(cè)試、 包裝、 加上公司的文化, 就成了產(chǎn)品。
我現(xiàn)在就不喜歡自己做出來的東西,感覺他們沒有靈魂,只是一堆電子元器件推起來的一個(gè)物件,里面跑著沒有味道的代碼。我承認(rèn),我設(shè)計(jì)的是一堆垃圾,我有罪,我浪費(fèi)了時(shí)間和資源卻做出來生硬的東西,真想把自己以前做出來的東西一個(gè)個(gè)全部砸掉!
我不知道經(jīng)驗(yàn)老道的嵌入式開發(fā)者是怎么看待自己開發(fā)出來的東西的。
我想的是,無論做什么 既然做了就應(yīng)該把它做好,設(shè)計(jì)出來的東西不應(yīng)該只是為了實(shí)現(xiàn)功能,滿足客戶需求,滿足公司需求那么簡(jiǎn)單,而應(yīng)該是一款自己喜愛的藝術(shù)品。這點(diǎn)似乎可以向蘋果學(xué)習(xí)下。
告訴自己,從以下方面要求自己
1,統(tǒng)一設(shè)計(jì)風(fēng)格,嚴(yán)格要求設(shè)計(jì)工藝。
2,系統(tǒng)性的設(shè)計(jì)
3,考慮功能性,穩(wěn)定性,可靠性,可擴(kuò)展性。
4,更專業(yè),更實(shí)用,更節(jié)能。
5,認(rèn)真走好研發(fā)流程的每一步。無論是一個(gè)接頭的選型還是網(wǎng)絡(luò)化的架構(gòu)。
以下是整理專家意見,歸納出的十個(gè)給嵌入式工程師的建議:
1、學(xué)習(xí)那些讓因特網(wǎng)實(shí)現(xiàn)的技術(shù)
具備30年嵌入式工程師經(jīng)驗(yàn)的獨(dú)立產(chǎn)品設(shè)計(jì)與顧問公司Aurium Technologies 總經(jīng)理Ken Wada 認(rèn)為,多數(shù)嵌入式領(lǐng)域工程師都知道如何撰寫C或C++語言程序,但有時(shí)候這樣的技能是不夠的;他建議嵌入式工程師學(xué)習(xí)因特網(wǎng)有關(guān)的技術(shù),對(duì)職業(yè)生涯發(fā)展會(huì)有加分效果,例如他目前負(fù)責(zé)的幾個(gè)開發(fā)案,都是在嵌入式系統(tǒng)中嵌入虛擬(virtual)的XML,好讓一些小型連網(wǎng)設(shè)備能具備“即插即用”的運(yùn)作模 式。
2. 學(xué)習(xí)利用搜索引擎
當(dāng)了35年工程師、自認(rèn)是“看得懂系統(tǒng)架構(gòu)的軟件 人”的PTR Group首席科學(xué)家Michael Anderson認(rèn)為,不要閉門造車,要善用開放源碼世界的信息,很多常見的設(shè)計(jì)問題其實(shí)透過因特網(wǎng)就能找到同領(lǐng)域菁英貢獻(xiàn)的程序代碼;嵌入式工程師們要走出自己的小世界擁抱社群,與同領(lǐng)域的其他工程師們相互交流、互相幫助,而這也是開放源碼世界的精神。
3. 離開舒適圈!
雖然只當(dāng)了18年工程師、但自認(rèn)是系統(tǒng)與軟件技術(shù)“通才”的DSP與嵌入式軟件開發(fā)顧問公司Jetperch創(chuàng)辦人Matt Liberty建議,不斷更新并提升原本擅長(zhǎng)的技術(shù)雖然很重要,但嵌入式工程師若能擴(kuò)展自己的知識(shí)領(lǐng)域會(huì)更有益。走出舒適圈,挑戰(zhàn)自我、去學(xué)習(xí)原本不熟悉的東西,包括工程以外的知識(shí),例如與客戶、同事之間的互動(dòng),將會(huì)收獲良多。
4. 熟悉實(shí)時(shí)操作系統(tǒng)(RTOS)
在工程人才招募機(jī)構(gòu)Randstad Technologies負(fù)責(zé)嵌入式產(chǎn)業(yè)領(lǐng)域的解決方案經(jīng)理Henry Wintz表示,目前產(chǎn)業(yè)界對(duì)于熟悉RTOS的工程師需求很高,也愿意提供更高的薪資水平;因此他鼓勵(lì)沒有接觸過RTOS的嵌入式工程師從一些較小型的系統(tǒng)著手,累積相關(guān)技術(shù)經(jīng)驗(yàn)。此外他也發(fā)現(xiàn)產(chǎn)業(yè)界對(duì)嵌入式Linux人才有不少需求,主要是因?yàn)檫@種操作系統(tǒng)具備較大的設(shè)計(jì)彈性。
5. 培養(yǎng)多元化技能與系統(tǒng)觀
擔(dān)任近20年工程師、具備許多不同領(lǐng)域技術(shù)經(jīng)驗(yàn)的技術(shù)顧問公司Rebelbot顧問Jen Costillo建議,原本從事較小型系統(tǒng)架構(gòu)(例如MCU)開發(fā)的工程師,可以開始去熟悉更大的系統(tǒng)(例如Linux驅(qū)動(dòng)程序),反之亦然。嘗試著去開發(fā)手機(jī)應(yīng)用程序、或者是學(xué)習(xí)后端服務(wù)器的相關(guān)技術(shù),能讓你開啟完全不同的觀點(diǎn);他并建議工程師去熟悉開放性硬件,現(xiàn)在市面上有不少現(xiàn)成的開發(fā)板,能讓工程 師專注于學(xué)習(xí)獨(dú)特算法的開發(fā)。
6. 了解軟件也要了解最新的處理器
有超過15 年嵌入式軟件工程師經(jīng)驗(yàn)的Embedded.fm 工程師Elecia White表示,除了要深入了解C或C++等基本程序語言,有時(shí)也要認(rèn)識(shí)一些熱門的新程序語言以因應(yīng)特殊設(shè)計(jì)需求,但更重要的是了解最新的處理器技術(shù);處理器才是嵌入式系統(tǒng)的本質(zhì)。因?yàn)槲覀兊南到y(tǒng)資源有限,我們需要了解可用的資源有哪些。
7. 要能熟悉開放源碼軟件
擁有31年工程師經(jīng)驗(yàn)的Freescale Semiconductor 數(shù)字網(wǎng)絡(luò)全球軟件開發(fā)部門總監(jiān)Rob Oshana 表示,客戶往往會(huì)要求在系統(tǒng)中整合一大堆軟件,因此所有的嵌入式工程師需要熟悉各種軟件;他建議工程師避免只專長(zhǎng)單一領(lǐng)域,因?yàn)槟强赡軙?huì)阻礙你的成長(zhǎng)。對(duì) 嵌入式工程師來說,確保自己對(duì)軟硬件技術(shù)都很了解,是非常寶貴的價(jià)值。
8. 建立系統(tǒng)級(jí)的工程思維
自詡為高信賴度嵌入式系統(tǒng)專家、擔(dān)任了15年工程師的E2V電子系統(tǒng)總工程師Adam Taylor認(rèn)為,嵌入式工程師擁有系統(tǒng)導(dǎo)向的思維是很重要的,有不少開發(fā)案遇到問題,就是因?yàn)闆]有在開發(fā)初期充分考慮基準(zhǔn)、驗(yàn)證策略以及兼容性驗(yàn)證計(jì)劃 等項(xiàng)目;此外每個(gè)嵌入式工程師都應(yīng)該具備優(yōu)良的項(xiàng)目管理技巧,力求準(zhǔn)時(shí)完成負(fù)責(zé)的項(xiàng)目。具備能明智因應(yīng)技術(shù)與項(xiàng)目風(fēng)險(xiǎn)的能力,對(duì)職業(yè)生涯發(fā)展會(huì)很有幫助。
9. 要能明確表達(dá)自己的想法與意見透過文字或繪圖
Micrum 總裁Jean LaBrosse認(rèn)為,無論是哪一種工程師,都需要能有效表達(dá)自己的想法與意見;往往有些菜鳥工程師無法清晰表達(dá)自己的想法,因?yàn)樽ゲ坏街攸c(diǎn),而最好的解決方法是練習(xí)將之圖形化,例如畫出流程圖。這聽起來好像有點(diǎn)過時(shí),但有時(shí)利用各種圖框組合來整理自己的思緒、表達(dá)想法會(huì)是很有用的,例如iPad的 iThoughts應(yīng)用程序。
10. 學(xué)習(xí)無線連結(jié)技術(shù)
自認(rèn)是低階嵌入式工程師、有13年工作經(jīng)驗(yàn)的iRobot資深首席軟件工程師Chris Svec建議,嵌入式工程師需要在接下來1~3年學(xué)習(xí)無線連結(jié)技術(shù),特別是Wi-Fi與藍(lán)牙低功耗(BLE);因?yàn)楝F(xiàn)在的嵌入式設(shè)備(至少各種消費(fèi)性電子都是)與使用者智能手機(jī)連結(jié)的主要(或唯一)方式,就是透過這些無線技術(shù),雖然Wi-Fi與BLE不一定會(huì)是嵌入式系統(tǒng)的標(biāo)準(zhǔn)配備,但熟悉這些技術(shù)對(duì)嵌入式工程師來說會(huì)很實(shí)用。
評(píng)論