上一篇文章 木城:聽說你想做一個
汽車軟件工程師?(上) 閱讀量挺好,于是我打算趁熱打鐵,加一個番外篇。在本篇文章里,我們來探討一下一位汽車軟件工程師的成長過程。還是那句話:一家之言,姑妄聽之!想當年還在校園的時候,我們都被安排好了固定的課程和培養(yǎng)方案,一年一年只要按部就班地選課,最后總能拿到那張畢業(yè)證、開始人生的下個階段。即便是研究生時寫論文,也總歸有大老板/中老板/小老板們給出方向。等走出了校園才暮然發(fā)現,自己再也沒有“培養(yǎng)方案”了,每個人的路都是那么的不同,瞬間就被卷在了滾滾紅塵之中,零落成泥呀。不過呢少年,既然已經陰錯陽差地選擇成為了一名汽車軟件工程師,那成長道路終歸還是有那么一些軌跡可循的。下面我們就來仔細品一品。由于自動駕駛技術
的興起,汽車軟件行業(yè)最近正處于一個幾十年未見的巨變之中,將來發(fā)展的方向仍未可知。但是就未來幾年而言,無論你具體從事汽車哪個系統(tǒng)的軟件開發(fā),軟件的基本構成并不會有太大差異。具體而言可以分成以下幾個最重要的模塊:
- 傳感器軟件
- ECU底層驅動
- BootLoader
- 內存管理/內存分配 (Memory Layout)
- 操作系統(tǒng)調度
- 通信模塊/通信協(xié)議
- 診斷模塊/失效管理
- 應用層軟件
基于這種軟件模塊的劃分,根據自己的經驗,想成為一個優(yōu)秀的軟工程師,我認為需要經歷三個階段:
- 某一模塊的專才
- 在擅長某一模塊的基礎上,對軟件整體比較熟悉
- 技術管理人才
某一模塊的專才:這是汽車軟件工程師的第一階段。初出校園的時候,我們總是從接觸某一個具體模塊開始職業(yè)旅程的。比如通信/診斷工程師
,自然就開始接觸通信、診斷模塊。而應用層工程師
會從應用層中的某個具體功能入手。即便是需求工程師
或
測試工程師,也會先負責某個具體模塊的需求或者測試工作。在這一階段,小白們需要做的是迅速掌握自己的模塊。對于通信/診斷工程師而言,這個過程比較輕松,半年到一年足夠了。所以我在上篇文章里說這個職位很好上手;但是對于應用層軟件
的工程師而言就比較蛋疼了,真正上手某個功能模塊可能會持續(xù)一年以上,甚至兩到三年。因為應用層軟件耦合性很強,往往要對整個應用層都有了解,才能做好其中某個模塊的開發(fā)。測試工程師也是同樣道理,上手會比較慢一些。總而言之,這一階段一般是職業(yè)生涯的第一到三年,也是每個工程師都要經歷的階段。在擅長某一子系統(tǒng)的基礎上,對軟件整體比較熟悉 :職業(yè)的成長在這一階段發(fā)生分化了。在熟悉了自己的模塊以后,我的建議是一定要抓住各種機會,對汽車軟件的所有關鍵模塊都有了解。只有這樣才能進一步提升自己綜合解決問題的能力,使自己的價值獲得進一步提升,為以后成為架構師
或者技術管理人才做準備。測試/診斷工程師和驅動工程師
第一個死在這一關。因為他們沒有什么好的機會去深入了解別的模塊。如果企業(yè)比較開放的話,可以多去讀別的模塊的需求和代碼, 然后多向其他工程師請教,這就看少年你自己的技巧了。如果可能的話,這個時候也可以考慮轉崗。需求工程師和
測試工程師情況稍微好點,也趕緊開始行動吧。對于應用層軟件工程師而言,此時就可以堂而皇之地熟悉各個部分的功能和代碼,梳理整個軟件的內在關聯(lián)。你們有足夠多的機會對整體軟件都有了解。所以我說
應用層軟件工程師
的成長性和靈活性是最好的。除了對軟件本身的了解,在這個階段也要盡量熟悉功能安全。說功能安全是現在全行業(yè)最熱的話題也不為過,一定不要覺得自己不是安全工程師就不需要去了解它。熟悉功能安全也能顯著地提升軟件工程師的競爭力。如果順利的話,這個成長的第二階段會是你職業(yè)生涯的第二到五年。有的同學會說,我就想做個螺絲釘,干好自己的本職工作,也不想做管理,熟悉好自己的模塊不就完了嗎!這個說法我覺得沒毛病,但是呢,如果對整體軟件都熟悉,第一是可以顯著提升你自己在就業(yè)市場上的競爭力,同時肯定能夠反哺你自己的模塊,讓你做得更優(yōu)秀。我始終覺得這是職業(yè)成長必不可少的。職業(yè)成長的第三個階段是技術管理人才
在經歷了第二階段以后,一小部分工程師會進入職業(yè)生涯的第三階段,也就是成為項目主管??梢哉f,這是一個全新的職業(yè)階段,除了
軟件工程師本身的工作以外,項目主管還要肩負很多新的挑戰(zhàn),包括并不限于:
- 軟硬件選型
- 客戶溝通
- 招投標/報價/談判
- 項目管理
- 團隊管理
- 功能安全
- 信息安全
- 質量管理
- 法務、合規(guī)
可以說至此已經不再工作在軟件開發(fā)的第一線了。如何從第二階段進入第三階段是個玄學問題。常見的方法有祈禱公司開展新業(yè)務、祈禱原項目主管跳槽/高升(大霧.....)、換去新部門、換公司等等,總之就是可遇而不可求了。前些年中國的汽車軟件行業(yè)發(fā)展蓬勃,從無到有、從弱到強,只要有心,跨入第三階段也是不難的?,F在行業(yè)整體不景氣,加上
汽車軟件行業(yè)的從業(yè)人員越來越多,確實要麻煩了些,但比起國外還是容易的。如果一直沒機會或者自己不想成為項目管理人才,在工作四到五年以后可以考慮換一條產品線,來豐富自己的簡歷。至于選擇怎樣的部件,可以看看我的下一篇文章。