嵌入式工程师的真实现状,有人月薪 8 千,有人年薪快 40 万!

2019-07-13 02:41发布

640?wx_fmt=gif
在百度搜索“嵌入式”、“嵌入式开发”、“嵌入式发展前景”等字眼,出来的都是一大堆培训机构,以及大篇幅的他们所谓的对嵌入式行业的“见解”,不否定其内容有一定的专业性,但“卖瓜赞瓜”的道理谁都懂。 因此,作为一名一线企业嵌入式软件工程师的笔者,想通过自己的实际经历理性地评论当今嵌入式行业的真实状况。
640?wx_fmt=jpeg

1.嵌入式的定义和举例分析

官方定义: 根据IEEE(国际电气和电子工程师协会)的定义,嵌入式系统是“控制、监控或者辅助设备、机器和车间运行的装置”。 这主要是从应用上加以定义的,从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。 目前国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 说白了就是先设计硬件,然后根据需求编写能在该硬件上运行的软件,就成了所谓的“智能硬件”。 或者说得还不够明白,那行,我们说一说具体的嵌入式产品有哪些,嵌入式是做什么的:
传统嵌入式产品:空调主控模块、冰箱主控模块、家用遥控器、智能手机、教学投影仪、音响系统、雷达系统、路由器等等; 前沿嵌入式产品:无人机、智能音响、机器人控制、城市天眼系统、智能家具、自动驾驶汽车、扫地机器人、小米手环等等;
一起看一些前沿的嵌入式产品: 下面是大疆无人机,可应用在高空拍摄、军事侦查、高空作业、自动巡逻、农业工作、矿业勘测、地形测绘等方面。 640?wx_fmt=png 下面是天猫精灵智能音响,可进行语音识别、对话交互,应用与娱乐、生活、购物、智能家具控制等方面,属于新一代音箱。 640?wx_fmt=png 下面是百度机器人,通过深度学习、神经网络等算法,实现“百度大脑”,具有自学习、自训练能力,如最强大脑的小度机器人。 640?wx_fmt=png 下面是自动驾驶汽车,自动驾驶是一个前沿的科技,在我国还没本真正实施,不仅是技术方面,它还得得到政府支持和认同。 640?wx_fmt=png 下面是海尔扫地机器人,能够自动巡逻,自动绘制室内地图,自动避障,自动清洁地面,还你一个干净的环境。 640?wx_fmt=png 下面是小米手环3,可显示微信、来电等消息内容,振动闹钟,心率计算,步数统计,实时运动数据查询,睡眠质量监测等。 640?wx_fmt=png 看完这些前沿科技产品后可发现,这些形形 {MOD} {MOD}的“高端产品”都离不开嵌入式技术,离不开传感器技术,离不开软件程序。 那么我现在可以告诉你,嵌入式开发的工作就是去开发以上等一系列产品 ,这就是嵌入式,相信此刻你对嵌入式行业已有“形而上学”的了解。

2.嵌入式工程师在企业工作的真实内容

嵌入式软件开发具体可以分三类:
嵌入式驱动工程师:编写和移植各种芯片驱动(如音频芯片),优化硬件设备驱动(如温湿度传感器),得精通各种硬件接口协议(如I2C协议)、系统调度、信号量、锁机制等等,开发难度最大。 该类开发者一般是软硬件综合型人才,一般的嵌入式驱动工程师指Linux上的驱动开发工程师,需要精通Linux驱动框架(platform框架、input子系统框架等),结合芯片本身去编写驱动,驱动的好坏很大程度上决定一个产品的好坏。业界对驱动人才的定义是三年才算入门,可见此门槛之高。 嵌入式系统工程师:主要是编写固件,根据不同平台移植操作系统,根据应用场景来优化系统,需要熟悉整个操作系统组成与调度,对固件的稳定性高求很高,如果系统不稳定,驱动和应用也是白做的。 嵌入式应用工程师:编写业务逻辑程序,调用驱动工程师提供的接口控制设备,软件开发过程所涉内容范围非常广,主要使用C语言开发,但经常会涉及C++、Java、python、JavaScript、PHP等各类语言以及各种脚本语言、数据库、前端后台、各种通讯协议、甚至一些从来没听过的协议或概念。
这需要很强的学习能力,该职位也是各大公司需量最大的,一般10人的开发小组,驱动开发与系统开发与应用开发的比例是1:2:7。 根据我的经验,世界上可以分成两种嵌入式工程师,一种是大公司的嵌入式工程师,另一种是小公司的嵌入式工程师,我知道这样分类很不妥,但并非毫无道理,请听我一一下概述: 大公司:大公司的特 {MOD}是什么?答案:人多! 人多导致的后果是什么?答案:项目分工非常细,都遵循“术业有专攻”这一哲学道理。 例如职位是嵌入式驱动开发,那么大公司可能还会细分嵌入式显示屏驱动工程师、嵌入式音频驱动工程师、嵌入式电源驱动工程师等。 这就是大公司一贯的作风,它希望去培养某一方面的人才;说白了就是如果你分配到的是一个显示屏驱动项目,那么有可能你这一年内都是在开发显示屏驱动,一年后你将是显示屏驱动方面的一个小专家。 在大公司记住一点,你做的东西都是很“精”的;同时,大公司的薪资水平和福利也是相当可观的,有完善的晋升路线,离职率一般不高。 小公司:小公司的特 {MOD}是什么?答案:人少! 人少导致的后果是什么?答案:项目分工不明确,什么都得干,它给你灌溉的思想是“小陈,我们培养的是综合性人才,在这里你就是全栈工程师”。 估计很多人都没听明白,意思是说这里人少活多,你什么都得干。小公司才不会管你是嵌入式驱动工程师还是嵌入式应用工程师(有的公司还是区分的,的确不能以偏盖全)。 反正是活你就得干,分分钟前端后台服务器你都得给我干,不要跟我说什么没学过,没学过就去学呗。 小公司还有一个特 {MOD}就是:“节奏快”,大公司里面可能开展一个项目会花上几个月的时间或者更长,在小公司是不存在的,领导都是指望着你几天或者两三周完成,那你也只能说呵呵了。 的确,在小公司你可以得到飞速的进步,很强的综合性技能,前提是比人家花出更多的时间,把每一个项目理解清楚,而不是应付心态。坚持下来,两年后必能独当一面。 小公司提供给应届生的薪资水平相对与到大公司来说要低,其福利不完善和晋升路线也一般比较模糊,所以小公司的离职率会比较高,经常出现两年三跳的情况。 还有一个经验分享给年轻人:无论哪种语言,程序代码只是一个简单的工具,最后真正留下的只有原理、协议、框架、思维。

