Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >一线工程师告诉你嵌入式真实现状与发展前景「建议收藏」

一线工程师告诉你嵌入式真实现状与发展前景「建议收藏」

作者头像
全栈程序员站长
发布于 2022-07-21 07:24:54
发布于 2022-07-21 07:24:54
13K0
举报

大家好,又见面了,我是你们的朋友全栈君。

个人说明:本人并不是年薪百万的技术大牛,但总算是一名合格的嵌入式工程师,现在某企业担任嵌入式软件工程师开发一职,以下观点可能会带有片面或者分析不全,但却是一名一线企业嵌入式软件开发者真实感受和所得,希望能帮助那些有需要的人,我明白年轻人出来打拼都不容易。

为何要写这片文章?小生也是过来人,踩过你们踩过的坑

百度搜索“嵌入式”、“嵌入式开发”、“嵌入式发展前景”等字眼,出来的都是一大堆培训机构,出来的都是一大片他们所谓的对嵌入式行业的“见解”,不否定其内容有一定的专业性,但其中“水份”我想大家比我更清楚,“卖瓜赞瓜”的道理谁都懂;或者出来的是几年前的“嵌入式状况”,与当今嵌入式环境相比,企业无论是在开发、用人、内容、市场上都发生了很大的改变。因此,作为一名一线企业嵌入式软件工程师的我,想通过自己的实际经历理性地评论当今嵌入式行业的真实状况。本文章写于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

上述数据只针对那些“真正努力”的嵌入式工程师,不适合应“应付式工作”的嵌入式工程师,同时声明不对该薪酬水平负任何责任。

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

