1. 程式人生 > >嵌入式研發人員的核心競爭力淺談

嵌入式研發人員的核心競爭力淺談

這是2012年一個本科即將畢業的學生寫的,這個年紀就有這樣的思考還是挺有想法的。 夜深人靜,萬籟俱寂,正是思考的時間。這幾天,我一直在想:什麼才是一個嵌入式研發人員的核心競爭力? 核心競爭力是個很有誘惑力的詞,它意味著你擁有別人不能簡單複製的能力、經驗。在職場中,競爭只存在於你和你的同級之間,所以你要有他們沒有的核心競爭力。

一.行業

找工作時,並不光光是找職位,更重要的是找行業。不同行業中同樣的職位需要掌握的知識技能是不一樣的,比如同樣是嵌入式驅動開發工程師,消費電子可能主要是做BOOT,通訊裝置就更看重協議和介面的實現。這樣過個三五年轉行的成本就很高了,因為你在這樣行業中大量用到的知識另外一個行業可能基本用不到。 因此,在嵌入式的大家庭中選擇一個好的行業尤為重要,就應用領域來說主要有消費電子、通訊裝置、安檢安防、醫療電子、工業控制、汽車電子。總的來說,這幾個行業都處於上升期,行業產值快速攀升,除非下一次技術革命到來,否則嵌入式還將繼續長大。但如果一個個分開來,區別還是有的。 消費電子伴隨著中產階級的擴大和消費理念的強化在近幾年成為成長最快的領域,從硬體到軟體,從手機到平板,再到各種智慧電視,嵌入式得到迅速普及,大有把你所能碰到的東西都變成電腦的架勢,據統計,消費電子五年的複合增長率高達73%,在經濟低迷的2012年,國內的消費電子依然有高速的增長。但消費電子升級快、壓力大,分子風光,下面分母死傷無數,極高速的增長會不會帶來泡沫還需要謹慎觀察。 通訊裝置
領域主要是電信基礎設施、骨幹網設施等組成,其增長的原動力還是網路更好更快更廣和國家相關的電信基建計劃,3G、4G,LTD都是燒錢的遊戲。雖然你從2011下半年開始,華為中興兩個領頭羊都出現了利潤大幅下滑的現象,這主要是受全球經濟不景氣的影響,各國紛紛縮減了投資,但在未來2-3年內,收到新一代IPV6網路和3G普及的刺激,通訊裝置將迎來豔陽天。 工業控制是個很穩重的領域,不像消費電子這麼浮躁,也趕不上通訊裝置升級的速度,工業控制講究的是實用和穩定,比方說當今大部分工業控制方法都是古老的PID,工控機還裝著古老的WIN2000。工控嵌入式的增長完全和工業增長指數聯絡在一起,越是技術密集型的工業就越需要嵌入式軟體來幫助管理,所以最近經濟不景氣和虛擬經濟的畸形發展已經壓迫到了實體工業的發展,工控的增長會是一個慢而平穩的長期過程。 安檢安防
也是一個近幾年快速爆發的領域,源動力來源於安全和維穩。一方面是單位需要,比如小區,飯店,學校,銀行,另一方面就是城市安全需要,比如交管,街道。前幾年在大城市掀起的攝像頭風如今廣大縣城也正在上演,2011是安防行業值得慶賀的一年,這一年,安防從模擬到數字、從單機到網路、從普清到高清,再加之結合“安全城市”、“智慧城市”、“物聯網”等概念,雖然現在行業整體產值並不高,但未來10-20年都將是安防裝置大普及年。 醫療電子的增長已進入平穩期,蓋因大小醫院早已完成了裝置更新改造,在未來的20年內他們將很少會採購新的裝置,最近五年複合增長率為15%,不過醫療電子的增長希望已經轉向了行動式醫療裝置,就是我們常看到的電子血壓計、紅外體溫計,行動式血糖儀之類的裝置,複合增長率為24%,產值達到近40億美元。但說實話根據生活經驗,這些便攜裝置家裡都不怎麼用,更多的還是傳統裝置。當然了,中國有13億人,隨著老齡化加劇和國人健康意識提高,行動式醫療電子會有一個慢慢起飛的過程。 汽車電子
適合汽車緊密相連的產業,下面的導航裝置,車載娛樂裝置,車輛控制系統都是準標配裝置,可以說是一榮俱榮,一損俱損。汽車的增長率今年是14-15%,相信汽車電子也會保持一個類似的速度增長。 應該說,每個主要領域都是有不俗的表現的,相比其他落日產業,這幾個領域都有個人發揮的足夠空間。

