• 正文
  • 相关推荐
申请入驻 产业图谱

刚入行选 MCU 还是 Linux?一个芯片公司驱动工程师的真实建议

07/09 09:05
295
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

大家好,我是仲一。

这个问题每隔几天就会在后台出现一次,提问的多数是还在学校或者刚工作一两年的读者。

我自己从 MCU 一路摸到 Linux 内核,现在在芯片公司做驱动开发,两种方向都做过。谈不上多资深,但踩过的坑可以拿出来说说。

不是替你做决定,只是把两个方向的真实情况摊开。你结合自己的情况判断。

两个方向到底在做什么

MCU 方向,本质上是在跟寄存器、中断、时序打交道。

产品跑裸机或者 FreeRTOS,资源抠得很紧——Flash 可能 128KB,RAM 可能十几 KB。你写代码要精打细算,一个中断响应慢了就是问题。

招聘市场对这个方向的需求一直很稳。做控制器的公司太多了:工业控制、汽车 ECU、IoT 终端、小家电。这些产品量大,更新换代也快,岗位不会少。

我自己就是从这个方向起步的。现在回头看,那段经历最大的价值是让我对硬件的理解比纯软件出身的同事深一些。

Linux 方向面对的是带 MMU 的处理器,跑 Linux 系统。

同样一个功能,在 MCU 上你要纠结中断优先级和时序,在 Linux 上你面对的是设备树、驱动框架、内核调度、进程间通信。知识面宽了很多,工资天花板也明显高一些。

这几年自动驾驶、AI 边缘计算、机器人带动了大量 Linux 相关的岗位。芯片公司的 BSP 工程师、方案商的系统工程师,大多是 Linux 背景。

我现在做的芯片驱动开发,招人时看重的也是 Linux 内核的理解深度。

薪资差距有多大?

先说结论:差距有,但没有培训机构吹的那么夸张。

以下数据说的是一线城市(北上广深),二线城市通常打个六到七折。

应届生/刚入行:

    MCU 方向:月薪 8K~12KLinux 方向:月薪 10K~15K

这个阶段差距很小,可能就差一两千。重点不在薪资,在学东西。

1~3 年经验:

    MCU 方向:月薪 12K~18KLinux 方向:月薪 15K~22K

差距开始拉开,但还不明显。

如果 3 年经验时 Linux 方向的薪资没到 18K,可能是平台问题,可以考虑看看机会。

3~5 年经验:

    MCU 方向:月薪 15K~22K,部分细分领域(如 BMS、电机控制)能到 25KLinux 方向:月薪 22K~35K,能力强的在芯片或者自动驾驶公司能到 40K

真正的分水岭在这个阶段。

Linux 方向因为涉及系统、内核、驱动,经验积累带来的能力溢价比 MCU 明显。如果你三年后能独立完成一个驱动子系统的移植或调试,薪资会有明显一跳。

5 年以上:MCU 方向一般到 25K~35K 区间就容易碰到天花板了。Linux 方向的上限高不少,在芯片公司做 BSP 或者系统架构,年薪 50 万以上不稀奇。

还有一个变量是城市。

深圳、上海、北京的嵌入式岗位薪资明显高于其他城市,同样三年经验的 Linux 工程师,深圳比长沙可能高出 40%。所以如果你的目标是高薪,来一线城市会比在二线城市有效得多。

说回选择本身——刚入行时两个方向的起薪差距很小,不值得为这一两千纠结。重要的是三年后你在什么位置。

两条路走到后面是什么样子

走 MCU 方向,五年后大部分人在做两类事情。

一是在大公司做细分领域的专家,比如专门做某款芯片的 BMS 方案。另一类是在小公司做全栈——从画板子到写裸机代码到调试样机,一个人全包了。两条路都能走,但后一种对综合能力的要求更高,薪资的天花板也更看个人。

走 Linux 方向,三到五年是关键节点。

这时候如果你能搞定完整的驱动调试和系统移植,后面选择面会宽很多。可以继续做技术深耕——内核调优、实时化改造、安全启动,也可以慢慢往系统架构走。芯片公司对这个方向的需求这几年一直在涨,是个不错的窗口期。

我见过两种方向都做得不错的人,也见过做了几年瓶颈明显的。区别不在方向本身,在于三年五年下来,你积累的是可复用的系统能力,还是只能在某个固定平台上用的经验。

给新人的具体建议

如果你是电子、自动化背景,从 MCU 起步会很顺手。

但给自己设一个时间线——前两年用 MCU 打好底层基础,第三年接触 RTOS,第四年往 Linux 方向跨。不要五年了还在写裸机定时器

如果你是计算机、软件工程背景,直接走 Linux 方向更合适。你的操作系统、网络协议栈基础在这里直接能用上,不用绕路。

如果你不确定做什么,有一个比较稳妥的策略:选一个主攻方向,另一条路至少保持在"能动手做点东西"的程度。

面试的时候,你说"我主要做 MCU,但也在 Linux 上做过一些工具链的工作",比单条腿走路要加分得多。

简单总结一下:

想快速看到成果、喜欢跟硬件贴得很近,选 MCU。

想长期薪资上限更高、愿意花时间啃系统原理,选 Linux。

不管选哪个,三五年内把另一条路也摸一遍。嵌入式这个行业,只会一种是够用的,两种都会是稀缺的。

嵌入式不像互联网,没有 35 岁一刀切的说法。但这个前提是你的经验在持续增值,而不是一年经验重复用了五年。


你是做 MCU 还是 Linux 的?当初怎么选的?留言聊聊,给还在纠结的读者一点参考。

相关推荐

登录即可解锁
  • 海量技术文章
  • 设计资源下载
  • 产业链客户资源
  • 写文章/发需求
立即登录

作者就职于某500强公司,担任BSP工程师。具有丰富的嵌入式开发经验。专栏主要分享计算机基础,操作系统,Linux驱动开发,Arm体系与架构,C/C++,数据结构与算法等相关文章。欢迎关注我的公众号【嵌入式与Linux那些事】,一起学习交流。