查看原文
其他

灵魂拷问:嵌入式行业真的没前途吗?

CPP开发者 2021-06-06

The following article is from 技术让梦想更伟大 Author 李肖遥

(给CPP开发者加星标,提升C/C++技能)

来源:李肖遥


这是最近一名即将大二学生与我的原版对话

前辈您好,我是一名大一即将大二的学生,对嵌入式挺感兴趣的,想要以嵌入式作为发展方向,但是上网查嵌入式,看到的几乎90%都是负面评价,也加了不少交流群,对嵌入式的负面评价好多,这让我很纠结,我虽然挺感兴趣的,但是几乎所有人都在劝退,这就比较影响我的学习进度,出于兴趣,我在学嵌入式,但是又这么多人劝退使得我很纠结,就在java后端跟嵌入式这两个方向里跳来跳去,有时候学这个,有时候学那个,导致进度提不上来,哪个都学不会多少,想请问前辈,嵌入式真的如网上所说的这么不堪吗?另附:我是普通重点本科的电子信息类专业,按说比较对口嵌入式吧,虽说做java也行。


java后端这些有点属于纯软件了,嵌入式说实在的就是软硬兼得,你的专业与嵌入式比较对口,一些数电模电,单片机微机原理之类的应该都学过,嵌入式没啥不好啊,关键就是要学的东西都太多了,比较杂,反而在待遇上面大部分还不如做纯软件的,但是职业这块都有很多变数的,你想想只要你学好了,不照样可以拿高薪往上升吗?

我个人也是这么想的,也对嵌入式蛮感兴趣,但是现在知乎,或者网上,但凡涉及嵌入式前景之类的话题,都在疯狂劝退,就让萌新很方。

你现在大二,我感觉还是把电子信息类的课程学好

C语言、数据结构,简单算法都学学,你会对嵌入式有大的认识,工作中需要的不是你学了什么,而是在项目中遇到问题的时候,你能解决,做不同项目需要不同的知识点,你能够快速学习掌握,解决问题,所以我觉得学习能力,思维才是最重要的。

嗯嗯,好的,感谢前辈的指导!我会努力的。

哈哈加油干吧

(表情回复)。


1这个问题很普遍吗?


按照这位同学说的,我自己也在知乎上面看了看



目前已经有1000位以上的关注,100万以上的浏览,以及超过150条的回答,看来这个问题真的是大家担心的。


02什么是前途?


前途对于每个人来说定义都太不一样了,但是我想现在大部分人都把这个定义为钱途了。


先说说前途,我不觉得钱途就是前途,每个人的人生就是不一样的,你能说在家里当个老师,教书育人就没前途吗?


过自己想要的生活,简简单单的,虽然没什么钱,但是也不会这么累,不给社会添麻烦,这个不一定是没前途。


世界这么大,想去看看,经历一些未知的世界,体会一些奇特的风景,让自己行走在路上,也是没前途吗?


... ...


那钱途呢?


很好的工作收入不菲,能够让自己喝酸奶不舔盖?


赚很多的钱,财务自由,可以对老板说不,可以说走就走,有钱任性?


我想大部分人都是想不缺钱花,不为钱着急,能为自己在意的人做一些事,不一定非要大富大贵,但求自由就好。


03什么是嵌入式?


嵌入式的定义


百度百科定义如下:


嵌入式开发


百度百科定义如下:


嵌入式开发是指在嵌入式操作系统下进行开发,软硬件结合,在一定硬件条件下完成的系统化设计和软件研发,需要软硬综合能力。


04嵌入式行业主要做些什么?


我们终究走向岗位,从学到的知识到去见识的领域,再到自身从事的具体工作,都是环环相扣的,我们从这三方面说起


学嵌入式要学什么


说实话,学嵌入式要学的东西太多了,我都不好意思一一举例,步入这个行业快十年了我也不知道细节的要学些什么。只能根据自己的经验,简简单单聊两句,大概需要掌握以下几点:


  1. 硬件控制器
  2. 电子元器件等等
  3. 电路设计相关知识
  4. 硬件通信外设(包含相关的协议)
  5. 软件编程(包含C/C++/Qt/数据结构/常用算法等)
  6. MCU、SOC、CPU外设

我画了简单版本的思维导图,当然这里面有很多欠缺的,我只是轻描淡写了一些,遗漏了很多,也有些可能不会遇到,总之只是给大家一个概念,供大家参考:

总之,对于刚入行的朋友,我只有一点建议,先打好两个基础:


电路基础:熟悉数字电路,能看懂电路,能分析功能,能根据电路编程


C语言基础:要学的精通,学的精通,上了系统程序看都看不懂。


嵌入式的应用领域


