在知乎上看到一个关于嵌入式的问答,感觉有一定参考性,搬运过来给大家看看。
以下是问题内容:
嵌入式是大坑的说法,是否与学生的信息不对称有关?
知乎向来流传嵌入式是大坑的说法,我混迹嵌入式话题快2年了。总结出了以下几点,希望已经从事该行业的前辈,能现身给个说法。
知乎大部分人眼里的嵌入式:1工资低的不像话 2小学生干的活 3学的要死要活的,付出很多,最后付出得不到回报,还不如趁早转互联网。
对于这个现象,我从学生角度,有如下发现:
现象1:想从事嵌入式方向的学生,大部分是ee专业。在本专业中,单片机被过度神话,尤其在一些二三本院校中,单片机被看作是救命稻草的存在。仿佛学好单片机就能xx,学不好连工作都找不到。
现象2:学生基础不扎实。说嵌入式是坑的大部分人有以下特征:1学历或本科普遍不高 2死磕单片机,然而单片机只是工具,重点应该放到模电数电等基础课程上,但这些人大部分基础很不扎实,非常浮躁,沉迷于校园各种高大上的制作和项目,对原理的思考甚少。3大部分所谓的项目,是在重复劳动,驱动大部分来自网上,很少有人能看着芯片手册编程。
现象3:害怕跨专业。从大部分学生的经历来看,从事的方向应为嵌入式软件,但因为专业的缘故,经常给自己冠名以嵌入式硬件工程师,因为害怕脱离本专业。结果,两边都学的不精。本专业的电路基础,模电数电,信号与系统,高频电路等学的非常一般。而软件方向的,编程语言,数据结构,操作系统等根本没有系统学过,冠冕堂皇称之,在项目中学习就可以了。从很多答主的经历来看,不懂指针,不懂数据结构操作系统,就开始上手linux。因而校招中,软件方向因数据结构等课程不过关,笔试被残忍淘汰,电路设计因为学校没有很好的研究环境更是不堪一击。于是发出了嵌入式要完,我学的那么用功,依然找不到好工作等言论。
现象4:没有上升到linux,在win裸机中打转,板子的bootloader甚至没听过,对自己的开发平台一无所知。
现象5:少部分人声称,学好了也没什么用,普通人干10年,最多就20w,和互联网差太多,而且招的人少。从我调查来看,嵌入式人才供不应求。以拉钩网为例,嵌入式3年经验工程师,北上广12k月薪以上遍地都是。3年或者5年工作经验者,20k也比比皆是。从校招来看,海康华为等给的薪水,10k以上已经是非常普通。985研究生校招,14k以上也非常多,只是略逊互联网,根本没到要完的地步。而且听很多hr说,他们非常缺嵌入式工程师,有招人难的问题。我单独私聊了几位已经工作的嵌入式的前辈,大部分表示工作压力不大,甚至不加班。尤其手上的项目一结束,就会有很大的空档期。
问题来了,在坚持目前互联网优于嵌入式的大前提之下。说嵌入式是大坑的人,是否和以上因素分不开,还是有其他因素在?ee嵌入式圈,是否存在不利于长久发展的学习风气???
以下是知乎用户Kerr Wang的回答
首先,题主的这个问题问的非常好,五个现象的分析很客观。
知乎大部分人眼里的嵌入式:1工资低的不像话 2小学生干的活 3学的要死要活的,付出很多,最后付出得不到回报,还不如趁早转互联网。” 这个观点里面初看有那么一点道理,但是很多人从来就不想想,现在自称是嵌入式工程师的,有几个具有正儿八经的完整的知识体系的,大部分人眼中认为会玩点ARM,会点C语言,甚至连指针都用不熟的就是嵌入式工程师了。
那些个几天嵌入式培训课程上完,一点原始的技术积累都没有,能拿着人家弄好的内核镜像烧着玩,拿着人家的程序也能改几行,大部分这样的人实际上只是搬砖的,拿低薪也是正常的。
不过话又说回来了,现在很多小公司也只需要这样的人打打下手的也就行了,主要是开发平台越来越先进,开发的成本越来越低,而且小公司压根就不需要保证性能和可靠性,直接使用芯片提供商或者硬件提供商的评估板评估代码改改就能用,并不需要去了解架构这些东西,只需最后的东西能工作就行了,你觉得这些工作需要什么水准的人?我觉得这样的工作让小学生去干,确实是可以的。
但是嵌入式开发真的就这么简单吗?我一个师兄在华为无线部门,上次聊了会天,他们给设备写代码增加功能,代码功能一加再加,但是要求编译出的二进制文件体积和程序运行占用的内存不能比之前的代码大,因为新代码要兼容旧设备,旧设备的flash和ram就那么大,你增加了体积,旧设备就没法用了,所以就得不断的优化,甚至得到汇编级别,寄存器级别去优化。这要是换在小公司或者初创的公司的话,没事,代码体积增大了,换大存储大内存完了咯,这样他们需要的就不是嵌入式工程师了,或者只需要水平很低的所谓的工程师了,工资拿不高也是正常的。
这个时候有人就会说,那些大公司进不去啊,那没办法,自己水平低又不愿意突破还天天抱怨那又有什么办法呢?但是有人会说,那些初创的互联网公司要的人水平也不咋地,随便培训几天工资就很高了。这个是真没办法,这个是由经济情况决定的,互联网经济下热钱多,投资人不差钱,自然给的就多,这个不是技术水平决定的,反观嵌入式开发,实体经济下滑,真正能开起大价格的只有大公司,从这个角度来看,嵌入式工程师的工资是很符合经济规律的。互联网公司的大牛的工资也很高啊,所以就得出结论,不论是嵌入式还是互联网,真正能称得上是工程师的工资都不会低,你看今年海康的嵌入式开发就比软开高了1K。工资差异大的,只是那批打下手的,这个是经济情况决定的,但是三十年河东三十年河西,谁敢保证互联网经济就不是一个泡沫呢?到那时,只剩下大公司能够运营,情况你就可想而知了。仔细研究一下你就会发现,嵌入式的公司大多都是服务提供商,提供的是通信,基站等等行业,这些行业永远都是不会垮的,所以在经济危机当中,嵌入式行业不见得就是一个坑,中国可以没有那些创业的电商,但是绝对不能没有华为,中兴这样的公司。另一方面,现在智能硬件火起来了,你看各种智能家居,各种无人机,VR都需要嵌入式的支持,今年网易不是还有招硬件开发的么?到这里,搞嵌入式的是不是心情爽了一点。总之一句话,不论哪一行,互联网还是嵌入式还是其他行业,你要想不被淘汰,只需要一个字,“屌”,够屌就行。
至于题主后面的现象分析,现象1和现象2这个是当前的教育环境与生产环境脱节导致的,体制导致的东西,这个谁都没办法的。尽管学校大搞产学研,但是都TM是假的,当年嵌入式课的时候,老师一直在那读PPT,有些关于架构和编程的东西还讲错了,嵌入式实验课的时候,第一节课发一份pdf文档教大家ADS软件是怎么用的,这个软件ARM公司当时都不再提供支持了,我的Win7电脑装都装不上。第二节课的时候每人发一块板子,我记得是OMAP138的,给了一个bin文件,烧进去看看现象,代码都没开放,这叫上课,这TM在逗我,不过我也不需要那些个实例代码,因为我自己也可以写,成功装个逼,要不是先前自学了点,还真被忽悠的一愣一愣的,觉得嵌入式开发就是拿着bin文件烧着玩。
教育体制的东西就不去吐槽了,所以么,自己心中要有数,知道自己该学什么,该干什么。
问题5前面最前面分析的差不多了,不说了。
至于问题3和问题4,那是自己的问题了,其实很多人都知道问题在哪了,就是不去做不去改啊,老西医就要说一句了,别治了,已经治不好了,没救了,等死吧。
本科阶段是打基础的时候,广而学之,这是很重要的,开阔眼界,串联各个技能树和知识体系最重要的阶段,培养自学能力和查找资料能力最重要的时候,大一大二的时候就是培养这个能力的,这个时候很多东西自己都要有个概念,什么叫有个概念,就是这个东西你知道名词,你知道它是干什么,但是可能对细节不了解,这个没关系的,当你遇到一个任务或者需求的时候,因为你知道每个东西是干什么的,你就知道用什么东西去做,至于细节上怎么去操作,查啊,网络这么方便,至于怎么查,这个时候就是名词的作用了,这个才是你大一大二甚至大三上学期真正应该掌握的能力了,后面的时间就是不断的深化和实践。不要觉得本科的理论课程不重要,记住啊,是理论课程,你应该清楚理论课程都是在大二的时候结束的吧?他们的目的是什么,目的就是通识,需要你去掌握概念,你要是现在问我,小信号放大怎么实现,我不一定马上就能答得出来,但是我可以去百度三极管,静态工作点,直流通路,交流通路,小信号模型,运算放大器,同相放大,反相放大这些东西了,很快就可以给你一个电路,这就是概念的重要性,但是如果你不知道三极管这个名字或者你也不知道三极管的作用,你告诉我,你拿什么关键词去查,关键词理不理解?当然,你要是够聪明,直接查放大器就行了,当然这里只是举一个例子而已,不必当真。前一段时间啊,由于一定的需要,去看了一下《数字信号处理》和《现代谱估计》里面的AR模型,伯格算法,时频域分析,为什么呢?因为我知道要这么干啊,卧槽,看一下还真TM有用,当然啦,这几门课当年都是学过的,我知道要这么干,所以我就去看了AR估计,深入了解了一下细节,然后去吹牛逼吹得很是牛逼啊,要是不知道这些个概念啊,这个牛逼啊,它就吹不起来了……
所以,对于现象3和现象4,最重要的能力不是你会写几行代码,会玩点Linux,而是一个完整的体系,这个体系搭不起来,都是扯淡的。软件工程师也要懂一点硬件啊,硬件工程师也要懂一点软件啊,不是说精通,但是至少知道概念啊。至于这个能力怎么培养,我也不知道,我能怎么办,我也很绝望啊。我可以猜出来,有人会说,我学校不咋地,学校软硬件设施跟不上,我该怎么办?我也不知道啊,我能怎么办,我也很绝望啊,但是我只知道认真学就对了。不要觉得,其他学校就能怎么样,马克思主义告诉我们,“人的主观能动性是很重要的”,但是习主席又告诉我们,“空谈误国,实干兴邦”,所以还是赶紧干活去了,哎,我能怎么办?我也很绝望啊……
——————————
对于这个问题,不知道大家有什么看法呢?