二.核心競爭力之行業經驗

什麼東西是不能簡單複製的,只要不是書本的就是不能簡單複製的。 什麼是行業經驗呢?我是這樣認為的:每個行業都有一條長長的產業鏈,比如手機,從晶片銷售集團或者說解決方案提供商(ARM/INTEL等+TI/高通/MTK等+代理商)到手機設計集團(軟體方面:蘋果/安卓/WP等,硬體方面:蘋果/三星/微軟/諾基亞等)再到手機生產集團(很多就不舉例了)最後到消費者,這是一條主鏈條。 你所在的公司一般位於中間某一級別上,這樣就出現了你的上游和你的下游,行業經驗就是你在你的上游,同級,下游中的形象,更簡單地說,你的上游願意與你長期有誠意的合作,你的同級欽佩你的能力和人品,你的下游認為與你合作有利有信,總之在全行業樹立起你的可靠形象是最關鍵的行業經驗,其次就是技巧性的行業經驗,比如說合作流程這些可以馬上學到的東西。前者將是你的行業名片,後者將為你錦上添花。 但是行業經驗並不容易積累,原因在於研發人員一般是鐵屁股,沒有機會走出去接觸行業內部,上游有采購經理,下游有銷售經理,你又有專案經理管,你只是執行專案經理和架構師的指令罷了。但如果不深入瞭解行業,你始終只是IT民工,沒有發展的機會。 我覺得,當你投身研發工作3年後,你下面應該有3名小兵,對他們來將,你就是他們的架構師,你要充分把握這一機會減少技術時間,加強學習管理。對下,你需要為你的組員合理分配工作,管理他們的情緒,激發他們的工作熱情,完成既定工作。對上,你要為你們組爭取利益,並能在所有組面前清楚地表達你的意見和建議,目的只有一個:露臉,使上司認為你是一個綜合性的人才。 在往上走,你成為高階技術人員後,你會有很多機會和同行打交道了,比如各種學習會、交流會、展覽會,和他們建立融洽的關係很重要。也多和市場銷售人員打交道,他們是你在這一時期唯一能獲得上下游資訊的人。 再往上走,就基本定型了。你可以考慮急流勇退自己創業、也可以走行業內技術專家、也可以走技術與管理結合的路線。總之,擁有哪方面的核心競爭力,你就適合往哪個方向走。 最後我想說一句:別把自己當做機器使,讓自己沉浸在技術的世界裡,一天到晚幹著體力勞動,合理分配技術與社交的時間非常重要,不然最後你很有可能被釘死在一箇中層崗位上,更重要的是你可能孑然一身,真愛無覓,孤伴終老。

三.核心競爭力之技術經驗

一個研發人員得以安身立命的根本就是技術經驗。不過可惜的是,技術是很容易複製的。我曾經很自得於自己做過51/430的實際專案,但是說實話,這都不是什麼核心競爭力,因為我做的專案也大量參考了網上前輩的程式碼,有的甚至是直接拿過來用的,我做的工作有大部分是程式碼的剪裁而已。而這個,我相信一個之前沒有經驗的電類本科生,一個月的時間也能學會。也就是說,我和他相比,只是多了一個月的優勢罷了。這種容易學習,容易複製的經驗,不能算是核心競爭力。你在網上找到的一切程式碼都只能算學習資料。 技術人員除了複製貼上外,更應該掌握核心的原理性技術。什麼是核心技術呢?就是本來沒有隻能由你創造或只能由你更低成本創造的技術,比如我的公司是一家從事多媒體處理的公司,我們要開發一個自動識別瞳孔的裝置,核心就是瞳孔識別演算法。這個演算法可以從網上拿,從國外買,或者自己研發,網上的演算法也許你看得懂,但如果不會優化,只會裁剪那還是白搭的,這就是原理性技術和技巧性技術的區別。從國外買成本高而且得不到原始碼,這樣自主研發就是唯一一條路了,如果整個公司只有你有這樣的能力根據客戶需求從原理出發設計原始碼核心,那麼恭喜你,你可以理所當讓的拿著高薪了。 技巧性技術更多是指一種經驗,一種積累。比如我積累了兩年的微控制器函式庫、我在除錯放大器時遇到書本中沒說的問題等,這些都不是在書上就能學到的內容,而擁有這些經驗會讓你開發的速度變快。但技巧性技術絕對不是核心競爭力,因為它可以在短期內掌握。但有人會問“IT/電子行業中有些老人隨便一句指點就足夠讓新人琢磨個半年,這種現象是客觀存在的,這個不是核心競爭力嗎?”,要注意的是,老人和新人是沒有競爭關係的,因為他們本來就沒在一個等級上,所以這種倚老賣老的行為構不成核心競爭力,核心競爭力只能在同級之間比較。 技巧性技術可以轉化為核心技術,比方說我除錯放大器時遇到一個詭異的問題,我用結果反推原因,再用理論驗證,再而用理論上的調整規避問題,從現象昇華到本質,從知道昇華到掌握,就是這麼一個轉化的過程。但是不是所有的技巧性技術都能成功轉化,技巧性技術本質上講就是幫助開發的經驗罷了,紮實的掌握原理並能舉一反三才是核心技術的源泉。 說了這麼多,總結一下。核心競爭力大致分成兩個方面:深入的行業經驗和紮實的原理技術。前者通過時間慢慢的積累,後者可以通過密集的學習掌握,但兩者也都需要長期的實踐鞏固加強。