3.嵌入式发展前景与当今状况

目前的嵌入式开发更倾向于智能化,也就是我们所说的智能硬件(硬件+软件),从现在各种前沿的嵌入式产品来看的确如此,嵌入式产品的一个发展趋势是更倾向与自动化控制和人机交互,而不是强调“算法”这一块。 要区分你仅仅是一名嵌入式工程师而不是算法工程师,什么一大堆“人工智能”、“阿尔法狗”、“深度学习”、“神经网络”都不需要深入理解,那是研究生、博士生做的。 笔者并不是说你的能力不足,而是“术业有专攻”,这并不是一名嵌入式工程师的工作量,你需要做的仅仅是与他们的“云端大脑”进行对接,调用他们API就完事了。 由于人工智能、深度学习、神经网络、区块链、大数据等先进学科的崛起,很多人都产生质疑:“嵌入式还有发展前景吗”? 这个问题我在这里可以很肯定地告诉你:“嵌入式有很好的发展前景,前沿嵌入式技术即将崛起,或者说已经崛起”。 的确,人工智能、大数据这些学科会给嵌入式带来冲击,就目前来看,大学生更倾向与python编程语言、机器学习这一块,而嵌入式学者的确比往年有所下降。 但学者少了并不代表他的需求就少了,并不代表他的薪资水平下降了,目前的一个嵌入式技术更倾向于与智能学科相结合的趋势。 以百度机器人为例,机器人的核心是大脑,即是“数据和算法”,但机器人大脑想机器人身躯能够像人类一样活动,能说会道,行走自如,那么就必须得依靠嵌入式技术。 这就是我所说的嵌入式+智能学科应用,从长久来看,嵌入式只会越来越火,智能学科的崛起必定带动新型的嵌入式技术发展。 对于发展前景,有一项更重要的参数,那就是当今嵌入式软件工程师的薪资水平。 我下面给出一些理性的数据,是从各大招聘平台调研而来(数据只能作为参考,具体薪资还是得看个人修为,有的达不到该薪资水平,有的早已超过该薪资水平)
非211、985院校应届毕业生平均月薪:8K; 是211、985院校应届毕业生平均月薪:12K 一年工作经验者月薪:10K-15K 二年工作经验者月薪:12K-18K 三至五年工作经验者月薪:20K-30K
上述数据只针对那些“真正努力”的嵌入式工程师,不适合应“应付式工作”的嵌入式工程师,同时声明不对该薪酬水平负任何责任。

4.展望人工智能带动前沿嵌入式技术

人工智能给嵌入式带来的冲击,是福也是祸,人工智能实现智能化无处不依赖嵌入式技术,人工智能学科在不知不觉中带动嵌入式技术革新。 从一系列智能产品,包括无人机、智能音响、机器人控制、城市天眼系统、智能家具、自动驾驶汽车、扫地机器人、小米手环等等。 有哪个不依靠嵌入式技术来实现?并没有,人工智能越是想向人类表达他的智能水平,越是要依靠嵌入式技术。 所以前沿嵌入式技术更倾向于嵌入式+智能学科的发展,当智能学科真正崛起,嵌入式必定又是一次浪潮与技术革新。
作者:陈明,现居深圳。CSDN博客专家,目前从事嵌入式软件开发工程师工作。主要负责:语音识别、声学基础研究、嵌入式软件开发工作等。 声明:本文系作者投稿,不代表CSDN立场。