职场前辈分享:嵌入式工作的真实面貌及必备技能

发表时间: 2022-06-20 17:06

参加工作后的过来人告诉你,嵌入式工作是什么样的,要学什么?

既然有后生问了,我就再补充一点,希望大家做出选择之前充分考虑好,摆正学习态度。

其实这类问题不光是逼乎上天天有人问,每年我们招来的实习生也没有一个不问这个问题的:做电子、做软件、做硬件、做嵌入式,待遇到底如何??

很遗憾,我必须得说,玩技术的,在中国,互联网公司,确实是最挣钱的。如果诸位学弟学妹们是为了挣钱,大家还是去学做网站吧,那个门槛又低,短期回报率也高。

是的,在中国做电子就是这样苦逼:勤勤恳恳工作十多年,到头来和一些刚毕3年的做游戏小兔崽子工资也差不多。虽然技术上确实比人家扎实,对系统的理解也确实更深入,可架不住人家互联网公司工资就是~~~~

可能是我老了,我对现在的小兔崽子身上很多东西真是看不惯!理论基础一塌糊涂,项目实践等同于没有,就他么敢跟你开工资1万、一52万!!按说像我们这种甚至是更老一辈的老哥们,从小物质条件很一般,长大后对财富的渴望特别剧烈我倒还能理解。照理说你们这90后的成长过程中物质条件还是可以的,能读到研究生的,没有谁说是从小吃不饱穿不暖吧??可为什么找工作时只考虑工资,而想的不我是否喜欢这份工呢??

按理说你90后是改革开放后最有资格放在首位去择业的一代了吧??为什么学电子的出发点依然是为了工资呢???

不是说我这人思想老,作为过来人,我他么太了解电子这一行的艰辛了!它需要你长期耐得住寂寞、耐得住诱惑,一门心思钻研技术。别人2万的时候你只能1万,但没办法,这种日子起码还要10年。一开996那是日常,10年后开始入门了,可以自己接点私活项目了,更是得没日没夜地干!

请问,如果你不是打心底喜欢电子这份职业,你怎么能坚持得下来???

在这里,我要奉劝各位后生,如果你吃不了苦、耐不住诱惑、自己也未必真心喜欢,还请三思吧。真的,挣钱的工作有的是。电子这行钱又少,成长期又长,淘汰率又高,没有充分的思想准备,你会受不了的。

首先你得搞清嵌入三个字到底是什么意思。我发现很多人张口闭嵌入,却又说不嵌入到底是什么东西。搞得好像硬要上位进行区别似的。手机算不算嵌入式?家电算不算嵌入式?游戏机、汽车、机………算不算嵌入式??powerpc的电脑算嵌入式还是算电脑powerpcDVR算电脑还是算嵌入式??

所以你要做的第一件事就是嵌入三个字从脑子里赶出去,因为那属于旧时代的产物。现在只要记住一句话即可:计算机系统本质上将就是一种控制器,这种控制器可以复杂也可以相对简单,可以昂贵也可以廉价。计算机系统在硬件上只有架构的区别、只有外设的区别,除此以外原理上没有区别!而在软件上更是几乎没什么区别!所以你的问题更合适的表达应该是:做软件需要学什么?做硬件需要学什么?如果二者都做应该怎么学??

那么既然你问的嵌入,我就假定你想问的是软硬件都做应该怎么这就是为什么所谓嵌入工程师要求更高的原因。因为一个合格的电子工程师,必须做到软件也懂,硬件也懂。你可以懂得不深,这不要紧,可以慢慢——电子工程师的成长周期是以十年为单位的。

数电、模电、微机原理C语言(少扯什pythonjavac++,你真想学会软件的话就老老实实钻C!当然你要牛叉鼓捣汇编也成,但既然你都问出这种问题来了,所以,咱现实点,先C钻研头再说吧)、编译原理。这几门都是基础,基础中的基础则是高数和大学物理。

在学习这些基础的时候我非常反对只看书做题不练习!电子是一门以理论为基础,以实践为方法的综合学科。书当然要认真看,习题当然要认真做,说得夸张点,连一个标点符号为什么要这么标你都得弄懂!但是如何弄懂这些标点符号的意义呢?唯有实践这一条路!!所以在学习的时候,一块像样点的开发板是必须的!

硬件方面,数电相对容易,本质上就是各种与非门的组合;模电就相对难很多,一颗电阻横着摆还是竖着摆,可能出现两种截然不同的结果。那么如何精通模电呢?很遗憾,没有什么好的办法,只有不停的画图、不停地实验、不停地思考、不停地总结经验。等你踏踏实实画78年图,自然也就明白为什么电阻不能瞎放了。

但是有件非常好的事情就是现在的学习条件真的要比当年好太多,计算机仿真软件的大量出现可以极大提高学习效率、降低学习成本。画完原理图layout你不需要去真打板子,完全可以通过仿真软件来验证设计是不ok。虽然不100%覆盖各种需求,但总是要比做板子来的有效率吧?可以说原先10年模电你可能才刚刚入门,借助现代化的仿真软件,这个时间可能可以缩短56当然前提是你真的认真学习。

软件则相对容易些。首先大量成熟IDE省去了以前搭环境的烦恼。其次以前学单片机最痛苦的就是开发板很大、很贵,并且种类少、外设也少。现在淘宝上随便一搜就满是开发板,各种单片机的都有,外设通常还都很强大,价格却很便宜。除此以外,以前学习资料真的很少。现在不但原厂手册随便你下载,各种第三方的学习资料也几乎是免费在网络上提供。可以说学习门槛比起十几年前大大降低了。

前面我也有提到,学习软件就踏踏实实C学好,C的关键或者说计算机软件的核心,就是如何理解内存、管理内存、安全使用内存。所以说如果你懂汇编,就能更好地理解这句话的含义。不懂就老老实实C吧。中国软件工程师的一个最大的坏毛病就是张口闭口就是一些什么前端后端咯、领域对象咯之类fancy words做互联网站的特别多。表面上花里胡哨貌似很专业,其实懂的只是一些皮毛,或者说懂的只是一些别人已经实现好了的东西。至于这些实现的底层落实到硬件层面意味着什么,统统说不出来。你非要追问他们,标准回答一般都是:那些东西不需要我关~~

好啦,不扯那些没出息的混子了。既然学电子,硬件是具体某个功能的实际对象,而软件则是实现这些功能的载体。对于一个计算机系统来说,对于一个计算机系统软件来说,无非就是将硬件各种外设设置好,然后调用这些外设去实现具体某种功能。前者我们叫驱动,后者我们称之为应用。所以学习的思路这个时候也就应该有光学应用开发不去学硬件设置你真能学好软件开发???

如果之前没学过,那么现在最简单、也是最佳的方式就是先买一51开发板,通51去学习什么是计算机系统CPU这种东西到底是什么,如何设置一CPU,如何应用一CPU。无需觉51是不是太落后了之类的问题,麻雀虽小五脏俱全51看着简单,但它包含了所有有关处理器的硬件、软件原理。先通过简单的东西把基础打牢,然后再谈其它的。学电子是有门槛的,一开始就学复杂的单片机,劝退率必100%

作为一个曾经走过很多弯路、从事了十多年电子研发、现在刚觉得入了门的伪非混子,给你一句忠告就是:电子的门槛不低,甚至可以说有点高,选择了电子就意味着一辈子都要学习,就意味着你越是学得多,就越是觉得自己有多无知。

但同时获取到的成就感、满足感以及稳定且颇丰的收入,至少还是能让你过上体面有尊严的生活的。

哦对了,你还有提到希望少走弯路。我的意见是:如果你对你自己有要求,有些弯路,必须要走!