在外面日常生活中,手机、平板电脑、照相机、电子字典、光猫、机顶盒(Set Top Box)、交换机、路由器等等,还有仪器仪表、汽车电子、物联网、智能家居、医疗仪器都是典型的嵌入式的应用,几乎贯穿了我们的生活。大致分为几类:


  • 军用领域


各种武器控制,如飞机坦克等陆海空各种军用电子装备,雷达、电子对抗军事通信装备,电视剧上出现的各种GPS定位导航等等。


  • 消费电子行业


我国各种信息家电产品,大都是采用微处理器/微控制器及嵌入式软件。


  • 工业控制行业


各种智能测量仪器仪表、分布式控制系统、工业智能机器人、汽车电子设备等,广泛采用微处理器或者系统级嵌入式计算机。


  • 网络应用


2/3/4/5G网络的发展,产生了大量网络基础设施、接入设备、终端设备的市场需求,这些设备中大量使用嵌入式系统。


  • 其他


这里真的是数不胜数,总之随着万物智能的时代,几乎是生活的方方面面都存在。

从事的具体工作


嵌入式产品开发是基于产品的功能,从功能需求、提出意见并选择方案、器材选型、电路设计、PCB电路板设计、软件设计、综合调试到样机生产、软硬件综合调试,软硬件结合的产品开发。


所以嵌入式开发需要软硬件都懂的基础要求,根据侧重点的不同,嵌入式产品开发工作可以有以下分类:


硬件


  1. 电路设计:产品原理图的设计,需要对数电模电都比较精通,且熟悉单片机、arm架构及熟练外围电路的使用;基本上会电路设计的都会PCB设计。

  2. PCB电路板的设计:需要熟悉数电、看懂常用模电,对单片机、arm外设了解,且具备安规电磁兼容的应用经验。

软件

  1. 驱动开发:基于电路图实现产品的驱动开发,需要看懂电路,精通C语言,熟悉arm架构、X86架构及常用外设的使用,熟悉操作系统内核、驱动等。

  2. 应用开发:基于操作系统之上的应用程序开发,有一点电路方面知识,需要软件编程,熟悉操作系统、数据结构等。

  3. 系统开发:基于硬件的uboot移植、内核移植裁剪、根文件系统制作等系统环境搭建等,需要精通C语言,一些汇编知识。


05嵌入式行业到底怎么样呢?


嵌入式和制造业息息相关,我觉得本质上还是计算机系统,从底层软件设计,嵌入操作系统优化,应用程序设计和算法开发等等,这些事情,在嵌入式都一一需要。


任何事情都是有相对性的,我不劝退也不支持,只是根据目前所处的阶段进行分析,可能以后连自己都不认同自己的观点了,仅供大家借鉴。


与互联网行业对比


我想问这个问题的大都是选择互联网还是嵌入式。说实在的,互联网总体薪资水平毫无疑问是高于嵌入式行业的,可能起点就比三五年工作经验的嵌入式工程师要高。


嵌入式就像是雕刻豆腐,而互联网就像在砍大树,嵌入式属于重资产,各种成本算起来,实际上到员工的工资肯定就少了,互联网属于轻资产,相对来说,流量重要,但是行业也变化的快。


说完了薪资待遇,肯定想了解这个工资的性价比,觉得嵌入式可能要轻松一些,敲代码的都是工作996,生病icu,但其实多部分是一样的,反正我在深圳,并没有体会到这种巨大的差别。


领域技能vs业务技能


  1. 什么是领域技能?

领域技能是不会随着时间变化,是不会随着业务场景变化而降低价值的领域知识。比如,你是一个医生,时时刻刻都是有人生病的,你的技能不会因为时间变化而价值降低。这就是领域技能。


  1. 业务技能是什么?


举个例子,有些人只会自己本公司的业务开发,比如是自己公司的协议方面开发专家,但是离开了自己的公司,到外面就用不到了。只追求是在本来框架下,把业务逻辑完成。这就是领域技能。


同样,互联网行业变化莫测,你掌握的业务可能随着时间的推移而被淘汰,而我们的领域技能就很重要,任凭世界变化莫测,我凭技能走天下。


说到这,相信大家有点理解我的意思,不在于选择互联网还是嵌入式行业,而是要提升自己的领域技能,做到硬实力闯南走北。


我身边的几个例子


太多太多相对的例子,是使你无法分辨的,孰好孰坏谁又能看得清呢?我只有看看自己身边的人,这样才具有话语权。


  1. 入行近15+年的老员工


这位是我在大厂时,我的师傅,技术过硬,为人随和,04年毕业先在周立功干了三年,后跳槽。做项目时,搞单片机的时候,能够立马入手,写个C++的系统框架也是两周搞定,搞Linux里的问题也能很快找到问题,我自己跟着也学到了很多。


