嵌入式系統(tǒng)行業(yè)在不斷發(fā)展。嵌入式設(shè)備已經(jīng)從運(yùn)行在8位微控制器上的資源受限的單片設(shè)計(jì)發(fā)展到今天運(yùn)行在32位多核處理器設(shè)備上的基于微服務(wù)的架構(gòu)。
在一個(gè)發(fā)展如此迅速的行業(yè)中,你能做些什么來(lái)獲得長(zhǎng)期、繁榮的職業(yè)生涯?今天將探討構(gòu)建嵌入式系統(tǒng)職業(yè)生涯所需的技能。
技能1:掌握嵌入式軟件開(kāi)發(fā)生命周期
無(wú)論行業(yè)走向何方,如果你了解并掌握了嵌入式軟件開(kāi)發(fā)生命周期,你就能在職業(yè)生涯中走得更遠(yuǎn)。開(kāi)發(fā)生命周期描述了如何指定、開(kāi)發(fā)和部署系統(tǒng)。雖然本質(zhì)細(xì)節(jié)因方法而異,但它們可以非常簡(jiǎn)單地總結(jié)為:
l 需求征集
l 架構(gòu)和設(shè)計(jì)
l 實(shí)施
l 測(cè)試和模擬
l 部署和維護(hù)
生命周期是顯而易見(jiàn)的,但是很少有團(tuán)隊(duì)能夠掌握它并把它做好!如果你花時(shí)間深入研究生命周期和每個(gè)階段所需的流程,你會(huì)發(fā)現(xiàn)你擁有在幾乎任何公司工作的技能。
團(tuán)隊(duì)遇到的一個(gè)重大挑戰(zhàn),無(wú)論他們使用瀑布還是敏捷,都是管理這些階段之間的過(guò)渡。專(zhuān)注于理解這些領(lǐng)域,你會(huì)發(fā)現(xiàn)無(wú)論發(fā)生什么變化,你都會(huì)擁有一套很受歡迎的技能。
技能2:系統(tǒng)級(jí)設(shè)計(jì)和架構(gòu)技能
幾種現(xiàn)代方法論表明軟件架構(gòu)正在出現(xiàn)。這意味著不需要在設(shè)計(jì)你的軟件或編寫(xiě)你的代碼上花費(fèi)太多的努力。
軟件架構(gòu)是團(tuán)隊(duì)用來(lái)指導(dǎo)他們開(kāi)發(fā)工作的路線(xiàn)圖。它概述了主要組件、輸入和輸出,以及它們?nèi)绾蜗嗷プ饔谩](méi)有地圖,隊(duì)伍就會(huì)迷路!他們漫無(wú)目的地轉(zhuǎn)著輪子,幾乎一事無(wú)成。做好的事情往往也要重做!
獲得軟件架構(gòu)設(shè)計(jì)的技能是確保你職業(yè)生涯長(zhǎng)期成功的一個(gè)好方法。學(xué)習(xí)如何構(gòu)建一個(gè)系統(tǒng),常見(jiàn)的設(shè)計(jì)模式和陷阱會(huì)有所幫助。
技能3:精通C/C++和Rust等編程語(yǔ)言
即使AI為我們開(kāi)發(fā)了更多的代碼,開(kāi)發(fā)人員也總是需要編程語(yǔ)言的基礎(chǔ)。對(duì)于嵌入式系統(tǒng),這意味著至少要理解C語(yǔ)言。
好消息是編程語(yǔ)言只是一種工具。除了C,還要學(xué)習(xí)Rust,使用C++。C++已經(jīng)在近25%的嵌入式系統(tǒng)中使用。盡管前景看好,但Rust迄今為止還沒(méi)有取得多少重大勝利。然而,這是一種有趣的語(yǔ)言,將在行業(yè)中發(fā)揮重要作用,尤其是在團(tuán)隊(duì)更加關(guān)注安全性和可靠性的時(shí)候。
技能4:調(diào)試和測(cè)試技術(shù)的知識(shí)
沒(méi)有一種將軟件和硬件融合在一起的方法可以一次成功。你可以接近它,但是今天的系統(tǒng)非常復(fù)雜,很容易忽略一個(gè)小細(xì)節(jié)。當(dāng)你忽略一個(gè)細(xì)節(jié)時(shí),你最終會(huì)在你的系統(tǒng)中發(fā)現(xiàn)一個(gè)缺陷(bug ),你需要找到并糾正它。
雖然你應(yīng)該努力最小化缺陷的機(jī)會(huì),但是你也需要有識(shí)別那些已經(jīng)通過(guò)的缺陷的技能。對(duì)于嵌入式系統(tǒng),你可以掌握許多技術(shù),幫助你快速發(fā)現(xiàn)bug。例如,你可以考慮:
l 目標(biāo)調(diào)試
l 人工智能輔助調(diào)試
l 應(yīng)用程序跟蹤
這些只是可以幫助你快速解決系統(tǒng)缺陷的一些可能的技巧。
上述許多技術(shù)都是反應(yīng)性的。你能做的最好的事情是采取主動(dòng)的方法來(lái)防止錯(cuò)誤。可以用來(lái)主動(dòng)避免缺陷的一些方法是采用如下過(guò)程:
l 測(cè)試驅(qū)動(dòng)開(kāi)發(fā)
l DevOps和CI/CD管道
l 結(jié)對(duì)編程
技能5:不斷練習(xí)、實(shí)驗(yàn)和完善你的技能
無(wú)論你的職業(yè)道路如何,你都需要對(duì)學(xué)習(xí)有一種不屈不撓的熱情。很少有技術(shù)導(dǎo)向的行業(yè)是一成不變的。建議你設(shè)計(jì)和試驗(yàn)新的技術(shù)和技巧來(lái)跟上時(shí)代。
結(jié)論
在嵌入式系統(tǒng)領(lǐng)域建立成功的職業(yè)生涯需要技術(shù)敏銳度和積極的職業(yè)發(fā)展方法的結(jié)合。通過(guò)掌握這五項(xiàng)技能,你不僅能駕馭當(dāng)前技術(shù)的復(fù)雜性,還能適應(yīng)該領(lǐng)域未來(lái)的創(chuàng)新。抱著終身學(xué)習(xí)的心態(tài),你將會(huì)在這個(gè)令人興奮和不斷發(fā)展的行業(yè)中不斷成長(zhǎng)和成功。