四.職位分析

嵌入式開發涵蓋硬體軟體,開發鏈條很長,要根據自己的實際情況選擇適應的職位。 嵌入式的職位大概有: 1.硬體工程師: 負責底層的硬體設計,主要要用到: 1.處理器:ARM9,DSP;Niosoll;FPGA(用於高速特殊場合) 2.PCB:EMC設計與模擬; 3.通訊:IIC,IIS,SPI,UART,CAN匯流排;RS232、PSTN Modem、網路、GPRS通訊; 2.驅動開發工程師: 負責底層和上層的通訊,主要要用: 1.系統:Linux非實時系統/VXworks實時系統+架構/檔案系統; 2.核心與BOOT:核心裁剪與移植、boot loader和驅動編寫,驅動程式開發 3.上層介面:USB,網口, 4.底層介面:SPI、UART、IIC、I2S,CAN、IDE 3.軟體工程師: 負責上層應用軟體,主要要用: 1.CPU:51/MSP430/ARM7/ARM9; 2.外設:AD/DA、UART、USB、LCD; 3.匯流排和通訊介面:I2C,SPI,RS232,RS484,CAN,USB,乙太網||||||BACnet、 MODBUS(或有實時性要求) 4.環境:Linux/QNX+ARM彙編; 5.GUI:VC++/VC#/LABVIEW; 4.系統開發工程師: 負責系統架構設計 5.DSP軟體工程師: 負責數字訊號處理部分,主要要用: 1.CPU:固定為一個小系列(如TI DM642/648/6467、TI C6000、TMS320C5000、Freescale StarCore); 2.演算法:熟悉影象、音訊、視訊相關處理演算法很重要,要會修改和優化; 3.介面與驅動:網路協議(MAC、IP、UDP、TCP)等; 4.作業系統:架構設計和作業系統配置; 6.FPGA設計工程師: 負責高速訊號處理和部分數字訊號處理,主要要用: 1.語言:VHDL/Verilog ; 2.環境:modlesim、Synplify、Quartus、ISE、ispleverEDA; 3.除錯:設計、模擬、除錯能力; 4.演算法:數字訊號處理、濾波設計等演算法; 5.介面:E1 Framer/Deframer、HDLC控制器、乙太網MAC控制器、SDH Framer/Deframer、SDH Mapper/Demapper、SPI4.2、HiGig、DDR、PCI、PCI-E、DDR-II、HD-SDI 在一個完整的專案中,每個工程師分工合作,完成架構師分配的模組。每個職位深入研究下去的水都很深,一旦決定很難再順利轉行了,所以畢業選擇職位時一定要慎重。總的來說軟體方面的需求在國內更大,當然競爭也更加激烈。硬體很多是直接買國外解決方案的,所以硬體職位需求較少,但高階人才非常吃香。

五.結語

寫完這篇文章,我還在猶豫研究生的專業是否要報“模式識別與智慧系統”,這個專業偏向DSP和軟體方面,究竟是不是自己想做的呢?一直沒有內心的聲音來拯救我。。。但既然大方向已經確定,我應該朝著更快更高的目標前進。未來有想法的時候在做修正。奮鬥