但是技术是一方面,我印象最深的一句话是他说:我的目标是在一家公司待满十年;到今年应该是整整十年了,我很不理解,因为我当时还是比较浮躁的,钱少,缺少乐趣或者一些事情,可能就动了念头。


现在我明白:他是想积淀,厚积薄发,那么同样,在嵌入式行业就是需要这样的积淀与专注。可能现在我们承受不住一些压力或者有些公司确实是渣渣,但是我们持续学习的心态是要不变的。


  1. 五年工作经验的朋友


我的一个好朋友,毕业去全志科技,搞Linux开发,大公司吧,待了两年,扎扎实实学技术,但是薪水也没涨多少,因为一些外部因素的影响,公司裁员,躲过之后自主离职,与部门经理去了家创业公司。


三年沉淀,最近也开始分发股票,筹备IPO了,算是在深圳步入了正轨。但是与同样5年的互联网行业比起来,薪水各方面还是差了很多,他们毕业两年的时候就差不多是这个水平了。


但是谁又能说的定?嵌入式行业注重的是实力的沉淀,工作经验增长,各方面能力也都在提升,虽然天花板在那里,自然的也更稳定一些。


  1. 入行两年的小学弟


入行不到俩年,跳槽三次。一次因为裁员,一次因为工作调整跳槽,一次因公司问题选择跳槽。但就是这么几次跳槽,工资水平已经远超在同一家公司待了两年的了。


我在想,是不是不跳槽真的不会涨工资,也许这个行业就是喜欢这样倒挂。我只能说要是我自己选择,同等实力下,我肯定不会选择跳槽这么频繁的。


总而言之,嵌入式行业就是一个需要积累,需要用心的行业,选择哪一个不重要,重要的是兴趣,不要太浮躁,不要太功利心就好。


06嵌入式真的没前途吗?


嵌入式行业真的没前途吗?


说实在的,知乎大部分都在劝退,无非就是钱少了,与同学朋友对比产生伤害了;嵌入式需要的是精英不是打杂的,有天花板;当然也有支持的,毕竟实业兴邦,国家需要基础建设人才;嵌入式领域依然有好的公司好的待遇可以发展;更适合创业,可以自己单干,前途掌握在自己手中。


我总结了一些不同的人群,嵌入式到底适不适合,有没有前途。


对于学生群体来说


学生群体选择面是最广的,不管你是什么专业什么学历,你都可以尝试去改变,并且这种改变是最有效的。


我觉得,如果你是有兴趣,喜欢与硬件打交道,那么毫无疑问你都可以去往这个方向发展,关键在于学好基础,毕竟要学的可多了。


如果是电子通信专业,那么就更佳了,别犹豫,为祖国做贡献。如果是非相关专业,也是可以的,毕竟嵌入式门槛低,电路基础与C语言掌握了,后期在工作实践中学习,一样可以。


如果目前没有找到合适的学习路线,可以去看看一些教程,我个人比较推荐的是韦东山老师的教程,很全面也很细致;还有朱有鹏老师的教程,尤其是关于物联网这块的。相信你们可以自己可以找到他们的教程去学习。


对于初入职场群体来说


本身就是搞嵌入式的,可能在职场上遇到一些阻碍,觉得前景有限,想转行想拿到更高的薪资。这里我建议你需要好好思考,同时也不要犹豫。


如果只是因为薪水,工资水平,与身边人对比这种,一定要慎重考虑,我们需要在一个领域坚持才能有领域技能,想好了转行之后的路是不是适合自己,这样才能走的更好更远。


如果自己对嵌入式行业真的是没什么兴趣的,当初也是误打误撞入坑的,那么我建议你趁早转行,现在随便哪个培训机构培训个后端的,工资都是一万多。你可以转入其他行业,猥琐发育。


对于职场前浪


入行了,有一定的积累了,但是就是不涨工资,你能怎么办;踏踏实实干了三五年,这个行业天花板就是这样了,待下去都可以看到五年后的样子了;怎么办?


这个时候,我们真的需要思考,我们所处的行业,如果我们的硬技能,领域技能,过硬的话,可以换个行业,继续深入。不建议转行了,我们应该思考,让自己适应这个社会。


总体而言,我们有这样的思考都是为了能够生活更好,实现自身价值,只要不断的持续学习,提升领域能力,8小时以外的学习,主业以外的生存之道。




- EOF -



推荐阅读  点击标题可跳转

1、C 语言一枝独秀,嵌入式开发市场研究

2、浅析 C 语言中一些“令人吃惊”的结构

3、C 语言最大难点揭秘:编程的祸根!


看完本文有帮助?请分享给更多人

关注「CPP开发者」加星标,提升C/C++技能

好文章,我在看❤️

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存