As it has become nearly impossible to find and hire embedded software engineers, there are two choices: scale back your plans or find ways to become more efficient with the assets already on your team.
雖然全球媒體為每個(gè)人都做好了經(jīng)濟(jì)衰退的準(zhǔn)備,但在嵌入式系統(tǒng)領(lǐng)域找到和雇用嵌入式軟件工程師幾乎是不可能的。我無(wú)法計(jì)算最近與我交談過(guò)的公司的數(shù)量,這些公司人手不足,正在尋找開(kāi)發(fā)人員卻找不到他們。當(dāng)您無(wú)法為某個(gè)項(xiàng)目找到足夠的人員時(shí),有兩種選擇:縮減您的計(jì)劃,或者想辦法提高團(tuán)隊(duì)現(xiàn)有資產(chǎn)的效率。這篇文章將探討嵌入式開(kāi)發(fā)人員如何提高效率的幾個(gè)技巧。
提示 #1 – 減少調(diào)試時(shí)間
嵌入式軟件開(kāi)發(fā)人員通常將 20% 到 40% 的時(shí)間用于調(diào)試。平均而言,每周會(huì)花費(fèi)一到兩天時(shí)間來(lái)嘗試解決代碼中的問(wèn)題。換句話說(shuō),就是每年 420 – 840 小時(shí)!如果您有 2-4 名開(kāi)發(fā)人員在一個(gè)團(tuán)隊(duì)中工作,那么減少調(diào)試所花費(fèi)的時(shí)間可以騰出大量可以重新分配的工時(shí)來(lái)完成更多工作。
無(wú)論開(kāi)發(fā)人員做得多么出色,所花費(fèi)的時(shí)間都不會(huì)歸零。我已經(jīng)專(zhuān)業(yè)編寫(xiě)嵌入式軟件 20 年了;我已經(jīng)從 80% 的調(diào)試時(shí)間減少到不到 5%。當(dāng)然,我們是人類(lèi),無(wú)論我們做得多么好,都永遠(yuǎn)不會(huì)完美,但我們當(dāng)然可以將時(shí)間減少到個(gè)位數(shù)的百分比。幫助您的團(tuán)隊(duì)減少調(diào)試時(shí)間的一些想法包括:
采用測(cè)試驅(qū)動(dòng)開(kāi)發(fā)技術(shù)
盡可能地偏離目標(biāo)
掌握調(diào)試策略
(更多細(xì)節(jié)可以在減少調(diào)試時(shí)間的 3 個(gè)技巧中找到)。
提示 #2 – 不要重新發(fā)明輪子
當(dāng)今嵌入式軟件開(kāi)發(fā)存在一個(gè)恥辱,即工具和軟件堆棧應(yīng)該是免費(fèi)和開(kāi)源的。我曾經(jīng)認(rèn)為問(wèn)題在于管理層不了解軟件,因此低估了獲得正確工具和購(gòu)買(mǎi)商業(yè)軟件堆棧的重要性。但不幸的是,我遇到過(guò)很多工程師認(rèn)為開(kāi)源和免費(fèi)是唯一的出路,花任何錢(qián)都不值得投資,無(wú)論損失還是最終成本。
高質(zhì)量的軟件需要時(shí)間和金錢(qián)才能正確編寫(xiě)。如果您需要軟件堆棧 A 并且公司 B 已經(jīng)編寫(xiě)了它,那么請(qǐng)購(gòu)買(mǎi)軟件堆棧以節(jié)省您的時(shí)間和金錢(qián)。在許多情況下,銷(xiāo)售軟件堆棧的公司甚至?xí)峁┡嘤?xùn)或 FAE 來(lái)幫助您的團(tuán)隊(duì)快速集成和配置軟件!如果您缺少開(kāi)發(fā)人員,請(qǐng)利用這些額外的資產(chǎn)快速推動(dòng)您實(shí)現(xiàn)最終目標(biāo)。不要讓您的團(tuán)隊(duì)為創(chuàng)建每個(gè)開(kāi)發(fā)人員及其姐妹都編寫(xiě)了一百次的軟件而興奮。
開(kāi)發(fā)人員獲得報(bào)酬以開(kāi)發(fā)滿(mǎn)足企業(yè)客戶(hù)需求并產(chǎn)生投資回報(bào)的產(chǎn)品。雖然開(kāi)發(fā)人員的成本是固定的,但開(kāi)發(fā)人員沒(méi)有無(wú)限的時(shí)間從頭開(kāi)始創(chuàng)建技術(shù),或者花費(fèi)數(shù)小時(shí)嘗試采用方形開(kāi)源軟件堆棧并將其集成到一個(gè)圓孔中。
提示 #3 – 優(yōu)先考慮產(chǎn)品功能
我聽(tīng)說(shuō)有很多時(shí)間浪費(fèi)在產(chǎn)品功能上,這些功能要么從未完成,要么最終被從產(chǎn)品中刪除。提高效率的一個(gè)關(guān)鍵,如果不是關(guān)鍵,那就是明確你的優(yōu)先事項(xiàng)。推出產(chǎn)品所需的核心產(chǎn)品功能是什么?如果這些功能還沒(méi)有實(shí)現(xiàn),那么開(kāi)發(fā)人員就沒(méi)有理由致力于結(jié)霜或頂部的櫻桃!
以我的經(jīng)驗(yàn),嵌入式系統(tǒng)永遠(yuǎn)不會(huì)完成。總是有另一個(gè)功能要添加,要進(jìn)行改進(jìn)等等。因此,在每個(gè)項(xiàng)目的開(kāi)始以及持續(xù)的整個(gè)過(guò)程中,團(tuán)隊(duì)都需要有一個(gè)優(yōu)先的功能列表,以產(chǎn)生一個(gè)最小可行的產(chǎn)品。要包括的一個(gè)重要功能是引導(dǎo)加載程序,以便可以在產(chǎn)品的整個(gè)生命周期內(nèi)繼續(xù)改進(jìn)固件并添加新功能(我敢說(shuō)刪除了嗎?)。
提示 #4 – 投資于培訓(xùn)和教育
如果您的資產(chǎn)數(shù)量有限并且無(wú)法快速擴(kuò)展這些資產(chǎn),那么這些資產(chǎn)需要更加高效。繼續(xù)教育是幫助開(kāi)發(fā)人員了解最新和最卓越的技術(shù)和技巧的好方法。此外,技術(shù)和技巧通常為開(kāi)發(fā)人員提供關(guān)鍵技能,幫助他們顯著提高效率。
公司可以通過(guò)多種方式投資開(kāi)發(fā)人員。首先,他們可以提供對(duì)其行業(yè)在線學(xué)習(xí)資源的訪問(wèn)。許多技術(shù)期刊、書(shū)籍和視頻都可以以相對(duì)較低的成本獲得。其次,它側(cè)重于繼續(xù)教育,例如培訓(xùn)課程。課程可以專(zhuān)注于技術(shù)工作方面,但即使是時(shí)間管理和自我提升也可以有所幫助。
提示 #5 – 戰(zhàn)略性自動(dòng)化
如果戰(zhàn)略性地應(yīng)用,自動(dòng)化可以成為提高開(kāi)發(fā)人員效率的絕佳工具。例如,如果在手動(dòng)測(cè)試上花費(fèi)數(shù)天或數(shù)周,那么自動(dòng)化測(cè)試可能是一個(gè)有用的處方。另一方面,如果要花費(fèi)數(shù)天或數(shù)周的時(shí)間來(lái)準(zhǔn)備一個(gè)系統(tǒng)以便可以發(fā)貨,那么整個(gè)過(guò)程的一部分是否可以使用腳本自動(dòng)化?是否可以創(chuàng)建產(chǎn)品配置文件,然后使用自動(dòng)生成工具?使用建模工具及早找出潛在的設(shè)計(jì)問(wèn)題并在它們像螞蟻大小而不是鼴鼠丘時(shí)將它們充實(shí)起來(lái)怎么樣?
戰(zhàn)略性地自動(dòng)化開(kāi)發(fā)人員和編碼任務(wù)是當(dāng)今許多嵌入式團(tuán)隊(duì)尚未開(kāi)發(fā)的資源。訣竅是在一天中不斷地問(wèn):“我需要這樣做嗎,或者這是我可以自動(dòng)化的事情嗎?”。然后,在幾周內(nèi),開(kāi)發(fā)人員將有更多時(shí)間專(zhuān)注于重要的事情,而不是瑣碎和勞動(dòng)密集型的活動(dòng)。
結(jié)論
今天招聘新的嵌入式軟件開(kāi)發(fā)人員非常困難。在許多情況下,公司不得不與他們的團(tuán)隊(duì)合作。一個(gè)穩(wěn)定的團(tuán)隊(duì)沒(méi)有理由不能完成更多工作。正如我們所見(jiàn),訣竅是提高效率。有時(shí),只需在工具和軟件堆棧上花錢(qián)就能有所作為。在其他情況下,仔細(xì)考慮可以自動(dòng)化以騰出開(kāi)發(fā)人員時(shí)間的流程。我懷疑幾乎每個(gè)團(tuán)隊(duì)都可以做一些功能優(yōu)先級(jí)。訣竅是提高效率,而不是做得更少或讓你的開(kāi)發(fā)人員筋疲力盡。
您今天在做什么以成為更高效的開(kāi)發(fā)人員?您可以削減、自動(dòng)化和改進(jìn)哪些活動(dòng)以騰出未來(lái)的時(shí)間?
審核編輯 黃昊宇
-
嵌入式
+關(guān)注
關(guān)注
5093文章
19178瀏覽量
307712 -
效率
+關(guān)注
關(guān)注
0文章
150瀏覽量
20111
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論