如果你正在找嵌入式軟件開發的工作,打開各種招聘網站,搜索【架構師】,會出現各種系統架構師,web架構師,后臺服務端架構師等等。
但是,你很難看到【嵌入式軟件架構師】。難道,嵌入式軟件不需要架構嗎?驅動不需要架構嗎?
答案是當然需要,但為什么沒有這方面的崗位?
嵌入式軟件架構重要嗎?
我們之前做的一個還算比較大的項目,之前幾年一直用的這個軟件架構,但隨著需求的改動,功能的增加,之前的架構已經不能滿足當下“快速的發展”。

我們這個軟件架構用了好幾年,而且還在不斷優化和完善這個軟件架構,相信大家看得出來,嵌入式軟件需要架構的。
其實,做過嵌入式軟件開發的朋友,特別做過大型的嵌入式軟件項目的人,應該都知道嵌入式需要軟件架構,而且大型項目的軟件架構很重要。
所以,嵌入式軟件架構很重要!
嵌入式軟件架構師,為啥招聘很少?
嵌入式軟件架構很重要,而招聘又沒有這個崗位?這不是很矛盾嗎?
嵌入式軟件開發崗位中并非完全沒有軟件架構師,只是相對其他軟件開發領域,招聘的崗位數量較少,招聘需求不是那么明顯。
1、嵌入式項目應用場景太廣、需求千變萬化
上面我說的(嵌入式軟件架構很重要)那個情況,其實有一個特點,主要指特定某個領域。
一家公司,通常只在某個領域深耕發展(當然,也有少部分跨多個領域發展的公司)。所以,一款針對特定領域的嵌入式軟件架構,對于一家公司來說很重要。
某個特定領域,它的產品會不斷升級,推出新的產品,軟件架構在之前的基礎上可以繼續沿用。比如:攝像頭,有一代、二代、三代產品,其實基礎功能都有,只是在修復bug和新增功能。
某個特定領域的軟件架構,用在其他領域,很大概率不適用。
2、嵌入式軟件分層明顯
嵌入式軟件和傳統的互聯網軟件的不同點,就是嵌入式軟件分層很明顯。
底層外設、HAL、RTOS、組件、應用等。如果再進一步細分,底層都還能再進行分層。
再結合不同的應用,分層還會進一步細化。

3、硬件資源參差不齊
搞嵌入式開發,離不開硬件,可以說每一款嵌入式產品中的硬件都不同。
底層硬件不同,意味著底層驅動差別大。
底層硬件不同,有沒有USB、有沒有網口等,這也會牽涉到中間層使用的組件也有區別。
底層硬件不同,Flash、RAM等資源大小,也會牽涉到上層應用要不要“節省資源”。

招聘網站為啥很少有嵌入式軟件架構師?
嵌入式就是一個“大雜燴”,然后,甲方需求又是各種各樣......說白了,嵌入式架構只適合同行,或者近似的行業參考借鑒,嵌入式沒有統一或者標準的架構能滿足市場需求。
所以,嵌入式求職遇到【同行】,求職成功率要高很多(當然,這個不止嵌入式,其他崗位也是這個道理)。
最后,大家想要跳槽可以找同行,這樣,你之前的那套軟件或許還能用得上
------------ END ------------

以Zephyr為橋梁,瑞薩 MCU走進Micro-ROS機器人生態

RT-Thread工業控制全棧方案,即學即用!

AI不是全能的,你沒有一點嵌入式基礎,最牛逼的AI也不能幫你做完一個項目