2021-09-29

上篇文章介绍了我那些传统汽车行业的朋友,文中三个例子均是从传统行业跳槽转换了职业方向,观点可能有些片面,但也能代表汽车行业一部分朋友的现状。

今天,我想结合自身对于汽车软件的了解,谈谈汽车智能化浪潮下,“汽车人”的职业方向选择。

在开始今天的话题之前,先声明一下:由于本人经验和职业方向的限制,该文章的讨论范围基本限于汽车电子软件方面。

对于汽车电子软件,可以进行以下分类:

  • 按照开发主体分为:嵌入式开发和单片机(MCU)开发;

  • 按照底层平台分为:Linux、QNX、Andorid、OSEK(AutoSAR Classic)、ROS;

  • 按照岗位分为:系统工程师、软件开发工程师、软件测试工程师、系统测试工程师、软件工艺工程师(Software Process Engineer,暂且这么说)。

为了更明确的选择职业方向,不可不将“汽车人”们的工作方向和技术栈,作一个大概的分析,以便大家更准确的进行参考。

那么,“汽车人”的工作方向和技术栈是怎样的呢?

软件开发工程师。汽车行业对于程序员的要求相比于互联网/IT行业低一些,他们只需了解简单的数据结构和算法,其主要编程语言是C和C++。然而,汽车行业的程序员也分为很多种,本文讲讲我最熟悉的MCU软件和嵌入式Linux软件开发。

这两种岗位对于软件开发人员的要求与互联网/IT企业不同,他们不需要具备深厚的数据结构和算法知识,也不要求掌握设计模式和软件架构等方面的专业知识。

然而,他们需要具备对于底层硬件、软件、交叉编译、驱动等方面的知识储备。

当然,如果你具备上述非强制要求的知识,固然很好,但我认为你大概不会选择进入汽车行业做程序员。

MCU开发工程师要求熟悉多种芯片,比如瑞萨和英飞凌、熟悉AutoSAR Classic、熟悉CAN与LIN通信、熟悉各种硬件,且基本只有传统零部件供应商才有招聘需求,因此不容易进入各大OEM、造车新势力和明星初创公司。

另外,由于AutoSAR Classic标准很成熟,且工具链供应商提供的符合AutoSAR标准的工具已十分成熟,因此MCU工程师基本都是通过工具配置底层软件,然后根据需求进行上层业务开发。

比如,购买了Vector的工具后,BSW和RTE层等全是可配置的,开发人员只需要根据需求完成上层业务开发即可。

由于AutoSAR标准仅适用于汽车行业,因此汽车行业的MCU工程师跳槽后就业方向限制在汽车行业。

另外一点,由于各零部件厂商使用MCU开发的产品基本都是成熟产品,程序员们大都是根据需求小修小改或者解决bug,从头开始进行正向研发的项目并不会太多。

相比于MCU开发,嵌入式Linux开发工程师不要求熟悉太多硬件设备,但需要熟练使用Linux、熟悉多线程和多进程、熟悉IPC通信、熟悉网络通信等等。另外,由于Linux内部工具众多,因此使用shell、cmake、python等做工具和构建软件等也是基本能力要求。

上述这些只是最基本的技术栈,根据产品的不同,嵌入式Linux要求掌握的技术细节也会有所不同。

比如,以太网通讯就需要熟悉SOMEIP和TCP/IP协议,4G通讯则需要熟悉MQTT和OPENSSL协议,做音频则可能用到ffmpeg等等。

嵌入式Linux开发岗位有这么多要求,并非坏事,因为汽车行业对于嵌入式Linux的需求来自零部件供应商、传统OEM、造车新势力、智能和自动驾驶初创企业,可以这么说几乎汽车行业所有环节都有需求。

此外,互联网和IT企业对于嵌入式Linux的需求也很大,比如手机、智能手表等大量智能设备。

就我个人看来,汽车智能化的过程中对于Linux的使用会越来越多,需求也会越来越大。哪怕以后不想从事汽车行业,嵌入式Linux开发工程师跳槽到互联网和IT企业也没什么太大的难度。

当然,汽车行业程序员还包括功能安全、算法开发和软件架构等岗位,但我除了对功能安全有些经验外,另外两个岗位不太了解,就不在此展开了。

但是,为什么我不介绍功能安全岗位呢?

首先,我认为自身经验过于浅薄,且功能安全实在过于复杂。这个岗位应该属于MCU开发方向,因为它要求工程师不仅具备扎实的软件知识,还要具备丰富的硬件知识,对于软件开发工程师的要求过多,且工作内容极其庞杂。

如果你是经验浅薄或者转行做程序员的朋友,我建议这个岗位就不要看了,因为真的无法胜任。哪怕你是经验丰富的工程师,也要经过培训和做项目才能缓慢转到这个方向。

其次,具备功能安全级别的产品一般都是成熟的产品和平台,目前我还未见过从头开发的功能安全产品,所以我就不深入介绍这个岗位了,以免误导了大家。

限于文章篇幅,本文就先介绍汽车行业中软件开发程序员的工作方向和技术栈,至于软件测试和系统相关岗位将放在后续文章中进行介绍。

希望今天这篇文章,可以给各位朋友带来一些启发和参考。最后如果你觉得本文写的不错,可以来一波点赞、在看。

ps: 欢迎关注我的公众号[程序猿司晨],分享汽车行业转行程序员的成长与反思.
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值