最近确实有很多媒体、机构渲染嵌入式可以拿高薪,这在行业内也是事实,但前提是你有足够的竞争力,真的懂嵌入式。
时至今日,能做嵌入式程序开发的人其实相当常见,尤其是随着树莓派、Arduino等开发板的普及,甚至软件工程师也可以转向嵌入式开发。
然而,真正能够同时擅长编程和硬件电路设计的人非常少。大多数人只会参考开发板提供的资料或芯片的datasheet设计最小系统,更不用说设计外围电路,特别是模拟电路了。几十年前,上一代工程师甚至可以自己焊接和调试电视机、收音机、电台等设备,而现在的人基本上都依赖于集成芯片。当我们需要找嵌入式硬件工程师时,常常要求他们能够设计开关电源、变频器等。
另外,能够编写数字信号处理算法的人也相对稀少。与计算机软件相比,由于嵌入式系统在硬件方面的投入更大,项目开发周期更长,资金回收周期也更久。因此,从事嵌入式/电子设备研发的企业比较少。这些企业面临的人才缺口不仅仅是缺少可以直接上手工作的人,也缺乏学习能力强的人。
并且嵌入式芯片种类多种多样,嵌入式开发可能涉及到不同的平台,如ARM和PowerPC,嵌入式开发相对来说需要考虑硬件平台的情况,但能熟练在各种平台上工作的人少之又少。
举例来说,某企业使用工业总线CAN,应聘者之前只熟悉串口和TCP/IP协议,所以他需要花一两个月来适应CAN协议。企业使用TI的ARM9芯片,他之前只做过STM32,还需要学习ARM9的寄存器。由于思维较为固化,他对ARM9持续排斥,认为它不如ST的芯片,没有库函数,编写程序不方便等等。
因此,企业一直面临缺人的情况,但一直无法找到技术上与我们要求尽量接近的人。至于工资,这其实存在两极分化的情况。与上述情况相符的人,工资通常会低于从事计算机软件开发的同学。这些人往往是被企业挑选的嵌入式劳工,他们自身的话语权不太高;但真正有竞争力的同学,年薪30W其实并不罕见。