⼀线⼯程师告诉你嵌⼊式真实现状与发展前景
个⼈说明:本⼈并不是年薪百万的技术⼤⽜,但总算是⼀名合格的嵌⼊式⼯程师,现在某企业担任嵌⼊式软件⼯程师开发⼀职,以下观点可能会带有⽚⾯或者分析不全,但却是⼀名⼀线企业嵌⼊式软件开发者真实感受和所得,希望能帮助那些有需要的⼈,我明⽩年轻⼈出来打拼都不容易。
为何要写这⽚⽂章?⼩⽣也是过来⼈,踩过你们踩过的坑
百度搜索“嵌⼊式”、“嵌⼊式开发”、“嵌⼊式发展前景”等字眼,出来的都是⼀⼤堆培训机构,出来的都是⼀⼤⽚他们所谓的对嵌⼊式⾏业的“见解”,不否定其内容有⼀定的专业性,但其中“⽔份”我想⼤家⽐我更清楚,“卖⽠赞⽠”的道理谁都懂;或者出来的是⼏年前的“嵌⼊式状况”,与当今嵌⼊式环境相⽐,企业⽆论是在开发、⽤⼈、内容、市场上都发⽣了很⼤的改变。因此,作为⼀名⼀线企业嵌⼊式软件⼯程师的我,想通过⾃⼰的实际经历理性地评论当今嵌⼊式⾏业的真实状况。本⽂章写于2018年10⽉1⽇,⼩⽣不才,⾃认为可以反映当今嵌⼊式⾏业的⼀个真实状况,以及它的科学性和前沿性可以是2018-2020年期间嵌⼊式的定义。
⼀.嵌⼊式的定义和举例分析
官⽅定义:
根据IEEE(国际电⽓和电⼦⼯程师协会)的定义,嵌⼊式系统是“控制、监控或者辅助设备、机器和车间运⾏的装置”。这主要是从应⽤上加以定义的,从中可以看出嵌⼊式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。
⽬前国内⼀个普⽚被认同的定义是:以应⽤为中⼼、以计算机技术为基础,软件硬件可裁剪,适应应⽤系统对功能、可靠性、成本、体积、功耗严格要求的专⽤计算机系统。
说⽩了就是先设计硬件,然后根据需求编写能在该硬件上运⾏的软件,就成了所谓的“智能硬件”。
或者说得还不够明⽩,那⾏,我们说⼀说具体的嵌⼊式产品有哪些,嵌⼊式是做什么的:
传统嵌⼊式产品:空调主控模块、冰箱主控模块、家⽤遥控器、智能⼿机、教学投影仪、⾳响系统、雷达系统、路由器等等
前沿嵌⼊式产品:⽆⼈机、智能⾳响、机器⼈控制、城市天眼系统、智能家具、⾃动驾驶汽车、扫地机器⼈、⼩⽶⼿环等等
⼀起看⼀些前沿的嵌⼊式产品:
下⾯是⼤疆⽆⼈机,可应⽤在⾼空拍摄、军事侦查、⾼空作业、⾃动巡逻、农业⼯作、矿业勘测、地形测绘等⽅⾯
嵌入式系统是什么意思下⾯是天猫精灵智能⾳响,可进⾏语⾳识别、对话交互,应⽤与娱乐、⽣活、购物、智能家具控制等⽅⾯,属于新⼀代⾳箱
下⾯是百度机器⼈,通过深度学习、神经⽹络等算法,实现“百度⼤脑”,具有⾃学习、⾃训练能⼒,如最强⼤脑的⼩度机器⼈ 下⾯是⾃动驾驶汽车,⾃动驾驶是⼀个前沿的科技,在我国还没本真正实施,不仅是技术⽅⾯,它还得得到政府⽀持和认同
下⾯是海尔扫地机器⼈,能够⾃动巡逻,⾃动绘制室内地图,⾃动避障,⾃动清洁地⾯,还你⼀个⼲净的环境
下⾯是⼩⽶⼿环3,可显⽰、来电等消息内容,振动闹钟,⼼率计算,步数统计,实时运动数据查询,睡眠质量监测等
看完这些前沿科技产品后可发现,这些形形⾊⾊的“⾼端产品”都离不开嵌⼊式技术,离不开传感器技术,离不开软件程序。那么我现在可以告诉你,嵌⼊式开发的⼯作就是去开发以上等⼀系列产品 ,这就是嵌⼊式,相信此刻你对嵌⼊式⾏业已有“形⽽上学”的了解。
⼆.嵌⼊式⼯程师在企业⼯作的真实内容
嵌⼊式软件开发具体可以分三类:
嵌⼊式驱动⼯程师:编写和移植各种芯⽚驱动(如⾳频芯⽚),优化硬件设备驱动(如温湿度传感器),得精通各种硬件接⼝协议(如I2C 协议)、系统调度、信号量、锁机制等等,开发难度最⼤。该类开发者⼀般是软硬件综合型⼈才,⼀般的嵌⼊式驱动⼯程师指Linux上的驱动开发⼯程师,需要精通Linux驱动框架(platform框架、input⼦系统框架等),结合芯⽚本⾝去编写驱动,驱动的好坏很⼤程度上决定⼀个产品的好坏。业界对驱动⼈才的定义是三年才算⼊门,可见此门槛之⾼。
嵌⼊式系统⼯程师:主要是编写固件,根据不同平台移植操作系统,根据应⽤场景来优化系统,需要熟悉整个操作系统组成与调度,对固件的稳定性⾼求很⾼,如果系统不稳定,驱动和应⽤也是⽩做的。
嵌⼊式应⽤⼯程师:编写业务逻辑程序,调⽤驱动⼯程师提供的接⼝控制设备,软件开发过程所涉内容范围⾮常⼴,主要使⽤C语⾔开发,但经常会涉及C++、Java、python、JavaScript、PHP等各类语⾔以及各种脚本语⾔、数据库、前端后台、各种通讯协议、甚⾄⼀些从来没听过的协议或概念,需要很强的学习能⼒,该职位也是各⼤公司需量最⼤的,⼀般10⼈的开发⼩组,驱动开发与系统开发与应⽤开发的⽐例是1:2:7。
根据我的经验,世界上可以分成两种嵌⼊式⼯程师,⼀种是⼤公司的嵌⼊式⼯程师,另⼀种是⼩公司
的嵌⼊式⼯程师,我知道这样分类很不妥,但并⾮毫⽆道理,请听我⼀⼀下概述:
⼤公司:⼤公司的特⾊是什么?答案:⼈多!
⼈多导致的后果是什么?答案:项⽬分⼯⾮常细,都遵循“术业有专攻”这⼀哲学道理;
例如职位是嵌⼊式驱动开发,那么⼤公司可能还会细分嵌⼊式显⽰屏驱动⼯程师、嵌⼊式⾳频驱动⼯程师、嵌⼊式电源驱动⼯程师等;这就是⼤公司⼀贯的作风,它希望去培养某⼀⽅⾯的⼈才;说⽩了就是如果你分配到的是⼀个显⽰屏驱动项⽬,那么有可能你这⼀年内都是在开发显⽰屏驱动,⼀年后你将是显⽰屏驱动⽅⾯的⼀个⼩专家;在⼤公司记住⼀点,你做的东西都是很“精”的;同时,⼤公司的薪资⽔平和福利也是相当可观的,有完善的晋升路线,离职率⼀般不⾼。
⼩公司:⼩公司的特⾊是什么?答案:⼈少!
⼈少导致的后果是什么?答案:项⽬分⼯不明确,什么都得⼲,它给你灌溉的思想是“⼩陈,我们培养的是综合性⼈才,在这⾥你就是全栈⼯程师”;
估计很多⼈都没听明⽩,意思是说这⾥⼈少活多,你什么都得⼲。⼩公司才不会管你是嵌⼊式驱动⼯程师还是嵌⼊式应⽤⼯程师(有的公司还是区分的,的确不能以⽚盖全),反正是活你就得⼲,分分钟前端后台服务器你都得给我⼲,不要跟我说什么没学过,没学过就去学呗。⼩公司还有⼀个特⾊就
是:“节奏快”,⼤公司⾥⾯可能开展⼀个项⽬会花上⼏个⽉的时间或者更长,在⼩公司是不存在的,领导都是指望着你⼏天或者两三周完成,那你也只能说呵呵了。的确,在⼩公司你可以得到飞速的进步,很强的综合性技能,前提是⽐⼈家花出更多的时间,把每⼀个项⽬理解清楚,⽽不是应付⼼态。坚持下来,两年后必能独当⼀⾯。⼩公司提供给应届⽣的薪资⽔平相对与到⼤公司来说要低,其福利不完善和晋升路线也⼀般⽐较模糊,所以⼩公司的离职率会⽐较⾼,经常出现两年三跳的情况。
还有⼀个经验分享给年轻⼈:⽆论哪种语⾔,程序代码只是⼀个简单的⼯具,最后真正留下的只有原理、协议、框架、思维。
三.嵌⼊式发展前景与当今状况
⽬前的嵌⼊式开发更倾向于智能化,也就是我们所说的智能硬件(硬件+软件),从现在各种前沿的嵌⼊式产品来看的确如此,嵌⼊式产品的⼀个发展趋势是更倾向与⾃动化控制和⼈机交互,⽽不是强调“算法”这⼀块,要区分你仅仅是⼀名嵌⼊式⼯程师⽽不是算法⼯程师,什么⼀⼤堆“⼈⼯智能”、“阿尔法狗”、“深度学习”、“神经⽹络”都不需要深⼊理解,那是研究⽣、博⼠⽣做的,⼩⽣并不是说你的能⼒不⾜,⽽是“术业有专攻”,这并不是⼀名嵌⼊式⼯程师的⼯作量,你需要做的仅仅是与他们的“云端⼤脑”进⾏对接,调⽤他们API就完事了。
由于⼈⼯智能、深度学习、神经⽹络、区块链、⼤数据等先进学科的崛起,很多⼈都产⽣质疑:“嵌⼊
式还有发展前景吗”?这个问题我在这⾥可以很肯定地告诉你:“嵌⼊式有很好的发展前景,前沿嵌⼊式技术即将崛起,或者说已经崛起”。的确,⼈⼯智能、⼤数据这些学科会给嵌⼊式带来冲击,就⽬前来看,⼤学⽣更倾向与python编程语⾔、机器学习这⼀块,⽽嵌⼊式学者的确⽐往年有所下降,但学者少了并不代表他的需求就少了,并不代表他的薪资⽔平下降了,⽬前的⼀个嵌⼊式技术更倾向于与智能学科相结合的趋势,以百度机器⼈为例,机器⼈的核⼼是⼤脑,即是“数据和算法”,但机器⼈⼤脑想机器⼈⾝躯能够像⼈类⼀样活动,能说会道,⾏⾛⾃如,那么就必须得依靠嵌⼊式技术,这就是我所说的嵌⼊式+智能学科应⽤,从长久来看,嵌⼊式只会越来越⽕,智能学科的崛起必定带动新型的嵌⼊式技术发展。
对于发展前景,有⼀项更重要的参数,那就是当今嵌⼊式软件⼯程师的薪资⽔平,我下⾯给出⼀些理性的数据,是从各⼤招聘平台调研⽽来:(数据只能作为参考,具体薪资还是得看个⼈修为,有的达不到该薪资⽔平,有的早已超过该薪资⽔平)
⾮211、985院校应届毕业⽣平均⽉薪:8k
是211、985院校应届毕业⽣平均⽉薪:12k
⼀年⼯作经验者⽉薪:10k-15k
⼆年⼯作经验者⽉薪:12k-18k
三⾄五年⼯作经验者⽉薪:20k-30k
上述数据只针对那些“真正努⼒”的嵌⼊式⼯程师,不适合应“应付式⼯作”的嵌⼊式⼯程师,同时声明不对该薪酬⽔平负任何责任。
四.展望⼈⼯智能带动前沿嵌⼊式技术
⼈⼯智能给嵌⼊式带来的冲击,是福也是祸,⼈⼯智能实现智能化⽆处不依赖嵌⼊式技术,⼈⼯智能学科在不知不觉中带动嵌⼊式技术⾰新,从⼀系列智能产品,包括⽆⼈机、智能⾳响、机器⼈控制、城市天眼系统、智能家具、⾃动驾驶汽车、扫地机器⼈、⼩⽶⼿环等等,有哪个不依靠嵌⼊式技术来实现,并没有,⼈⼯智能越是想向⼈类表达他的智能⽔平,越是要依靠嵌⼊式技术,所以前沿嵌⼊式技术更倾向于嵌⼊式+智能学科的发展,当智能学科真正崛起,嵌⼊式必定⼜是⼀次浪潮与技术⾰新。
如需要获取更多嵌⼊式、物联⽹相关资源,可⽤扫描⼆维码,关注!!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论