軟件開發(fā)人員有時(shí)會(huì)需要回顧他們的成功和失敗,并制定計(jì)劃以改善他們的整體開發(fā)過程。當(dāng)我停下來觀察嵌入式系統(tǒng)行業(yè)的變化時(shí),我認(rèn)為2021年及以后的每個(gè)開發(fā)人員都需要具備特定的技能。

技能1 –集成的自動(dòng)化測試
每個(gè)開發(fā)人員需要的 要技能是編寫自動(dòng)化測試的能力。傳統(tǒng)上,嵌入式開發(fā)人員并不是 善于利用測試驅(qū)動(dòng)的開發(fā)或持續(xù)集成(CI)技術(shù)。這種缺點(diǎn)使嵌入式軟件開發(fā)人員處于不利地位,迫使我們花費(fèi)更多的時(shí)間進(jìn)行手動(dòng)測試,或者更糟的是對(duì)我們的軟件進(jìn)行抽查。結(jié)果是,我們的手指交叉并默默祈禱,以至于事情不會(huì)再回到我們身邊,以此來推出產(chǎn)品。
自動(dòng)化的測試工具,線束和CI / CD平臺(tái)已經(jīng)發(fā)展到開發(fā)人員需要在開發(fā)過程中利用它們的程度。價(jià)值和結(jié)果可能是巨大的。例如, 近我不得不重新設(shè)計(jì) 個(gè)代碼模塊,在那里我可能撕毀了API內(nèi)部代碼的70%。后來我想起了手動(dòng)運(yùn)行測試以確保 切正常的恐懼,因?yàn)楹翢o疑問至少要花 天的時(shí)間進(jìn)行驗(yàn)證。但是,我已經(jīng)仔細(xì)開發(fā)并維護(hù)了該模塊的測試,包括在拆解期間。我的自動(dòng)化測試能夠在不到1秒的時(shí)間內(nèi)驗(yàn)證 切都很好?。ㄋ舶l(fā)現(xiàn)了我的 個(gè)小疏忽)。
技能2 –機(jī)器學(xué)習(xí)
圍繞機(jī)器學(xué)習(xí)(ML)和人工智能(AI)進(jìn)行了大量宣傳,尤其是對(duì)于嵌入式軟件解決方案。今年,我經(jīng)常覺得這是 種技術(shù)解決方案,可以解決問題。但是,事實(shí)是,在我們每個(gè)人還未意識(shí)到之前,機(jī)器學(xué)習(xí)將成為幾乎每個(gè)嵌入式系統(tǒng)中的核心組件。這些技術(shù)太強(qiáng)大了,并且發(fā)展速度很快,因此推斷可以在 小和 低能耗的設(shè)備上進(jìn)行。
機(jī)器學(xué)習(xí)可能不是今天可以應(yīng)用于讀者正在開發(fā)的產(chǎn)品的技術(shù),但這并不意味著應(yīng)該對(duì)它們視而不見。為機(jī)器學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)將比在繼續(xù)學(xué)習(xí)技術(shù)的同時(shí)等待和利用項(xiàng)目更有效。
技能3 –安全
如今,正在開發(fā)用于IoT的設(shè)備太多,以至于開發(fā)人員不必?fù)?dān)心安全性。保護(hù)嵌入式產(chǎn)品所需的技能組無疑是專門的,并且通常很難找到和訪問。沒有安全產(chǎn)品對(duì)公司的潛在負(fù)面影響可能是災(zāi)難性的。由于安全漏洞,沒有人愿意成為頭版新聞。此外,學(xué)習(xí)安全技能可以幫助開發(fā)人員對(duì)其雇主產(chǎn)生更大的價(jià)值
安全技能肯定是永遠(yuǎn)需要發(fā)展的東西。Arm的平臺(tái)安全體系結(jié)構(gòu)(PSA)概述了安全 佳實(shí)踐。此外, 些芯片提供商已經(jīng)開始自行構(gòu)建安全軟件開發(fā)工具包(SDK),以減輕開發(fā)人員和公司的安全負(fù)擔(dān)。了解這些功能并開發(fā)所需的技能在將來至關(guān)重要。
技能4 – RTOS應(yīng)用程序設(shè)計(jì)
設(shè)計(jì)和實(shí)施基于RTOS的應(yīng)用程序所需的技能是與我的內(nèi)心特別接近的 項(xiàng)技能。每年我都會(huì)舉辦多個(gè)RTOS研討會(huì),并在會(huì)議上圍繞RTOS應(yīng)用程序進(jìn)行演講,并且發(fā)現(xiàn)開發(fā)人員很難使用它們來設(shè)計(jì)和實(shí)現(xiàn)應(yīng)用程序??紤]到當(dāng)今應(yīng)用程序的復(fù)雜性,RTOS已成為許多系統(tǒng)中的核心組件。了解設(shè)計(jì)模式, 佳實(shí)踐和技術(shù)對(duì)于及時(shí)成功啟動(dòng)產(chǎn)品至關(guān)重要。
技能5 –調(diào)試
調(diào)試是開發(fā)人員并不陌生的 項(xiàng)技能。開發(fā)人員應(yīng)盡其所能避免在軟件中添加錯(cuò)誤。就是說,當(dāng)我與整個(gè)行業(yè)的開發(fā)人員交談時(shí),開發(fā)人員平均將40%的時(shí)間用于調(diào)試活動(dòng)并不少見。任何開發(fā)人員或團(tuán)隊(duì)都可以實(shí)現(xiàn)的 重要的生產(chǎn)力提高之 就是減少他們花費(fèi)在調(diào)試上的時(shí)間。即使提高10%,也意味著每個(gè)開發(fā)人員在 年中增加了 個(gè)額外的工作月?。ㄟ@可能需要5周的時(shí)間,但是我會(huì)花額外的 周作為假期來做得不錯(cuò)的工作)。
任何想要提高生產(chǎn)率或減少預(yù)算和縮短上市時(shí)間的人,都應(yīng)該從 開始就可以幫助防止錯(cuò)誤的活動(dòng)開始,然后著重于可以減少發(fā)現(xiàn)錯(cuò)誤所需時(shí)間的技術(shù)。這可能涉及多種技術(shù),包括跟蹤,集成的CI / CD管道,靜態(tài)分析和代碼度量監(jiān)視等等。
結(jié)論
嵌入式開發(fā)人員所需的技能在不斷變化和發(fā)展。開發(fā)人員只需要了解C編程語言和控制寄存器中的控制位的日子已經(jīng) 去不復(fù)返了。當(dāng)今的嵌入式軟件工程師需要能夠滲透到計(jì)算機(jī)科學(xué)各個(gè)前沿 域的技能。這看起來確實(shí)令人生畏,但這是使我們的工作充滿激情并不斷迫使我們學(xué)習(xí)的特征之 。今天,我們研究了 些我通常會(huì)認(rèn)為缺乏業(yè)務(wù)和開發(fā)人員技能的技能,這些技能對(duì)于未來的成功至關(guān)重要。



滬公網(wǎng)安備31012002005808