人工智能给嵌入式带来的冲击,是福也是祸,人工智能实现智能化无处不依赖嵌入式技术,人工智能学科在不知不觉中带动嵌入式技术革新,从一系列智能产品,包括无人机、智能音响、机器人控制、城市天眼系统、智能家具、自动驾驶汽车、扫地机器人、小米手环等等,有哪个不依靠嵌入式技术来实现,并没有,人工智能越是想向人类表达他的智能水平,越是要依靠嵌入式技术,所以前沿嵌入式技术更倾向于嵌入式+智能学科的发展,当智能学科真正崛起,嵌入式必定又是一次浪潮与技术革新。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/124760.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月4,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
嵌入式学习路线「建议收藏」
嵌入式技术是各种电子产品的核心技术,也是工业4.0、远程医疗、3D打印等新兴产业的核心技术,具有广阔的发展前景。很多计算机、电子信息类专业的学生都想把嵌入式开发作为自己的职业目标,但是因为嵌入式涉及的知识太多,太杂,太广,很多嵌入式初学者陷入嵌入式知识的海洋中,东学一点,西学一点,找不到学习的方向。
全栈程序员站长
2022/06/30
2K0
汇总一些不错的嵌入式相关的公司
目前嵌入式薪资上涨的原因,我觉得很大一部分是芯片公司带起来的。特别是一些初创的GPU、AI、自动驾驶芯片公司,给得都比较高,当然老牌的一线大厂薪资也很可观。
混说Linux
2023/02/24
2.3K0
汇总一些不错的嵌入式相关的公司
毫无保留,这是我全部的嵌入式学习&秋招经验!
往届互联网校招中一直都是软件为大,硬件不管是从招聘规模还是薪资来说可能都比不上软件行业。
拓跋阿秀
2023/01/30
2.5K0
嵌入式开发的定义 发展前景如何
可能有很多人都不理解这个嵌入式开发的意思,觉得这是这类专业的人才能理解的东西。其实并不然,嵌入式开发其实就是利用一些集成器和分立元件,进行编程的设计,最后开发为系统,这样的定义,大家就都会明白了。但这种开发的系统,一般都比较单一,但是产量比较大,产品研发使用的时间也比较长,而成本又很局限。
用户8739990
2021/07/12
9070
嵌入式开发的定义 发展前景如何
自动化工程师们最关心的十大问题
中国有多少工作很多年的电气工程师;中国每年有多少电气新手需要开始全新的技术生涯;他们有什么困惑需要去解开;他们最关心的问题是什么?他们对未来的期待是什么?本文提取了10个电气工程师最关心的问题 1.电气新手“没事做,没人教,工作没有技术含量”的矛盾心态 电气新手往往心浮气躁,拒绝进步,拒绝沉淀,害怕丢脸。电气研发工作上的时忙时闲,是很正常的事情。缺乏对电气行业的整体认识让新手觉得没有事情做;缺乏与同事的良好沟通让新手没有人去教;缺乏对工作的深入分析让新手觉得没有事情做。学会找事情做,虚心诚恳地去观察,去
机器人网
2018/05/04
5890
嵌入式工程师需要掌握哪些技术?
C/C++是嵌入式系统开发中最常用的编程语言。熟练掌握C/C++语言将使你能够理解和编写底层驱动程序、操作系统以及与硬件交互的代码。对于嵌入式系统来说,效率和资源利用率是至关重要的,因此,掌握C/C++编程技巧是入行嵌入式的基础。
芯动大师
2024/04/15
4030
嵌入式工程师需要掌握哪些技术?
嵌入式求职分享(全网最全)
本文会分享一些嵌入式软件岗位的秋招事宜,对所有流程都会有一个描述,事无巨细,希望可以帮到各位读者。
Jasonangel
2021/07/07
2.2K0
BSP 工程师是干什么的?
要明白什么是嵌入式软件工程师,我们先从嵌入式系统(嵌入式设备)说起。维基百科上对嵌入式系统的定义如下:
AI 电堂
2022/05/18
2.9K0
BSP 工程师是干什么的?
如何成为高级嵌入式硬件工程师?
将基于CPU的处围器件,整合到CPU芯片内部,比如早期基于X86体系结构下的计算机,CPU只是有运算器和累加器的功能,一切芯片要造外部桥路来扩展实现,象串口之类的都是靠外部的16C550/2的串口控制器芯片实现,而目前的这种串口控制器芯片早已集成到CPU内部,还有PC机有显卡,而多数嵌入式处理器都带有LCD控制器,但其种意义上就相当于显卡。
嵌入式与Linux那些事
2023/02/13
9460
如何成为高级嵌入式硬件工程师?
嵌入式,过时了没?
疑惑一 作者你好,我是本科生,之前是学java的,但是后来签的工作是嵌入式软件开发,我对嵌入式开发不太了解的,这行有前景吗? 这是小编在后台接收到的小伙伴的疑惑,任何一个没有踏入社会学的任何自己觉得有用的知识都是相对的,很少有直接将自己在学校或者培训班学习的东西直接切入到对号的工作岗位上,找到什么的工作本身存在很大的变数。作为即将走向社会的学生来说,在不偏离大的方向基础上先能养活自己是第一位的,再想如何进一步发展自己。 java和嵌入式距离到底有多远? java主要集中在后台开发以及客户端App开发领域。嵌
程序员互动联盟
2018/03/16
1.2K0
学机械也想转嵌入式?
前几天,有读者在后台问,他是一个机械专业的学生,想转到嵌入式方向,问我有没有必要转?如果转嵌入式该怎么学?
AI 电堂
2021/07/27
7280
学机械也想转嵌入式?
2022嵌入式工程师面经(2023年1月更新)
## 阿里巴巴嵌入式工程师面经 嵌入式工程师的职位,**电话面试**的主要内容很多:
天天Lotay
2023/01/13
2.1K0
2022年软件工程师报告出炉!年薪最高竟是网安,机器学习比不过NLP
---- 点击上方↑↑↑“OpenCV学堂”关注我来源:公众号 新智元 授权 【导读】同为码农,凭啥NLP年薪就比机器学习高2000美元? 2022年哪个编程语言最受雇主公司喜欢? 软件工程师薪酬在不同地区和不同岗位有什么区别? 最近,一份新鲜出炉的「2022年软件工程师现状」就可以回答这些问题。 其中涵盖了美国著名程序员招聘网站Hired对近37万次雇主和求职者互动的分析,以及2000多名软件工程师的调查采访。 平均年薪只涨了0.8% 总体而言,美国仍然是软件工程师薪资最高的国家,其次是英国和加拿
OpenCV学堂
2022/04/18
6650
2022年软件工程师报告出炉!年薪最高竟是网安,机器学习比不过NLP
当电子工程师十余年,感慨万千!
回顾工程师生涯,感慨万千,愿意讲几句掏心窝子的话,也算给咱们师弟师妹们提个醒,希望他们比咱们强!
混说Linux
2022/11/18
3900
嵌入式开发的必备知识点
嵌入式操作系统(EmbeddedSystem)是指以应用为中心、以计算机技术为基础,软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。举例来说,大到油田的集散控制系统和工厂流水线,小到家用VCD机或手机,甚至组成普通PC终端设备的键盘、鼠标、硬盘、Modem等均是由嵌入式处理器控制的。
用户9736681
2022/05/11
7800
嵌入式开发的必备知识点
中国开发者真实现状:40 岁不做开发,算法工程师最稀缺!
互联网的 2018 年,注定是不平凡的一年。 浩浩荡荡的美国制裁中兴事件唤醒了科技界对芯片产业的重视,倒逼了一系列芯片方面的布局和投资;互联网人口红利不断消耗,推动百度、腾讯、阿里巴巴等科技巨头先后实施战略升级和组织架构调整;加密货币的严格审查直接导致了曾经辉煌无量的比特币暴跌,但数字货币的底层技术区块链却逐步生根落地,推动了下一代互联网建设;华为孟晚舟事件揭开了蛰伏已久的 5G 技术,而围绕 5G 科技主导权的争夺还将继续白热化...... 混沌之下,身处其中的开发者更是切身感受到了波涛澎湃下的技术趋势更迭。为此,CSDN 历时 143 天,重磅发布了 2018-2019 中国开发者调查报告:想了解最全面最写实的开发者画像吗?想了解哪些开发岗位最受推崇、薪资待遇最佳吗?想了解大数据、云计算、区块链、人工智能、物联网等技术领域的最新热点动态吗?......尽在此处!
区块链大本营
2019/03/18
5400
中国开发者真实现状:40 岁不做开发,算法工程师最稀缺!
【韦东山】嵌入式全系统:单片机-linux-Android对硬件操作的不同侧重点
我是韦东山,一直从事嵌入式Linux培训,最近打算连载一系列文章。 正在录制全新的嵌入式Linux视频,使用新路线,不再从裸机/uboot开始,效率更高。 对应文档也会写成书<<嵌入式Linux应用开发完全手册>>第二版, 视频文档、书的样稿可以直接下载:https://vdisk.weibo.com/s/t6HbuIpx6zoa1
韦东山
2020/06/10
1.7K0
从硬件工程师转到纯软件开发,回顾那些岁月
1. 序 前段时间,我写了很多关于js的文章,分享的乐趣使我决定继续写下去。在接下来的时间,我计划也开始写关于Java的内容。 其实我很早以前就想写了,Java是我毕业后学的第一门语言,准确来说,如果单纯为了做一个普通的开发人员的话,只要你熟练掌握MVC的分层,熟练掌握List和Map的用法,然后会写写SQL,基本上就没有什么大问题了。真不难,我一开始也和大多数刚刚接触编程的人一样,感觉Java学起来好难的。 的确,如果你要去深究,我的意思是,深究Java的运行机制,底层代码等,那真的有一定难度。可是,如果
剽悍一小兔
2018/05/17
1K0
公司的电脑为什么卡——因为缺少工程师文化
一流的创业公司创始人往往来自一线公司工作多年的高管,招聘也是瞄准一线公司员工,所以薪资待遇和软硬件设施也一样优异甚至更佳。比如知名产品经理「纯银 v」的短视频创业(猫饼 App,两年被腾讯收购)提供这些:
社区小番茄
2021/12/28
6510
公司的电脑为什么卡——因为缺少工程师文化
运维工程师的职责和前景
运维中关键技术点解剖:1 大量高并发网站的设计方案 ;2 高可靠、高可伸缩性网络架构设计;3 网站安全问题,如何避免被黑?4 南北互联问题,动态CDN解决方案;5 海量数据存储架构 一、什么是大型网站运维? 首先明确一下,全文所讲的”运维“是指:大型网站运维,与其它运维的区别还是蛮大的;然后我们再对大型网站与小型网站进行范围定义,此定义主要从运维复杂性角度考虑,如网站规范、知名度、服务器 量级、pv量等考虑,其它因素不是重点;因此,我们先定义服务器规模大于1000台,pv每天至少上亿(至少国内排名前10
小小科
2018/05/02
2K0
推荐阅读
相关推荐
嵌入式学习路线「建议收藏」
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档