"); //-->
大家好,我是麦哥,最近在知乎上的一个网友提问,关于后续职业技术方向的选择,Java还是嵌入式。问题
之前有过一个车辆工程专业的同事是做硬件设计的,想转做嵌入式,后来失败了。
所以提前先声明一点,转行需要持续的努力和坚持不懈的毅力,去克服遇到的一切困难,除非天赋异禀,不然你要付出比科班出身的同学更多的努力。
我从事嵌入式方向已经10多年,对于相关的情况有一点了解。这边我先简单说一下嵌入式的相关情况,聊一下我的看法。
与Java不同,一台电脑就可以练习大部分的技能;嵌入式可以说是电子技术的一个细分方向,更多时候会接触到更加底层的东西,这时候,难免会和硬件打交道。
通常来说嵌入式软件,主流的有单片机开发,Linux开发,这些就需要在硬件实体上进行操作,特别是单片机开发和Linux驱动的开发,就经常要拿个示波器,在电路板上测来测去,然后再结合代码不断的Debug,才可以定位问题,最后甩锅给硬件。
不然发现,搞嵌入式软件的一部分精力被硬件分散了,很难集中在软件业务层的实现上,即便是单纯做单片机软件开发的,也会接触到很多硬件。
涉及到可能是软件,又可能是硬件的问题,这里会经历一个相对漫长的过程了。
软件和硬件的耦合在实际项目问题的排查中,往往比较让人头疼。当然,入个门,开发板上跑一些例程,运行一下,这些问题是不大的。
但是一到量产,还是有很多坑会踩。
所以这里嵌入式工程师会有很长一段路要走,不想Java项目上线,出了Bug,只要不是特别重大的问题,灾难性的问题,不至于杀个程序猿来祭天,还是可以线上修复的。
而嵌入式项目,如果前期的测试验证不够,很多潜在的问题没有在测试阶段暴露出来,那量产之后就会比较惨,如果涉及到改版,就更难受了。
2 嵌入式的岗位需求嵌入式主要还是偏向制造业的,岗位需求还是挺大的,但是,嵌入式不是一个行业,从我个人的角度出发来,我认为嵌入式只是一个技术方向,里面有冗杂的技术栈。
而对于相应的制造业领域有汽车,医疗设备,通信设备,消费电子,工业自动化,甚至航空航天等等,都会有涉及到嵌入式,也会有相应的岗位需求。
总之我们是制造业大国,信息技术的发展的发展也是有目共睹的,不过岗位基本上都是有的,无非是薪资高低的问题。
那么问题来了,我们有多少高端制造业,相关高端制造的毛利率是多少?又能提供多少高薪的岗位?这个应该是大家比较关心的问题。毕竟人往高处走,水往低处流,谁不想找个钱多事少离家近的工作,但是单纯从第一点“钱多”来说,还是僧多粥少。
另外一点比较关键的,行业属性比较强,所以一般跳槽比较难,跨行业跳槽,相当于之前的行业经验归零,沉没成本还是很高的。基础的知识就那么些,新的行业基本上相当于重新学了。这是嵌入式比较难受的地方。
3 嵌入式的学习曲线嵌入式的学习曲线陡峭吗?
这个其实不好回答,我感觉至少得先确定学习目标,那至少是能掌握一些技术,掌握最基本的开发技能,可以达到找工作的目的,这个学习过程是否困难。
结合前面来说,低端制造业相应岗位的技能树,比较轻松就可以点满,但是高端制造业就业岗位的技能树,就要花点功夫了。
这样也就会有一个技术门槛的问题,学习曲线越陡峭,技术门槛越高,相应人才的数量就越少,如果市场上需要这类人才,那么就会比较值钱。
但是,技术总是向前发展的,几十年前,电脑都没用普及,程序员是很牛逼的存在,因为那时候接触到电脑的门槛就高,设备门槛高,变相的提高了编程的门槛。
嵌入式也是一样的道理,下游的开发人员,随着原厂各种资料的完善,开发难度也越来越低,从而降低了学习这个技术的门槛,比如早年移植个FreeRTOS的新的硬件平台,确实要费点功夫,而现在已经简单很多了。
嵌入式现在很多就是这样,很多模块,想搭积木一样,能很轻松地搭建起来,跑起来,感觉牛逼哄哄的样子,不过每个功能往下深挖,都是很庞杂的知识体系。
所以越来越完善的嵌入式开发工具,越来越丰富的嵌入式学习资源,也逐渐降低了学习门槛。所以技术人员要时刻保持学习,毕竟随着技术的迭代和发展,你掌握的技术也会贬值。
4 嵌入式的薪资最后说一下薪资的问题,薪资和行业挂钩,我们得先看整个行业的发展情况。
行业发展情况直接影响到人才的供需关系。
行业蓬勃发展,资本热钱不断涌入,处于野蛮发展阶段,招人,先抢占一部分市场,这时候会产生大量的岗位,之前比如因为芯片制裁,缺芯片,导致的国产芯片替代,然后芯片设计公司不断成立,就会有大量半导体的相关专业的就业岗位,芯片设计之类的;
随之而来的是供需不平衡,这时候招聘就会存在一定的溢价,这时候你的能力和薪资可能是不匹配的,或者说你的能力配不上你现在的薪资,只不过是你吃到了行业的红利;
接下来市场开始饱和,增量结束,进入存量,开始竞争,行业开始洗牌,这时候企业想要活下来,要做的就是将本增效,当然研发成本就要降低了,那么裁员就开始了。
说一下行业情况嵌入式对于行业经验是有要求的,除了基础的嵌入式知识之外,不同行业会有不同行业的知识和经验。这里可以看看我之前写过的一篇文章。
每个人以后就业方向,可以做消费领域的,家电,汽车领域,工业控制,物联网等方向,一般来说会成为电子工程师,硬件工程师,软件工程师,这些方向。
如果是研发方向,一般现在大厂对岗位进行细分,通常会有硬件工程师,layout工程师,硬件测试工程师,嵌入式软件工程师,驱动软件工程师,应用软件工程师,软件测试工程师。可以选择的也比较多的,也是不错的。
至于如何选择,要结合后续行业的发展情况,比如现在新能源车比较火,给钱挺多,可以选择电子信息技术,后续做汽车电子领域方向的研发。不过随着大环境越来越卷,后续岗位的竞争也是越来越激烈,所以并不是找到优质的岗位,也需要自身有过硬的学历和技术。
看了几个汽车大厂的招聘信息,都是需要汽车电子行业的行业经验和知识,虽然薪资诱人,不过要求也高,竞争也激烈的;
岗位-1岗位-2
至于Java后端,具体的情况不太了解,说是互联网行业不太景气,我看来目前大部分行业都不太好了。而且现在做Java后端的人也很多,竞争异常激烈。
虽然互联网大厂不好进,但是不影响进入其他行业,其他行业也有需要Java后端的岗位,包括这些车企,钱多的岗位总是卷的。
总体来说,Java后端岗位应该更加充足,就业选择也更多。
嵌入式行业的绑定更强,跨行业不太好跳槽,不过行业经验也可以保证老工程师的职业周期更长一点,这些年薪资水平是有上去不少,也是一个不错的选择。
各有优势,题主不喜欢硬件,还是选Java吧。
对此大家怎么看?欢迎在留言讨论。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。