1. 程式人生 > >嵌入式工程師的真實現狀,有人月薪 8 千,有人年薪快 40 萬!

嵌入式工程師的真實現狀,有人月薪 8 千,有人年薪快 40 萬!

640?wx_fmt=gif

在百度搜索“嵌入式”、“嵌入式開發”、“嵌入式發展前景”等字眼,出來的都是一大堆培訓機構,以及大篇幅的他們所謂的對嵌入式行業的“見解”,不否定其內容有一定的專業性,但“賣瓜贊瓜”的道理誰都懂。

因此,作為一名一線企業嵌入式軟體工程師的筆者,想通過自己的實際經歷理性地評論當今嵌入式行業的真實狀況。

640?wx_fmt=jpeg

1.嵌入式的定義和舉例分析

官方定義:

根據IEEE(國際電氣和電子工程師協會)的定義,嵌入式系統是“控制、監控或者輔助裝置、機器和車間執行的裝置”。

這主要是從應用上加以定義的,從中可以看出嵌入式系統是軟體和硬體的綜合體,還可以涵蓋機械等附屬裝置。

目前國內一個普遍被認同的定義是:以應用為中心、以計算機技術為基礎,軟體硬體可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統。

說白了就是先設計硬體,然後根據需求編寫能在該硬體上執行的軟體,就成了所謂的“智慧硬體”。

或者說得還不夠明白,那行,我們說一說具體的嵌入式產品有哪些,嵌入式是做什麼的:

傳統嵌入式產品:空調主控模組、冰箱主控模組、家用遙控器、智慧手機、教學投影儀、音響系統、雷達系統、路由器等等;

前沿嵌入式產品:無人機、智慧音響、機器人控制、城市天眼系統、智慧傢俱、自動駕駛汽車、掃地機器人、小米手環等等;

一起看一些前沿的嵌入式產品:

下面是大疆無人機,可應用在高空拍攝、軍事偵查、高空作業、自動巡邏、農業工作、礦業勘測、地形測繪等方面。

640?wx_fmt=png

下面是天貓精靈智慧音響,可進行語音識別、對話互動,應用與娛樂、生活、購物、智慧傢俱控制等方面,屬於新一代音箱。

640?wx_fmt=png

下面是百度機器人,通過深度學習、神經網路等演算法,實現“百度大腦”,具有自學習、自訓練能力,如最強大腦的小度機器人。

640?wx_fmt=png

下面是自動駕駛汽車,自動駕駛是一個前沿的科技,在我國還沒本真正實施,不僅是技術方面,它還得得到政府支援和認同。

640?wx_fmt=png

下面是海爾掃地機器人,能夠自動巡邏,自動繪製室內地圖,自動避障,自動清潔地面,還你一個乾淨的環境。

640?wx_fmt=png

下面是小米手環3,可顯示微信、來電等訊息內容,振動鬧鐘,心率計算,步數統計,實時運動資料查詢,睡眠質量監測等。

640?wx_fmt=png

看完這些前沿科技產品後可發現,這些形形色色的“高階產品”都離不開嵌入式技術,離不開感測器技術,離不開軟體程式。

那麼我現在可以告訴你,嵌入式開發的工作就是去開發以上等一系列產品 ,這就是嵌入式,相信此刻你對嵌入式行業已有“形而上學”的瞭解。

2.嵌入式工程師在企業工作的真實內容

嵌入式軟體開發具體可以分三類:

嵌入式驅動工程師:編寫和移植各種晶片驅動(如音訊晶片),優化硬體裝置驅動(如溫溼度感測器),得精通各種硬體介面協議(如I2C協議)、系統排程、訊號量、鎖機制等等,開發難度最大。

該類開發者一般是軟硬體綜合型人才,一般的嵌入式驅動工程師指Linux上的驅動開發工程師,需要精通Linux驅動框架(platform框架、input子系統框架等),結合晶片本身去編寫驅動,驅動的好壞很大程度上決定一個產品的好壞。業界對驅動人才的定義是三年才算入門,可見此門檻之高。

嵌入式系統工程師:主要是編寫韌體,根據不同平臺移植作業系統,根據應用場景來優化系統,需要熟悉整個作業系統組成與排程,對韌體的穩定性高求很高,如果系統不穩定,驅動和應用也是白做的。

嵌入式應用工程師:編寫業務邏輯程式,呼叫驅動工程師提供的介面控制裝置,軟體開發過程所涉內容範圍非常廣,主要使用C語言開發,但經常會涉及C++、Java、python、JavaScript、PHP等各類語言以及各種指令碼語言、資料庫、前端後臺、各種通訊協議、甚至一些從來沒聽過的協議或概念。

這需要很強的學習能力,該職位也是各大公司需量最大的,一般10人的開發小組,驅動開發與系統開發與應用開發的比例是1:2:7。

根據我的經驗,世界上可以分成兩種嵌入式工程師,一種是大公司的嵌入式工程師,另一種是小公司的嵌入式工程師,我知道這樣分類很不妥,但並非毫無道理,請聽我一一下概述:

大公司:大公司的特色是什麼?答案:人多!

人多導致的後果是什麼?答案:專案分工非常細,都遵循“術業有專攻”這一哲學道理。

例如職位是嵌入式驅動開發,那麼大公司可能還會細分嵌入式顯示屏驅動工程師、嵌入式音訊驅動工程師、嵌入式電源驅動工程師等。

