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