嵌入式工程師如何規(guī)劃職業(yè)之技術(shù)之路
掃描二維碼
隨時(shí)隨地手機(jī)看文章
寫(xiě)這篇文章想了好久,也準(zhǔn)備了好久,這主要是因?yàn)镸AS的工作年限也不是特別長(zhǎng),至少不足夠長(zhǎng)來(lái)寫(xiě)這篇文章來(lái)指點(diǎn)別人。雖有擔(dān)心,但是看到很多剛?cè)腴T(mén)的嵌入式工程師無(wú)法把握今后的技術(shù)之路時(shí),我決定冒著被人罵的危險(xiǎn)來(lái)寫(xiě)出這篇文章,呵呵。不過(guò)寫(xiě)由于MAS只對(duì)嵌入式軟件有些體會(huì),所以也只能寫(xiě)關(guān)于嵌入式軟件工程師的,硬件的朋友們,對(duì)不住了。閑話就不多說(shuō)了,轉(zhuǎn)入正文。
進(jìn)入嵌入式這行的人形形色色,有之前學(xué)計(jì)算機(jī)的,有學(xué)電子類相關(guān)的,有壓根一點(diǎn)都不沾邊的,還有一些硬件工程師轉(zhuǎn)過(guò)來(lái)的,基礎(chǔ)也千差萬(wàn)別。技術(shù)之路的終點(diǎn)也千差萬(wàn)別,有的最后走上了管理,有的最后轉(zhuǎn)行做了PM,有的最后成了技術(shù)流的銷售,還有極少數(shù)的人成了真正的技術(shù)專家。這篇文章說(shuō)的技術(shù)之路的終點(diǎn)只有一個(gè),就是真正的技術(shù)專家,而專家之后怎么走,就看你自己了。
嵌入式技術(shù)大體上可以分為以下幾個(gè)部分,編程語(yǔ)言,內(nèi)核技術(shù),操作系統(tǒng),總線接口,系統(tǒng)集成。其實(shí)細(xì)心的可以發(fā)現(xiàn),在CESDN的論壇分區(qū)上就已經(jīng)體現(xiàn)了,除了系統(tǒng)集成只是在嵌入式系統(tǒng)大區(qū)里面體現(xiàn)了下,其他的都有明確的板塊對(duì)應(yīng)關(guān)系。但是我們的學(xué)習(xí)之路并非是要如此學(xué)習(xí),而是分為幾個(gè)層次,根據(jù)我多年對(duì)業(yè)內(nèi)的觀察,將嵌入式工程師的技術(shù)范圍分成下面幾個(gè)等級(jí):
1。初級(jí):8051或其他單片機(jī),UCOS,I2C,SPI,UART。匯編和C能力一般,系統(tǒng)集成能力弱。
2。中級(jí):在初級(jí)的基礎(chǔ)上,ARM/MIPS,其他一些RTOS并了解Linux,SDIO,USB。匯編和C能力不錯(cuò),有一定系統(tǒng)集成能力。
3。高級(jí):主要是對(duì)中級(jí)的進(jìn)階,這一個(gè)層面已經(jīng)不在于掌握具體的技術(shù),而是掌握當(dāng)前流行技術(shù)中的基本思想和構(gòu)成方式,所以任何流行的技術(shù),對(duì)于這一階段來(lái)說(shuō),都是手到擒來(lái)的。而由于掌握了所有技術(shù)的原理,系統(tǒng)集成能力也是超強(qiáng)。
對(duì)于初級(jí)和中級(jí),都有一些明確的標(biāo)桿,因?yàn)樵谶@兩個(gè)階段,工程師還是在入行階段,所評(píng)判的標(biāo)準(zhǔn)往往是你會(huì)做什么技術(shù),掌握了什么技術(shù),而學(xué)技術(shù)的最搞境界并非掌握了具體的技術(shù),而是掌握了這個(gè)技術(shù)的構(gòu)成思想以及模式。拿個(gè)很簡(jiǎn)單的例子來(lái)說(shuō),所有的接口技術(shù),其實(shí)都可以歸納為幾個(gè)要點(diǎn),單工還是雙工?如何發(fā)起傳輸,如何應(yīng)答,如何報(bào)錯(cuò),如何糾錯(cuò),如何在其基本傳輸之上建立高級(jí)的應(yīng)用。只要掌握了這些,接口技術(shù)還有什么難的?無(wú)非就是一些具體的方式。當(dāng)然,新入行的工程師不必要一開(kāi)始就了解這些,可以慢慢的從初級(jí)到中級(jí),然后最好自己能夠悟到高級(jí)。
說(shuō)到這里可以結(jié)束了,我想也不用說(shuō)的太具體,但是因?yàn)樽罱鼧I(yè)內(nèi)普遍流行在某個(gè)平臺(tái)上編程而忽視深入的技術(shù)研究,所以我想再羅嗦下,糾正下這樣的觀點(diǎn)。 Android也好,MTK的Tune Key也好,你只是在別人的指揮下舞蹈,而你的技術(shù),并沒(méi)有因?yàn)槟阕鲞@個(gè)的時(shí)間長(zhǎng)短有任何提升,你的提升只是更好的掌握了這個(gè)平臺(tái),5年后呢?這個(gè)平臺(tái)退出市場(chǎng)了,你掌握的這些還有什么用處么?學(xué)技術(shù),要扎實(shí),要從低至上。很多人一入門(mén),首先想的就是,我搞Linux和ARM應(yīng)用處理器。我想問(wèn)問(wèn),你懂 Linux里面進(jìn)程怎么調(diào)度的么?這不是“回字有幾種寫(xiě)法”的問(wèn)題,而是皮毛和骨骼的關(guān)系。按照技術(shù)的發(fā)展,你完全應(yīng)該先從UCOS之類的RTOS學(xué)起,然后慢慢學(xué)到Linux,你會(huì)發(fā)現(xiàn),Linux的最基本的東西,如系統(tǒng)調(diào)度,信號(hào)量,事件等,是和UCOS的原理類似的。而如果你一開(kāi)始學(xué)習(xí)Linux,你學(xué)到的只是如何在Linux平臺(tái)上完成你的事情。
最后說(shuō)點(diǎn)實(shí)際的,現(xiàn)在Linux和Andriod是很吃香,也有很多人建議一開(kāi)始就學(xué)習(xí)這些熱門(mén)技術(shù),這樣能掙錢(qián)。沒(méi)錯(cuò),開(kāi)始的時(shí)候,你可以速成,但是如果你這么來(lái)規(guī)劃你的技術(shù)之路,你的薪水也永遠(yuǎn)只是在工程師的主流薪水上波動(dòng),想要成為技術(shù)大牛,年薪百萬(wàn),永遠(yuǎn)不可能。技術(shù)需要從基礎(chǔ)做起,一步一個(gè)腳印,成為頂尖,沒(méi)個(gè)三五年,難。不過(guò)能夠堅(jiān)持下來(lái)的,必成大器。