這就是大公司一貫的作風,它希望去培養某一方面的人才;說白了就是如果你分配到的是一個顯示屏驅動專案,那麼有可能你這一年內都是在開發顯示屏驅動,一年後你將是顯示屏驅動方面的一個小專家。

在大公司記住一點,你做的東西都是很“精”的;同時,大公司的薪資水平和福利也是相當可觀的,有完善的晉升路線,離職率一般不高。

小公司:小公司的特色是什麼?答案:人少!

人少導致的後果是什麼?答案:專案分工不明確,什麼都得幹,它給你灌溉的思想是“小陳,我們培養的是綜合性人才,在這裡你就是全棧工程師”。

估計很多人都沒聽明白,意思是說這裡人少活多,你什麼都得幹。小公司才不會管你是嵌入式驅動工程師還是嵌入式應用工程師(有的公司還是區分的,的確不能以偏蓋全)。

反正是活你就得幹,分分鐘前端後臺伺服器你都得給我幹,不要跟我說什麼沒學過,沒學過就去學唄。

小公司還有一個特色就是:“節奏快”,大公司裡面可能開展一個專案會花上幾個月的時間或者更長,在小公司是不存在的,領導都是指望著你幾天或者兩三週完成,那你也只能說呵呵了。

的確,在小公司你可以得到飛速的進步,很強的綜合性技能,前提是比人家花出更多的時間,把每一個專案理解清楚,而不是應付心態。堅持下來,兩年後必能獨當一面。

小公司提供給應屆生的薪資水平相對與到大公司來說要低,其福利不完善和晉升路線也一般比較模糊,所以小公司的離職率會比較高,經常出現兩年三跳的情況。

還有一個經驗分享給年輕人:無論哪種語言,程式程式碼只是一個簡單的工具,最後真正留下的只有原理、協議、框架、思維。

3.嵌入式發展前景與當今狀況

目前的嵌入式開發更傾向於智慧化,也就是我們所說的智慧硬體(硬體+軟體),從現在各種前沿的嵌入式產品來看的確如此,嵌入式產品的一個發展趨勢是更傾向與自動化控制和人機互動,而不是強調“演算法”這一塊。

要區分你僅僅是一名嵌入式工程師而不是演算法工程師,什麼一大堆“人工智慧”、“阿爾法狗”、“深度學習”、“神經網路”都不需要深入理解,那是研究生、博士生做的。

筆者並不是說你的能力不足,而是“術業有專攻”,這並不是一名嵌入式工程師的工作量,你需要做的僅僅是與他們的“雲端大腦”進行對接,呼叫他們API就完事了。

由於人工智慧、深度學習、神經網路、區塊鏈、大資料等先進學科的崛起,很多人都產生質疑:“嵌入式還有發展前景嗎”?

這個問題我在這裡可以很肯定地告訴你:“嵌入式有很好的發展前景,前沿嵌入式技術即將崛起,或者說已經崛起”。

的確,人工智慧、大資料這些學科會給嵌入式帶來衝擊,就目前來看,大學生更傾向與python程式語言、機器學習這一塊,而嵌入式學者的確比往年有所下降。

但學者少了並不代表他的需求就少了,並不代表他的薪資水平下降了,目前的一個嵌入式技術更傾向於與智慧學科相結合的趨勢。

以百度機器人為例,機器人的核心是大腦,即是“資料和演算法”,但機器人大腦想機器人身軀能夠像人類一樣活動,能說會道,行走自如,那麼就必須得依靠嵌入式技術。

這就是我所說的嵌入式+智慧學科應用,從長久來看,嵌入式只會越來越火,智慧學科的崛起必定帶動新型的嵌入式技術發展。

對於發展前景,有一項更重要的引數,那就是當今嵌入式軟體工程師的薪資水平。

我下面給出一些理性的資料,是從各大招聘平臺調研而來(資料只能作為參考,具體薪資還是得看個人修為,有的達不到該薪資水平,有的早已超過該薪資水平)

非211、985院校應屆畢業生平均月薪:8K;

是211、985院校應屆畢業生平均月薪:12K

一年工作經驗者月薪:10K-15K

二年工作經驗者月薪:12K-18K

三至五年工作經驗者月薪:20K-30K

上述資料只針對那些“真正努力”的嵌入式工程師,不適合應“應付式工作”的嵌入式工程師,同時宣告不對該薪酬水平負任何責任。

4.展望人工智慧帶動前沿嵌入式技術

人工智慧給嵌入式帶來的衝擊,是福也是禍,人工智慧實現智慧化無處不依賴嵌入式技術,人工智慧學科在不知不覺中帶動嵌入式技術革新。

從一系列智慧產品,包括無人機、智慧音響、機器人控制、城市天眼系統、智慧傢俱、自動駕駛汽車、掃地機器人、小米手環等等。

有哪個不依靠嵌入式技術來實現?並沒有,人工智慧越是想向人類表達他的智慧水平,越是要依靠嵌入式技術。

所以前沿嵌入式技術更傾向於嵌入式+智慧學科的發展,當智慧學科真正崛起,嵌入式必定又是一次浪潮與技術革新。

作者:陳明,現居深圳。CSDN部落格專家,目前從事嵌入式軟體開發工程師工作。主要負責:語音識別、聲學基礎研究、嵌入式軟體開發工作等。

宣告:本文系作者投稿,不代表CSDN立場。