[導讀]上一篇文章木城:聽說你想做一個汽車軟件工程師?(上)閱讀量挺好,于是我打算趁熱打鐵,加一個番外篇。在本篇文章里,我們來探討一下一位汽車軟件工程師的成長過程。還是那句話:一家之言,姑妄聽之!想當年還在校園的時候,我們都被安排好了固定的課程和培養(yǎng)方案,一年一年只要按部就班地選課,最后...
上一篇文章 木城:聽說你想做一個汽車軟件工程師?(上) 閱讀量挺好,于是我打算趁熱打鐵,加一個番外篇。在本篇文章里,我們來探討一下一位汽車軟件工程師的成長過程。還是那句話:一家之言,姑妄聽之!想當年還在校園的時候,我們都被安排好了固定的課程和培養(yǎng)方案,一年一年只要按部就班地選課,最后總能拿到那張畢業(yè)證、開始人生的下個階段。即便是研究生時寫論文,也總歸有大老板/中老板/小老板們給出方向。等走出了校園才暮然發(fā)現(xiàn),自己再也沒有“培養(yǎng)方案”了,每個人的路都是那么的不同,瞬間就被卷在了滾滾紅塵之中,零落成泥呀。不過呢少年,既然已經(jīng)陰錯陽差地選擇成為了一名汽車軟件工程師,那成長道路終歸還是有那么一些軌跡可循的。下面我們就來仔細品一品。由于自動駕駛技術(shù)的興起,汽車軟件行業(yè)最近正處于一個幾十年未見的巨變之中,將來發(fā)展的方向仍未可知。但是就未來幾年而言,無論你具體從事汽車哪個系統(tǒng)的軟件開發(fā),軟件的基本構(gòu)成并不會有太大差異。具體而言可以分成以下幾個最重要的模塊:
汽車ECU軟件架構(gòu)示意
基于這種軟件模塊的劃分,根據(jù)自己的經(jīng)驗,想成為一個優(yōu)秀的軟工程師,我認為需要經(jīng)歷三個階段:
- 傳感器軟件
- ECU底層驅(qū)動
- BootLoader
- 內(nèi)存管理/內(nèi)存分配 (Memory Layout)
- 操作系統(tǒng)調(diào)度
- 通信模塊/通信協(xié)議
- 診斷模塊/失效管理
- 應(yīng)用層軟件
基于這種軟件模塊的劃分,根據(jù)自己的經(jīng)驗,想成為一個優(yōu)秀的軟工程師,我認為需要經(jīng)歷三個階段:
- 某一模塊的專才
- 在擅長某一模塊的基礎(chǔ)上,對軟件整體比較熟悉
- 技術(shù)管理人才
- 軟硬件選型
- 客戶溝通
- 招投標/報價/談判
- 項目管理
- 團隊管理
- 功能安全
- 信息安全
- 質(zhì)量管理
- 法務(wù)、合規(guī)