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