从我毕业参加工作已经一年多了,毕业时阴差阳错选择进入汽车行业,成为一名嵌入式软件开发工程师。
刚入职的时候对自己的岗位完全不了解,导致岗位的工作内容与自己的预期相差甚远,度过了三个月非常难熬的时光。找工作的时候只关心薪资,只知道岗位的名字,那你不进坑谁进坑。
给即将毕业,正在选择职业方向的同学一些建议:充分了解你将从事的行业和岗位。在网络上充分的调研,或者去问问你的学长学姐,当然最好的方法就是去你将来想要去的行业和岗位实习,这就是实习的意义:低成本的试错。当你失去应届生的身份时再去换方向,那是要脱层皮的。
现在很多人之所以选择汽车行业的一个最大的原因是:互联网不行了。但是抱着这种想法被迫选择汽车行业的人,是最有可能失望的。
互联网是第三产业,开发一款APP,然后通过给用户提供服务来盈利,几乎所有的成本都是人工成本。但是汽车行业是第二产业,要生产出一辆汽车,需要上下游多少产业的支持。人在其中的决定性作用是稍弱的,原材料成本、产线成本、销售成本,哪一项不比软件开发的人工成本重要。这也是为什么互联网的工资普遍比嵌入式高。
你以互联网的预期进入汽车行业,你就会有这样的疑问:为什么没有产品经理?为什么没有明确的需求?为什么软件开发竟然不需要写代码?
因为汽车行业没有高并发,没有服务器集群,没有上亿的用户等着用你的软件。汽车行业的软件是买车子送的!至少现在是这样。
当然,现在汽车行业也在发生一些变化:软件定义汽车。以特斯拉为首的造车新势力,经常会喊这句口号,什么新的电子电气架构、新的SOA架构、新的Autosar标准。什么自动驾驶、智能网联、新能源。这些新的概念更多的是商业的东西,是用来吸引投资的东西。如果你是软件架构师、算法工程师、人工智能科学家,你可以明显的感觉出变化,但对于嵌入式软件的变化就是多了一些MPU的应用场景,但目前需求量还不高。
汽车行业的嵌入式软件更多的是重流程、重标准、轻代码。汽车毕竟是车规级产品,不是消费类电子。手写代码难免会出错,所以基于传统的Autosar(CP)的软件大部分都是配置生成的。一些基于Adaptive Autosar(AP)的软件是手写的,我觉得这也是因为还没有成熟,等Adaptive Autosar成熟了之后,怕是也要变成配置生成代码。
我分享一下我了解的岗位:
MCAL工程师:推荐指数 ⭐⭐⭐⭐
MCAL是CP autosar中的微处理器抽象层,你可以理解为符合CP autosar标准的MCU驱动开发。对MCU的底层寄存器操作进行抽象封装,提供给上层使用。
优点:
缺点:
BSW工程师:推荐指数 ⭐⭐
BSW工程师是CP autosar中的基础软件开发,通过配置工具生成代码,然后在生成代码的基础上少量修改。
优点:
缺点:
ASW工程师:推荐指数 ⭐⭐
ASW工程师是CP autosar中的应用软件开发,基于Matlab和Simulink等仿真工作,做各种控制逻辑的仿真模型,然后生成代码。
优点:
缺点:
BSP工程师:推荐指数 ⭐⭐⭐⭐
工作内容包括:对SOC进行bring up,移植裁剪kernel、rootfs,集成开发驱动等
优点:
缺点:
中间件开发(SOA Middleware):推荐指数 ⭐⭐⭐⭐⭐
这是与互联网的那一套最接近的岗位了,工作内容包括:开发符合Adaptive autosar标准和SOA架构的中间件,比如服务注册、服务发现等机制。
优点:
缺点:
应用软件开发(Adaptive Autosar):推荐指数⭐⭐⭐⭐
工作内容:基于Adaptive autosar中间件,进行应用层开发。
优点:
缺点: