如果你正在找嵌入式软件开发的工作,打开各种招聘网站,搜索【架构师】,会出现各种系统架构师,web架构师,后台服务端架构师等等。
但是,你很难看到【嵌入式软件架构师】。难道,嵌入式软件不需要架构吗?驱动不需要架构吗?
答案是当然需要,但为什么没有这方面的岗位?
嵌入式软件架构重要吗?
我们之前做的一个还算比较大的项目,之前几年一直用的这个软件架构,但随着需求的改动,功能的增加,之前的架构已经不能满足当下“快速的发展”。

我们这个软件架构用了好几年,而且还在不断优化和完善这个软件架构,相信大家看得出来,嵌入式软件需要架构的。
其实,做过嵌入式软件开发的朋友,特别做过大型的嵌入式软件项目的人,应该都知道嵌入式需要软件架构,而且大型项目的软件架构很重要。
所以,嵌入式软件架构很重要!
嵌入式软件架构师,为啥招聘很少?
嵌入式软件架构很重要,而招聘又没有这个岗位?这不是很矛盾吗?
嵌入式软件开发岗位中并非完全没有软件架构师,只是相对其他软件开发领域,照片的岗位数量较少,招聘需求不是那么明显。
1、嵌入式项目应用场景太广、需求千变万化
上面我说的(嵌入式软件架构很重要)那个情况,其实有一个特点,主要指特定某个领域。
一家公司,通常只在某个领域深耕发展(当然,也有少部分跨多个领域发展的公司)。所以,一款针对特定领域的嵌入式软件架构,对于一家公司来说很重要。
某个特定领域,它的产品会不断升级,推出新的产品,软件架构在之前的基础上可以继续沿用。比如:摄像头,有一代、二代、三代产品,其实基础功能都有,只是在修复bug和新增功能。
某个特定领域的软件架构,用在其他领域,很大概率不适用。
2、嵌入式软件分层明显
嵌入式软件和传统的互联网软件的不同点,就是嵌入式软件分层很明显。
底层外设、HAL、RTOS、组件、应用等。如果再进一步细分,底层都还能再进行分层。
再结合不同的应用,分层还会进一步细化。

3、硬件资源参差不齐
搞嵌入式开发,离不开硬件,可以说每一款嵌入式产品中的硬件都不同。
底层硬件不同,意味着底层驱动差别大。
底层硬件不同,有没有USB、有没有网口等,这也会牵涉到中间层使用的组件也有区别。
底层硬件不同,Flash、RAM等资源大小,也会牵涉到上层应用要不要“节省资源”。

招聘网站为啥很少有嵌入式软件架构师?
嵌入式就是一个“大杂烩”,然后,甲方需求又是各种各样......说白了,嵌入式架构只适合同行,或者近似的行业参考借鉴,嵌入式没有统一或者标准的架构能满足市场需求。
所以,嵌入式求职遇到【同行】,求职成功率要高很多(当然,这个不止嵌入式,其他岗位也是这个道理)。
最后,大家想要跳槽可以找同行,这样,你之前的那套软件或许还能用得上
------------ END ------------
关注公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。