10几年前,我是读电气工程专业,学了很多东西,结构,电机、绘图,plc等等..
其实,都没什么鸟用,出来还是像个废物。
后面我自学转了单片机开发,说句难听点,自己买个开发板都比在学校学得深。
可能是这个专业的问题,主攻不是嵌入式方向,老师用汇编点个流水灯,这门课就算是合格了。
不知道现在是用什么语言教的,反正注定是跟不上时代发展的,课程体系的建立,并非易事,都是以年为单位。
所以,如果你现在还是学生,还是指望自己吧。
否则,哪怕你是本科学历,毕业以后可能还没有技校生好就业。
所以,为什么学生很难真正学好嵌入式?
答案很明显了,学校学得太浅了,哪怕参加个电赛拿了奖,面对工作都够呛。
我第一份工作时,维护公司老产品,看到代码,头都炸了,那段时间,至少贡献了整个职业生涯10%的头发量。
从一个啥也不懂,到能改代码,再到能独立开发部分项目,再到能够设计程序架构,没个5年以上的沉淀,很难做到。
并不是说这个技术,有多复杂,我觉得主要还是环境的问题。
拿我举例。
刚开始那一年,基本就是修修改改别人的屎山代码,给客户定制功能,有时看别人代码,还不如自己写快,先要熟悉功能,再揣摩上一任工程师的实现思路,最后分析代码实现方法,整个过程,跟破案似的。
后来跳槽,又到了一家做类似小家电的公司,刚开始很爽,很有成就感,因为两点。
第一,整个项目的代码,从头到尾都是自己写,不用再看别人的
第二,这种项目正好是自己能力的临界点,就是大概知道怎么做,但又没做过。
慢慢地,也没啥意思了。
做个1年时间,滚瓜烂熟了,接下来就是各种搬砖的体力活,学不到东西。
而且,这种产品太抠成本,利润又薄,工资也冲不上去。
这种产品,没太高技术含量,竞争力很大一部分是拼供应链。
站在工程师学技术的角度,这种产品只适合刚入行时做跳板。
不要说学生了,哪怕是在一线做研发的工程师,如果一直碰不到好项目,也不一定能学好嵌入式。
所以,我做了一年左右,就跳槽了,找了一家做车载产品的。
这家公司主要用ARM内核的国产单片机。
之前都是用51单片机比较多,产品功能也不熟,大多数东西都没接触过,所以压力还是挺大的,怕过不了试用期。
做嵌入式开发,最怕的不是碰到没接触过的东西,而是找不到资料。
这个项目就是这样,好在,用的单片机还不算冷门,我先是自掏腰包,在某宝买了对应型号的开发板,主要看上了配套资料多。
我想,能搞定一个环节是一个环节,至少到时候领导问起来,不会一点进步都没,进度慢无所谓,态度要端正,要想方设法对得起这份工资。
后来我顺利转正了,不过做了几个月就跑了。
怎么说呢,感觉研发,市场,都是分开的两个外包团队,没什么归属感。
后面还真被我猜对了,老大带着整个研发团队"出轨"了。
我也借此跑路,说离职时,我以为老大会爽快答应。
让我意外的是,平时跟他打招呼,都不爱理我的领导,竟然想加工资留我。
后面,我才知道,是软件组长,偷偷说了我的好话,说我为完成公司的产品,经常自掏腰包学习。
光这点,就吊打了很多工程师。
那几个月,我还是学到了不少东西,比如GPS、雷达、菜单.....算是职业生涯第一个比较复杂的产品了,遗憾的是,还是修修改改,没有从0到1完整做一个产品的机会,所以能学到的东西也有限。
真正让我成长最大的,是后面又跳槽到一家做智能家居的公司。
公司很小,我进去的时候,软件部就我一个人,这下,没人跟我抢了,哈哈。
他们之前是贸易公司,想转研发生产销售一体,我是第一批员工,后来研发部也发展到6-8个人。
为什么我在这家公司提升最大?
我觉得有两个原因:
第一,自己能从0到1,独立完成整个项目的工作。
第二,项目有一定的复杂度。
第一款产品,我做了大概2个月,比较简单。
第二款产品,从0到小批量试产,做了1年左右,边摸索边做。
也是从那以后,我才真正领悟到为什么c语言的灵魂是指针,程序架构,模块化编程到底是怎么个事。
所以,怎样才能以比较快的速度学好嵌入式?
我觉得,如果工作一直做比较简单的产品,提升并不大,哪怕做5年。
我们学员里,有做了开发4年,5年,甚至10年的,就是这个原因,附上3个最近的案例。
所以学好嵌入式,本质上,不是工作经验决定的,而是项目数量和质量决定的,数量决定速度,质量决定高度。
最近很多粉丝问我单片机怎么学,我根据自己从业十年经验,累积耗时一个月,精心整理一份「单
片机最佳学习路径+单片机入门到高级教程+工具包」,全部无偿分享给铁粉!!!
除此以外,再含泪分享我压箱底的22个热门开源项目,包含源码+原理图+PCB+说明文档,让你迅速进阶成高手!
教程资料包和详细的学习路径可以看我下面这篇文章的开头。
《单片机入门到高级开挂学习路径(附教程+工具)》
《单片机入门到高级开挂学习路径(附教程+工具)》
《单片机入门到高级开挂学习路径(附教程+工具)》