先说嵌入式做Linux的天花板吧。
嵌入式Linux开发主要分成三个部分:驱动、内核、应用
驱动需要理解硬件和内核,也要懂应用开发,驱动的天花板是去芯片厂商,比如:高通、MTK、三星等芯片原厂,这应该是驱动工程师比较不错的天花板了。
不过,话说回来,驱动这样吃经验的技术,芯片厂商本身的人员流动性就少,所以这类天花板产商招人也是格外苛刻。
再说到内核,内核的天花板比较吃香,搞内核的这群人就像是研究汽车发动机,工资高不高另说,就单单是研究发动机这件事情,在业界就比较牛逼的存在了。
产品公司要把产品做好,就需要这类的人才坐镇。他们可以去华为、oppo、或者芯片原厂,技术牛逼的话,可以挑的公司还是比较多的。
Linux应用开发的天花板我不知道咋说,这些人才主要靠业务支撑,难的业务逻辑还是依靠内核和驱动,普通的业务逻辑就需要依靠没日没夜的代码量,比较牛逼的应用开发会触摸到架构师的天花板,不过这类工程师接触一线业务,能实际解决业务问题,代码能力也会比较强,跳槽什么的会容易很多。
再说到MCU
并不是说搞Linux就一定会比MCU牛多少,Linux牛逼是因为Linux的格调比较高,代码管理和质量比MCU高几个等级。
可以和Linux代码质量媲美的芯片原厂,目前我只看到了一个厂商,挪威的Nordic。
MCU技术开发会更考验开发者
首先,他们自己要有架构能力,面对不同的MCU就需要理解不同的架构
很多初学者上来就会找MCU的main函数,找main函数没有问题,这是一个比较正常的逻辑,但是好的架构都不会把实现直接放在main函数里面,会针对不同的业务做架构分类,再架构分类的基础上再添加一些基础的SDK能力。
而MCU开发需要的不仅仅是对芯片的底层编程能力,还需要对架构理解和实现能力,而这样的实现,在面临越来越多的业务之后才能体现出它的价值。
再回来说天花板这件事,MCU开发的天花板可以去看看小米手环、手表等智能硬件的销量。
这些是我们能看到的,还有一些我们看不到的电子产品上,以及低功耗产品等都有MCU开发大展身手的地方。