大家好,我是无际。
我是电气工程专业转的单片机开发。
一、浅谈机械
说到机械自动化行业,我虽然没有做过,但是有时候做产品需要跟做机械的哥们打交道。
一回生二回熟,我们聊天基本也会相互调戏,说真羡慕你做这个啊,不像我们做这个行业怎么怎么样…
虽然很多是玩笑话,但从话里看出了对方的心酸,工作环境差,妹子少,还整天受气。
做个7,8年才勉强过万,很多刚入行的新人看到老师傅的情况就没有继续干下去的动力。
主要又是传统行业,如果现在的年轻人进去很难有竞争优势,而且发展的瓶颈很明显。
千万别听学校吹的这块多么有前景,这种话最不靠谱,学校很多时候考虑的是就业率,而不是就业质量,简单来说就是卖猪仔。
我算是过来人了,包括最近有个学嵌入式的小伙伴找我咨询说学校安排了个大公司给他去做测试,该不该去?
我的个人建议是坚决不去,应届生第一份工作是定方向,我觉得还是挺重要的。
一个学开发的,去做测试,这明显不合理,测试有什么技术含量?
应届生对这块是很迷茫的,总是幻想着先做测试啥的底层工作,然后慢慢进入研发的职位。
如果是大公司这种几率还是比较小的,大公司工作是细分化的,你一个做测试的,基本就是负责做测试,不会让你做别的,更接触不到产品的核心技术。
当初我自学单片机的时候,找了很久也找不到工作,对这个技术找什么职位也不是很清楚。
后面降低了自己的要求,测试也先进去做着算了。
然后就找到了一家做DVD测试的,每天像个机器人一样,听歌看MV,测试DVD有没有问题,压根接触不到技术的东西。
还好,上了一周班我果断离职了,这根本跟我所学不符。
所以,即便当下找不到合适的工作,也不要将就着去上班,工作不合适频繁换反而更浪费时间。
如果你妥协了,再转行就难了,人都是有惰性的。
千万不要明明一副好牌被你打的稀巴烂。
二、PLC和单片机怎么选?
曾经也有几个自动化专业的研究生来咨询我,选PLC还是嵌入式单片机方向。
其实我觉得研究生的底子去做PLC有点浪费,在我看来PLC初中生就能学会。
而且PLC的产品应用还是有一定的局限性,灵活性不高。
做PLC有时候也会经常出差,待遇这块没有嵌入式这么香。
如果是我,我会选择嵌入式单片机方向,不管是现在还是未来都将是很不错的行业。
嵌入式开发是前沿的技术,结合物联网、人工智能未来充满无限想象。
嵌入式的细分方向也有很多,主流有做单片机开发,有做Linux驱动和应用的,也有走人工智能路线的。
这几个方向各有各的优势和缺点,不同的方向产品定位不一样,不存在哪个比哪个更好。
就拿单片机开发来说,很多人说做单片机开发很简单,不值得去学习,建议直接学Linux驱动或者应用。
我们无际单片机编程团队2个导师都是从事了单片机开发10年以上的资深工程师。
对于这种说法还是不赞同的,不是你做的东西看起来越高端越复杂,你技术就越牛逼。
很多高端和复杂的东西都是集成化的,根本不需要你接触底层的东西,简单来说就是会调库侠。
往往是越底层的东西越复杂,含金量越高,你觉得是写Linux系统内核代码牛逼,还是写基于Linux系统应用代码牛逼呢?
毫无疑问肯定是系统内核代码。
所以那些说做单片机开发简单的,基本都是对这个行业理解不深的,只把眼光局限在单片机这个芯片上。
我从事了这个单片机开发10年,做了很多产品,也写过一些复杂的程序。
像内存管理、回调函数、链表、任务管理、队列算法这些都亲力亲为写过。
并且基于这些高级技巧原创了一套轻量级的系统程序架构。
对这个有兴趣的可以直接找无际单片机编程要,手把手视频教程和源码都是开源的。学完以后你会发现,这些都是操作系统底层的东西。比如说链表配合内存管理可以用来做操作系统的邮箱功能。再比如说回调函数可以用来传递硬件层和应用层的数据,真正实现硬件驱动和应用程序模块化。这些技术,用在没经验的人手里就是秀技术,最后把自己坑了,典型的就是c语言的指针。而用在有经验的人手里,就是一把利刃,助你在开发复杂产品的时候过关斩将,解决一个个难题痛点。这些东西,如果没人教你,够你研究10年了,你还觉得做单片机开发简单吗?除此以外,不同领域的产品还涉及到行业以外的知识,比如物理学、生物学、化学。当你技术到达这一步,做Linux驱动开发的未必有你牛逼。这就是我经常说做ARM+Linux工资不一定比做单片机开发高的原因。什么RTOS、Linux对你来说都是浮云,因为你已经很熟悉操作系统的底层逻辑了。学习无非就是看别人怎么用巧妙的代码思路实现这些逻辑而已。
暂无评论