有个现象在圈子流传挺久了。做MCU的朋友,隔三差五就有人念叨想转去做Linux嵌入式。聊深了发现,大家倒也不是图新鲜,是实打实觉得手里的活儿越做越窄。
重复造轮子这事儿,造多了也烦
MCU开发上手是真快。学上两三个月,点个灯、调个串口基本就通了。再花一两年,把SPI、I2C、CAN这些外设都摸一遍,之后的日子就有点循环播放的意思。换产品、换东家,说到底还是在配寄存器、调外设参数。有工程师自己调侃,说是高级一点的代码搬运工,这话听着有点心酸,但也不算夸张。
据一位做了八年MCU的老哥讲,他最怕的不是加班赶项目,是招聘季看到新人简历——现在应届生培训三个月,能把基础活儿干得有模有样。护城河真的太浅了,搁谁都得想想后路。纯MCU开发的薪资,到35岁能摸到30K上下,可在同样年限下,做Linux嵌入式的同行,40K、50K的情况并不少见,这落差谁都看得见。

跑过几次招聘会就能发现,不少公司的岗位描述都开始写“有Linux经验优先”。某招聘平台的数据也显示,纯MCU岗位在缩减,而智能家居、车联网这些方向,几乎清一色要求懂Linux。一位负责技术面试的朋友聊过,他说现在产品要上联网功能、要做远程升级,MCU那块板子跑起来真挺费劲,成本也没优势。市场用需求投了票,开发者也只能跟着调整。
Linux嵌入式,到底难在哪儿
MCU那边是几十K的Flash、几K的RAM,写代码得掐着资源用。Linux嵌入式的底盘就完全不一样了,往上叠了操作系统一整套东西——进程怎么调度、内存怎么管、驱动怎么写、内核能裁到什么程度,随便拎出一块都是独立的知识体系。有转行过来的工程师回忆,刚接触时看内核源码,感觉像掉进了另一个世界,调试工具、开发思维全得重学。
不过这份难,某种程度也是护城河。业内有种说法,MCU调试是跟硬件打交道,Linux调试是跟系统打交道,前者靠经验,后者靠理解深度。Linux生态里能对接Python、Qt还有一堆开源组件,做出来的东西更接近消费端能感知到的智能,正反馈来得直接一些。有培训机构的反馈提到,现在报Linux嵌入式课程的学员里,差不多40%是做过两三年MCU的开发。
困在原地最难受
干MCU的人不是不努力,很多人下班也在啃资料。但有些天花板,靠个人折腾很难顶破。一位猎头透露过,企业挖Linux嵌入式的高级工程师,预算经常开到MCU岗位的1.5倍往上,而且更看重候选人对系统级问题的调试能力——这种能力,光靠在MCU项目里查寄存器练不出来。
不过话说回来,MCU并没有被淘汰。在一些对成本极度敏感、功能简单的场景下,它还是很多厂商的首选。有行业人士打了个比方,MCU像扳手,Linux像机床,工具本身没高低,看用在什么地方。只是从开发者职业生涯的长度看,会操作机床的人,选择面终归宽一些。
转型具体怎么走,每个人情况不同,没法一概而论。有人从驱动切入,有人先啃应用层开发,路径不少,都需要时间。这也是为什么圈子里讨论虽多,真正迈出那一步的比例并没有想象中高——大家清楚,这不是报个班就能解决的事。局面还在变化,细节需要自己趟过才知道。