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