嵌入式工程師分布在各行各業上面。這其中包括了消費電子、工業電子、汽車電子和軍用電子等等。從功能上面看,嵌入式本身包括了51、mcu
、soc、soc + baseband等很多形式。從開發的結構上看,有些同學專注於底層,比如boot;有些同學專注於核心、編譯器、cpu
、驅動;還有一些同學專注於上層,比如協議、伺服器、計算、儲存、互動等等,這一層的開發工程師其實和普通的pc開發工程師是一樣的。
一般來說,嵌入式的開發比其他軟體開發要求高一些。除了編譯器、核心、除錯比較複雜之外,他們常常還需要了解cpu、soc、晶元手冊、基本電路
。乙個真正打通上下層、可以獨當一面的工程師,一般需要5-8年的時間。這個中間,他會遇到各種個樣的問題和困擾,作業系統要學、資料結構要學、網路要學、驅動要學、上層軟體移植要學、電路要學、晶元手冊要學,基本上從入門到精通之前,他應該都在學習的過程當中。
學習本身是一件有意義的事情。但是經過8-9年之後,很多嵌入式工程師會變的迷茫,因為他們不清楚後面的路該怎麼走。技術上該學的好像都學了,但是似乎又不是特別精通,如果選擇乙個方向繼續走下去,又該怎麼選擇?此外,市場上對嵌入式工程師的起薪還是可以的,但是後發優勢明顯不足,最近比較火的人工智慧、機器學習
,3-5年的工程師薪酬可以秒殺大部分10年嵌入式工程師的薪資,這中間是否合理?嵌入式工程師該何去何從?
1、開發經理
開發經理是一部分技術優勢比較明顯的同學會走的路。這部分同學,之所以被安排在這個職位,主要是公司希望可以將他的技術優勢覆蓋到更多的同學,而他自己可以承擔更複雜的開發任務。一般來說,開發經理還會負責招聘、培訓、考核的任務,從技術上來說,開發經理應該是最強的,他基本上是技術開發的最後一道防線。
2、專案經理
對於協調性比較好的同學,專案經理可能是比較好的一條道路。相比較開發經理,專案經理對技術的要求沒有那麼高。但是,專案經理需要對專案的進度進行全程把控。專案快了、慢了,時間點有沒有控制,成本上有沒有超支,這都是專案經理需要考慮的事情。乙個專案是否高質量的交付,專案經理扮演了很重要的角色。很多情況下。專案經理沒有實權,但是專案經理又需要扮演很重要的協調角色,這時候就是歷練專案經理情商的時刻了。
3、產品經理
從技術轉產品經理的同學其實不多,比技術經理和專案經理少很多。在我看來,這主要是因為兩者思考方式差異巨大。很多做開發的同學都喜歡用新技術、寫新**,完全不考慮時間、成本、效能和市場。但是產品經理不行,他得和市場、銷售配合,先了解市場上需要什麼,競爭對手是哪些,我們的優勢是什麼,如果切到細分市場下,產品本身是不是賺錢,還有沒有機會進入,這都是產品經理要幹的事。所以,產品經理號稱小ceo,但是產品經理的許可權要小的多。如果說開發經理考慮的東西是怎麼做,那麼產品經理考慮的是為什麼要做這個功能、要不要做。
4、技術專家
一般技術專家這個路線,只適合少部分對技術痴迷的同學,他們的水平很多比開發經理高很多。不管是多核cpu、dsp
、isp、編譯碼、人工智慧、大資料
,找準自己熟悉的領域和市場認可的方向持續做下去就可以了,做技術專家不是什麼差的選擇。大家不要以為只有經理、總監、副總才能年薪百萬,技術專家也可以年薪百萬。要是技術專家還要承擔一些技術路線、技術管理的工作,那麼技術專家的地位在公司裡面還是很高的。他的不可替代性甚至要超過很多領導、副總等等。
5、客戶支援
客戶支援,很多人都認為是沒有技術含量的工作,但我的想法恰恰相反。客戶支援,一方面可以培養自己的溝通能力,另外一方面可以督促自己在技術上不斷進步。因為對於使用者來說,解決問題才是最重要的。而此時,問題的發生往往涉及到硬體、軟體、晶元、訊號、工具鏈等各個方面。沒有深厚的知識背景,其實客戶支援是做不好的。此外,做好了客戶支援,可以繼續往專案經理和產品經理方向發展,反而更容易一點。
6、後面的話
說了這麼多,每個人在工作中都會遇到各種各樣的挑戰,但是我還是建議大家有兩個原則務必要牢記:a、乙隻眼睛關注技術,乙隻眼睛關注市場;b、不要人為設限,除了技術外的人事、財務、市場、策劃、銷售,最好多關注一下,此外做軟體的最**件、晶元、fgpa都懂一點。舉個例子來說,既然人工智慧這麼火,那麼它的基本演算法我是不是也可以學一學。深度學習
發展這麼快,它的python
框架是不是可以拿來用一用。或者,用它來解決什麼現實問題會比較好一點。再比如,如果個人技術優勢比較明顯,那麼是不是可以將它用文件儲存下來,讓科室或者部門的同學一起進步。開發上面,除了技術,怎麼做可以成本最低,怎麼做可以在功能和穩定性之間達到乙個平衡,這個都是作為乙個嵌入式工程師不斷思考和改進的內容。
嵌入式工程師可選發展
學習路徑 接著從 入手,根據應用場景看不同的 執行路徑 根據應用場景改不同的需求 寫總結,由list寫總結 找忙點,在list上增加新的內容或者要改進的內容 寫需求設計書,架構設計書,api說明書,形成模板,以備不時之需 總結 方面的知識體系 架構方式與case案例 編譯工具 版本管理 程式設計設計...
嵌入式工程師需要mysql 嵌入式工程師的發展路線
最近遇到很多處於迷茫中的新手,在糾結要不要去學嵌入式,主要問題在於嵌入式的門檻非常高,經驗少 或者非電子專業投身嵌入式行業能否發展下去。現在嵌入式開發行業的確發展很好,大多數從業者都是科班出身,但我們也看到很多非科班的人分享了自己的從業過程,也許起初知識不如科班的多,但他們經過持續數年學習實踐,也成...
我理解的嵌入式幾個發展方向
1 手持終端應用 這應該類似於掌上遊戲系統,手機類應用,主要以圖形ui為主,同時兼顧網路通訊,因為手持終端,以後很可能是雲計算的終端,作為乙個大型系統 網遊,管理,erp,eip等 的終端存在。這部分的開發,我個人的理解應該向windows的開發理念靠攏,不管是用wince,還是s60,palm,或...