本人從事汽車電子軟件" target="_blank">汽車電子軟件開發(fā),有著幾年的嵌入式軟件開發(fā)經(jīng)驗(yàn)。而且我就是學(xué)的車輛工程專業(yè),那個(gè)當(dāng)下不被看好的專業(yè)。軟件的開發(fā)又分為應(yīng)用層軟件開發(fā)和底層軟件開發(fā),接下來的內(nèi)容以應(yīng)用層軟件開發(fā)展開。
汽車電子軟件開發(fā)的工作內(nèi)容?
首先,汽車軟件屬于嵌入式軟件開發(fā),跟互聯(lián)網(wǎng)行業(yè)軟件開發(fā)差別很大。如果用簡單一句話總結(jié)就是:設(shè)計(jì)控制器的代碼來實(shí)現(xiàn)汽車所需要的功能。例如自動感應(yīng)的雨刮器,隨車轉(zhuǎn)向頭燈。看見代碼兩個(gè)字不要怕,不要想象成當(dāng)碼農(nóng)的場景。
其中大部分代碼都是基于圖形化設(shè)計(jì),且自動生成代碼。然后將生成的代碼與底層軟件等代碼集成到一起。編譯下載到控制器,實(shí)現(xiàn)想要的汽車功能。
展開介紹一下,這其中核心要素就是需要實(shí)現(xiàn)什么樣的功能,也就是具體的開發(fā)需求。然后就是根據(jù)需求搭建邏輯,使用simulink或targetlink按照相應(yīng)的標(biāo)準(zhǔn)和規(guī)范進(jìn)行代碼的圖形化設(shè)計(jì)和自動生成,將相關(guān)的優(yōu)化參數(shù)設(shè)置好,自動生成的代碼在一定程度上比手寫更加規(guī)范。然后把自動生成的代碼集成到整個(gè)軟件工程中去。這其中難點(diǎn)就是邏輯的實(shí)現(xiàn),也就是你的算法。
舉個(gè)最簡單的例子來說:控制汽車大燈的延時(shí)關(guān)閉,當(dāng)檢測到鑰匙離開汽車,并且大燈在開啟狀態(tài)。車門關(guān)閉后大燈延時(shí)30秒關(guān)閉。自行想一下,用simulink如何實(shí)現(xiàn)。
以上是比較通俗的理解,其中有很多的規(guī)范和流程還需要學(xué)習(xí),流程是標(biāo)準(zhǔn)的V流程(自行百度),V流程開發(fā)就離不開選擇各種開發(fā)工具進(jìn)行組合以實(shí)現(xiàn)各環(huán)節(jié)的要求。目前開發(fā)工具類型很多,互相重疊或互補(bǔ)。好機(jī)遇,例如全新開發(fā)類的ECU軟件工作。
當(dāng)下對于剛?cè)胄械娜藖碚f是比較難得的機(jī)會。因?yàn)檐浖募軜?gòu)要從無到有一點(diǎn)點(diǎn)搭建起來,所以你參與的過程中可以熟悉整個(gè)軟件工程。但是對于大部分的工作內(nèi)容可能是維護(hù)類的(前期整個(gè)軟件工程已經(jīng)建立完畢,你只需要修改相關(guān)的功能),你需要做的就是先熟悉整個(gè)現(xiàn)有軟件的結(jié)構(gòu),對照需求清楚每個(gè)功能的實(shí)現(xiàn)。再根據(jù)具體的需求進(jìn)行維護(hù)和修改。
為什么推薦汽車電子軟件開發(fā)?
雖目前汽車行業(yè)不景氣,但在制造業(yè)中汽車行業(yè)還是算相對好的了,對于車輛工程或者機(jī)械工程的學(xué)生,如果沒有轉(zhuǎn)型的能力,還是建議選擇汽車行業(yè)。那如何選擇一個(gè)具體的方向呢。
汽車行業(yè)熱度不減的就是智能駕駛,車聯(lián)網(wǎng)和新能源相關(guān)的BMS,驅(qū)動了吧,但是據(jù)我所知,大部分國內(nèi)OEM(自主+合資)這兩部分的業(yè)務(wù)都是外包的形式。OEM做的是提具體的功能需求,樣品的測試。剩下的具體實(shí)現(xiàn)以及各種問題的解決均由供應(yīng)商來做,好在很多供應(yīng)商現(xiàn)在是國內(nèi)的科技公司。所以在OEM搞這兩個(gè)方向就是負(fù)責(zé)需求管理或者測試工作在或者就是部件的排布布置工作。那么相比于這兩個(gè)方向,汽車電子軟件開發(fā)的技術(shù)含量也不低,優(yōu)于其他傳統(tǒng)方向,以上是其中一方面。
另一方面,傳統(tǒng)的電子軟件開發(fā),國內(nèi)南北號稱最好的一些自主研發(fā)中心,有些主要軟件部門是最近幾年才真正成立或者從其他部門分剝出來的。因?yàn)橐郧爸饕浖际潜荒敲磶讉€(gè)供應(yīng)商壟斷的,不僅僅從技術(shù)上壟斷,也從規(guī)范和開發(fā)流程的經(jīng)驗(yàn)上壟斷。為了降成本,提高新趨勢下的競爭力,全球都開始搞自主研發(fā),需要人的坑兒指數(shù)級上升,蘿卜就那么幾顆。別看很多軟件研發(fā)部門有上百人的規(guī)模,80%以上是應(yīng)屆畢業(yè)生或者前幾屆應(yīng)屆生。從另外一個(gè)角度來看,汽車上控制器無疑會越來越多,所以缺口比傳統(tǒng)方向(底盤,車身,內(nèi)外飾)要大很多。正因?yàn)槿笨诖笠恍┬劫Y也要更高一些。
汽車電子軟件方向的職業(yè)選擇
主機(jī)廠OEM:
在OEM做電子軟件工程師,無論是整車控制器還是車身控制器等。表面上軟件開發(fā)和OEM兩個(gè)工作性質(zhì)差的有點(diǎn)遠(yuǎn),其實(shí)不然,上面也提到了全球都開始搞自主研發(fā)。它的地位極其重要的,在車企中,需要有一部分人真正懂汽車電子軟件,才能發(fā)展和提升自己的自主能力,這樣才不會被供應(yīng)商牽著鼻子走。尤其是相關(guān)部門規(guī)定了一部分企業(yè)的控制器軟件的自主化率的必達(dá)指標(biāo),必須滿足自主化率的要求。
主機(jī)廠電子軟件工程師相比于其他的汽車工程師的不可替代性更高。舉個(gè)例子來說,生產(chǎn)現(xiàn)場需要軟件工程師,線束設(shè)計(jì)工程師,車身設(shè)計(jì)工程師,底盤設(shè)計(jì)工程師等應(yīng)對裝車問題。若是機(jī)械結(jié)構(gòu)問題車身可以代表底盤工程師一起去現(xiàn)場解決,但出現(xiàn)電控軟件問題,其他方向的汽車工程師是不懂軟件的,只有軟件工程師才能將問題解決。但線束的問題電子軟件工程師可以幫著解決。同時(shí)你在OEM看到的是整個(gè)汽車,你遇到的問題也會是系統(tǒng)的問題。所以你了解的是整車.你以后職業(yè)生涯的路也不會很窄。
供應(yīng)商Tier:
在供應(yīng)商工作,你非常了解和熟悉的就是你負(fù)責(zé)的那個(gè)部件,對于其設(shè)計(jì)也會更加規(guī)范和詳細(xì),但缺少汽車的整體系統(tǒng)思想。一個(gè)主機(jī)廠一個(gè)供應(yīng)商,各有優(yōu)缺點(diǎn),OEM搞得比較廣,對于汽車的了解較深刻,跳槽時(shí)機(jī)會會多一些。在供應(yīng)商做的比較精,同樣路比較窄,還不一定能負(fù)責(zé)核心的工作。所以建議應(yīng)屆生先在OEM,然后跳槽去供應(yīng)商,工齡超過五年的甚至可以直接作為主管。以上,大家最關(guān)注的是...竟然沒談錢。你隨便去獵聘搜搜,就能知道啦,生涯上限普遍高于35萬年薪。
哪些專業(yè)可以做,如何自學(xué),自學(xué)之后能得到認(rèn)可嗎,可以去哪些企業(yè)?其實(shí)從事這個(gè)方向的專業(yè)本身就很多:計(jì)算機(jī)、自動化、車輛、電子信息,控制工程等。
關(guān)于自學(xué)方式,從車輛的角度說一下,類似專業(yè)同理。首先你要去學(xué),推薦單片機(jī)學(xué)習(xí):51單片機(jī)。學(xué)語言:《C語言程序設(shè)計(jì)》。MATLAB學(xué)習(xí):《simulink仿真及代碼生成技術(shù)入門到精通》。以上重要的是多加練習(xí)。也可以花一點(diǎn)時(shí)間去下載網(wǎng)絡(luò)資源或者課程。
能找到什么樣的企業(yè)?
進(jìn)入汽車行業(yè),簡歷的篩選大部分一是學(xué)校學(xué)歷,另一個(gè)是專業(yè)。如果學(xué)校過關(guān),車輛工程一定不是你被刷掉的原因(今年一汽大眾除外)。面試時(shí)就靠你個(gè)人魅力和肚子里的墨水吧。其實(shí)求轉(zhuǎn)型的前提下,這些后期問題都是無關(guān)緊要的。如果你不去學(xué)就沒機(jī)會,你去學(xué)了,機(jī)會自然是有的,可能不是你的起點(diǎn),也許兩年,也許三年后才有機(jī)會,總之不準(zhǔn)備就徹底沒戲了。
然后是會不會得到認(rèn)可?
只要你學(xué)懂了,腦子里有貨。招聘的人多有技術(shù)參與,他很可能認(rèn)可你,如果不懂,當(dāng)你自信滿滿的介紹你的個(gè)人所學(xué)所長,其實(shí)也會被揭穿。而且,正因?yàn)槟悴粌H僅了解汽車構(gòu)造,還懂得電子控制,更會得到企業(yè)和同事的認(rèn)可---最懂汽車的電子軟件工程師,哈哈。