嵌入式開發(fā)資料庫(kù)
輸入機(jī)構(gòu)/課程/服務(wù)名稱

當(dāng)前嵌入式的門檻分工及重難點(diǎn)

2021-12-09 11:14:26
# IT培訓(xùn) # 嵌入式開發(fā)



一、從科學(xué)技術(shù)發(fā)展史看技術(shù)門檻的降低

以前總是聽(tīng)有經(jīng)驗(yàn)的工程師或者學(xué)長(zhǎng)學(xué)姐告訴我們,嵌入式有多難學(xué),門檻有多高,既要懂軟件,也要懂硬件,還要懂各種xx原理,xx協(xié)議,xx算法。在學(xué)習(xí)嵌入式的過(guò)程中也走了不少?gòu)澛?,無(wú)的放矢地學(xué)了各種雜七雜八的知識(shí),盡管現(xiàn)在有一份還湊合的工作。但是面試應(yīng)屆生以及和群里一些還在校的學(xué)生交流的時(shí)候,發(fā)現(xiàn)他們能學(xué)習(xí)和掌握一些我們有2-3年工作經(jīng)驗(yàn)才懂的知識(shí),明顯這一代的佼佼者可以花更少的時(shí)間學(xué)習(xí)到我們?cè)诓粩嗖瓤雍蛷澛分胁诺玫降闹R(shí)。

正因如此,我對(duì)以前老工程師總結(jié)的那套嵌入式Linux門檻很高,需要很多的經(jīng)驗(yàn),長(zhǎng)期積累才能培養(yǎng)出合格的工程師,越老越吃香的說(shuō)辭產(chǎn)生了懷疑,進(jìn)而聯(lián)系科學(xué)發(fā)展史和唯物辯證的思維,發(fā)現(xiàn)那些老工程師的意識(shí)和觀念由于受他們成長(zhǎng)的環(huán)境和時(shí)代的影響,由于他們技術(shù)成長(zhǎng)過(guò)程中所經(jīng)歷的困難使他們的主觀意識(shí)對(duì)嵌入式技術(shù)的認(rèn)知上產(chǎn)生了一些偏見(jiàn)(就像是物質(zhì)匱乏時(shí)代給老一輩人帶來(lái)的偏見(jiàn),使得他們?cè)谛】档男聲r(shí)代還要省吃儉用,舍不得浪費(fèi)一粒米一樣),這些主觀偏見(jiàn)有一些時(shí)代局限性,和當(dāng)前社會(huì)普通學(xué)生能接觸的信息和資源是有差異的(這也是所謂代溝),但是他們卻意識(shí)不到自己的主觀偏見(jiàn),也很少能以客觀的態(tài)度看待這種意識(shí)差異,他們把帶有主觀偏見(jiàn)的經(jīng)驗(yàn)傳授給新一代的工程師,也使得新一代工程師發(fā)現(xiàn)其中與當(dāng)前實(shí)際情況不符的地方,產(chǎn)生很多困惑。

嵌入式相關(guān)的技術(shù),說(shuō)到底也只是電子信息與計(jì)算機(jī)交叉的一種應(yīng)用性的技術(shù),其本身的地位遠(yuǎn)遠(yuǎn)不如了人類發(fā)展史上的幾大科學(xué)進(jìn)步的里程碑,比如:牛頓力學(xué)體系,歐姆定律,法拉第電磁感應(yīng),洛倫茲力,麥克斯韋方程,布,微積分等等……

像牛頓力學(xué),元素周期表,歐姆定律,高斯分布等這些科學(xué)理論知識(shí),是人類中杰出的精英探索研究了幾百上千年才得到。這些知識(shí)在200-300年前,只有人類社會(huì)中*杰出的精英才能掌握??扇缃?,我們從一無(wú)所知的嬰兒到掌握這些200-300年前精英科學(xué)家的前沿理論,只需要18歲讀到高中畢業(yè)就行,不需要我們?cè)傺刂叭说睦下吩偬剿魃习倌炅?。上一段提到的其它幾個(gè)近100多年的科學(xué)里程碑,我們也只要讀到大二也能學(xué)懂。這要是在200年前,那些偉大科學(xué)家可能會(huì)說(shuō),你們高中和大學(xué)基礎(chǔ)知識(shí)是他們窮盡了畢生心血才弄懂的。

所以從科學(xué)技術(shù)的發(fā)展史可以明顯看出,踩在巨人的肩膀上,學(xué)習(xí)過(guò)去已有的知識(shí),我們已經(jīng)不用跨過(guò)那么高的門檻,不用在黑暗中摸索,走那么多的彎路。

同理,在嵌入式領(lǐng)域,相比于20年前入門的嵌入式工程師,我們有了X寶,可以購(gòu)買到各種各樣的開發(fā)板以及價(jià)格相對(duì)便宜的低頻示波器,萬(wàn)用表,有了更多專業(yè)領(lǐng)域的中文資料,能夠使用各種方便的IDE環(huán)境直接采用C語(yǔ)言編程(他們?nèi)腴T用匯編),相比于10年前入門的嵌入式工程師,我們有了更多專業(yè)方面的網(wǎng)絡(luò)視頻培訓(xùn)資料,能有人手把手帶你做項(xiàng)目,調(diào)試,我們有了Github,在上面能獲取Linux內(nèi)核源碼,看到全球公司提交的產(chǎn)品級(jí)的驅(qū)動(dòng)代碼,我們有了更多的開源應(yīng)用軟件和生態(tài),有更多的人在網(wǎng)絡(luò)論壇上回答你的專業(yè)問(wèn)題,教你一步一步配置環(huán)境,遇到很難的專業(yè)領(lǐng)域算法(比如使用小波變換做得視頻有損編解碼算法),我們一時(shí)半會(huì)寫不出來(lái)的時(shí)候,往往可以找到別人寫好的開源庫(kù),稍微修改移植過(guò)來(lái)。

這個(gè)移動(dòng)互聯(lián)網(wǎng)時(shí)代帶來(lái)的這一切,不知不覺(jué)中侵蝕了嵌入式所謂的高門檻,讓那些老工程師在信息相對(duì)匱乏年代所經(jīng)歷的很多困難,在當(dāng)下,都算不上困難和門檻。

所以網(wǎng)上那些復(fù)制粘貼的文章中所謂的嵌入式高門檻,放到當(dāng)下的時(shí)代環(huán)境,可能并不是什么難事。我們應(yīng)該學(xué)會(huì)用發(fā)展的眼光看待技術(shù)的進(jìn)步,而不該被嵌入式高門檻的教條所束縛,以正常的心態(tài),把它看成是一種普通的技術(shù)活,和應(yīng)用軟件開發(fā),硬件開發(fā),結(jié)構(gòu)設(shè)計(jì)同等對(duì)待,技術(shù)本身并沒(méi)有啥鄙視鏈和優(yōu)劣之分。


二、嵌入式領(lǐng)域分工的變化

有很多所謂有經(jīng)驗(yàn)的人認(rèn)為,嵌入式底層軟件和硬件技術(shù)是不怎么變化的,經(jīng)驗(yàn)越多越值錢,越老越吃香。其實(shí)這是一種主觀機(jī)械而又狹隘的經(jīng)驗(yàn)主義,缺乏全局視野,只看到自己所在領(lǐng)域的一些基礎(chǔ)性技術(shù),看不到整個(gè)行業(yè)和相關(guān)領(lǐng)域的變化,一葉障目。

其實(shí)就拿現(xiàn)代足球和籃球運(yùn)動(dòng)作為類比,也是同樣的道理。現(xiàn)代足球和籃球的發(fā)展歷史比什么嵌入式軟件,硬件等高科技的發(fā)展史還要長(zhǎng)久,那種機(jī)械經(jīng)驗(yàn)主義狹隘的觀點(diǎn)肯定會(huì)認(rèn)為,打籃球就是學(xué)運(yùn)球,突破,傳球,投籃,踢足球就是學(xué)傳球,停球,帶球,鏟球,射門,跑位,這都是50年前甚至100年前就有的東西,和現(xiàn)在一樣是不變的。然后他們沒(méi)有看到的是,籃球和足球的戰(zhàn)術(shù)和位置分工,每隔5-10年就會(huì)發(fā)生很大的變化。

比如籃球領(lǐng)域從之前的強(qiáng)內(nèi)線,肌肉棒子的中鋒時(shí)代演變成小球三分射手時(shí)代,內(nèi)線球員對(duì)中遠(yuǎn)投和三分球能力要求越來(lái)越高,以前那種沒(méi)有射程的大個(gè)內(nèi)線越來(lái)越不吃香。

足球領(lǐng)域的分工和戰(zhàn)術(shù)變化就更多了,從遠(yuǎn)古一點(diǎn)巴西群星的424 WM陣型個(gè)人技術(shù)流到意大利鏈?zhǔn)椒朗?,從?jīng)典442陣型,雙前鋒一高一快或者雙高的英式長(zhǎng)傳沖吊,到第*代433全攻全守的踢法。從4231傳統(tǒng)的邊鋒加經(jīng)典10號(hào)位前腰和掃蕩防守型后腰再到西班牙式Tiki-Taka傳控足球短傳滲透的盛行,再到現(xiàn)在高位逼搶,經(jīng)典前腰和防守型后腰的消失,全能型B2B中場(chǎng)的吃香。其它位置的球員,例如,逆足邊鋒內(nèi)切踢法,偽9號(hào)無(wú)鋒陣,邊后衛(wèi)對(duì)助攻能力要求越來(lái)越高,而不只是防守對(duì)方邊鋒,中后衛(wèi)對(duì)出球能力要求越高,不只是會(huì)防守?fù)寯?。而過(guò)去那些有了很多*和榮譽(yù)但是位置單一,不符合現(xiàn)代高位逼搶,靈活換位要求的球員,越來(lái)越?jīng)]有市場(chǎng)。

像現(xiàn)代足球,籃球這種發(fā)展了50年到100年的體育運(yùn)動(dòng),看似不變,實(shí)際上都經(jīng)歷了如此多的戰(zhàn)術(shù)和位置分工變化,不同時(shí)代對(duì)不同位置球員的要求都不一樣,更何況近二三十年經(jīng)歷了高速發(fā)展的電子信息和嵌入式技術(shù)呢?回到正題,分析一下硬件工程師和嵌入式軟件工程師的分工和技能要求變遷。

1. 硬件工程師

一開始沒(méi)有集成電路和數(shù)字芯片,要設(shè)計(jì)一個(gè)系統(tǒng)需要用三極管,電阻,電容,電感等分立器件來(lái)搭,那時(shí)候硬件工程師對(duì)模擬電路設(shè)計(jì)的要求是非常高的,既要精通應(yīng)用業(yè)務(wù)邏輯,也要精通模擬電路設(shè)計(jì),大家可以看看模電書上經(jīng)典uC741放大器里面的模擬電路圖的復(fù)雜程度。

后來(lái)有了小規(guī)模的模擬和數(shù)字芯片(比如uc741放大器,74LS04數(shù)字門電路,ne555時(shí)鐘發(fā)生器),硬件工程師就可以使用這些芯片加上一些外圍電路來(lái)搭建自己的系統(tǒng),硬件設(shè)計(jì)門檻有所降低,做出的產(chǎn)品也更加豐富,但是自己還是要精通應(yīng)用業(yè)務(wù)邏輯。

再到后來(lái),ASIC和大規(guī)模集成電路以及嵌入式編程芯片的出現(xiàn),很多算法和邏輯控制功能都集成在ASIC芯片里面或者在嵌入式處理器中用編程軟件實(shí)現(xiàn)。硬件工程師對(duì)業(yè)務(wù)應(yīng)用業(yè)務(wù)邏輯的要求大大降低,同時(shí)所做的外圍電路設(shè)計(jì)也越來(lái)越少,比如電源方面,可以買TI的開關(guān)電源芯片加上少量的外圍電路,就能實(shí)現(xiàn)自己高性能開關(guān)電源,無(wú)需精通里面各種復(fù)雜的控制算法和功率因素補(bǔ)償?shù)燃夹g(shù)。這個(gè)時(shí)候,有些硬件工程師開始往單片機(jī)編程技能方面發(fā)展,還有一些硬件工程師往EMC,PCIE,WIFI,USB,DDR等數(shù)字和模擬等接口標(biāo)準(zhǔn)認(rèn)證方面發(fā)展,硬件的分工開始細(xì)化專業(yè)化。

再到當(dāng)前,芯片原廠提供的不再僅僅提供單獨(dú)的芯片讓硬件工程師設(shè)計(jì)電路,而是提供現(xiàn)成的基于芯片設(shè)計(jì)的模塊或者turn key解決方案,即插即用,不需要自走PCB打板的流程,就能快速驗(yàn)證自己想法和產(chǎn)品方案。并且原廠提供的這些模塊和解決方案,已經(jīng)做好了安規(guī),車規(guī)與EMC等標(biāo)準(zhǔn)認(rèn)證,更加降低了硬件開發(fā)的門檻,提高了開發(fā)效率,很多硬件工程師的工作也變成在原廠方案板上修改,驗(yàn)證,摳掉一些冗余器件節(jié)約成本,或者剩余的時(shí)間要負(fù)責(zé)供應(yīng)鏈和生產(chǎn)管理相關(guān)的工作。而從前那些高深的數(shù)字,模擬混合電路,分立器件電路設(shè)計(jì)技術(shù)和經(jīng)驗(yàn)顯得無(wú)太大用武之地(除了少數(shù)芯片設(shè)計(jì)場(chǎng)合)。

2. 嵌入式軟件工程師

20多年前的嵌入式工程師大部分都是用C語(yǔ)言和匯編在8位單片機(jī)上開發(fā)驅(qū)動(dòng)程序和相對(duì)簡(jiǎn)單的控制和通信系統(tǒng)。那時(shí)候單片機(jī)功能沒(méi)有現(xiàn)在這么高級(jí),里面甚至沒(méi)有ADC, PWM等常用模塊,需要搭建很多外圍或者電路來(lái)豐富產(chǎn)品的功能。那時(shí)候的單片機(jī)嵌入式開發(fā)除了要會(huì)編程,對(duì)硬件也相對(duì)較高,要自己設(shè)計(jì)通用的硬件原理圖,甚至畫2層左右的PCB板,只有碰到電源,射頻,EMC專業(yè)硬件問(wèn)題的時(shí)候,才會(huì)需要雇傭?qū)iT的硬件工程師來(lái)處理。

后來(lái)使用復(fù)雜一些的32位MCU開發(fā),MCU功能開始變得強(qiáng)大,系統(tǒng)需求也開始復(fù)雜化,嵌入式工程師需要開發(fā)多個(gè)平臺(tái)驅(qū)動(dòng)乃至上位機(jī)應(yīng)用程序,這個(gè)時(shí)候,公司一般會(huì)雇傭?qū)iT的硬件工程師做PCB layout和部分原理圖設(shè)計(jì)工作。嵌入式軟件工程師只需要設(shè)計(jì)硬件原理圖的核心功能I/O部分,看懂芯片手冊(cè),對(duì)嵌入式工程師硬件能力的要求開始降低,大部分精力用于軟件開發(fā)上。

再后來(lái)的嵌入式開發(fā)使用DSP處理器和RTOS實(shí)時(shí)操作系統(tǒng),硬件部分也變得集成度更高更復(fù)雜,嵌入式工程師對(duì)硬件方面的掌控和要求也越來(lái)越低,僅限于看原理圖,配置一些I/O引腳和寄存器,原理圖設(shè)計(jì)基本都交給專門的硬件工程師。但是嵌入式軟件這塊,做DSP的需要熟悉一些業(yè)務(wù)算法,做RTOS的要懂得數(shù)據(jù)結(jié)構(gòu),操作系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)方面的知識(shí)。驅(qū)動(dòng)開發(fā)也開始變得框架化,模塊化而不僅僅限于裸機(jī)開發(fā),配置寄存器和簡(jiǎn)單的業(yè)務(wù)邏輯。

再到當(dāng)前,嵌入式大規(guī)模使用SOC,跑Linux/Android等復(fù)雜操作系統(tǒng),DSP等專用CPU核也可以集成在SOC中,通過(guò)驅(qū)動(dòng)進(jìn)行調(diào)用。嵌入式工程師基本不用參與硬件原理圖設(shè)計(jì),硬件能力基本不是啥門檻,只要學(xué)過(guò)電路,模電,數(shù)電等教科書知識(shí),看得懂別人I/O部分的原理圖就行了。讀數(shù)據(jù)手冊(cè)配置修改寄存器的活也只有偶爾會(huì)用上,因?yàn)樾酒瓘S和Linux開源社區(qū)為了推廣生態(tài),已經(jīng)將很多產(chǎn)品級(jí)的芯片的驅(qū)動(dòng)程序集成到Linux內(nèi)核,配置好了寄存器,降低了系統(tǒng)底層軟件的使用門檻(這其中有少數(shù)嵌入式工程師在原廠從事門檻較高的專業(yè)領(lǐng)域驅(qū)動(dòng)開發(fā),比如音視頻,GPU,Display,Security等),使得嵌入式工程師把更多的精力集中在具體應(yīng)用和業(yè)務(wù)邏輯開發(fā)上。

通過(guò)上述的一次次技術(shù)領(lǐng)域分工的變化,使得嵌入式工程師入行門檻和工作重點(diǎn)也發(fā)生了變化,從硬件到原理圖I/O設(shè)計(jì),到驅(qū)動(dòng)開發(fā)到應(yīng)用業(yè)務(wù)邏輯??梢哉f(shuō)每個(gè)部分都有它的技術(shù)難點(diǎn),沒(méi)有哪個(gè)技術(shù)比其它技術(shù)高尚,我們應(yīng)該關(guān)注當(dāng)下的重點(diǎn),善于從各種矛盾中抓主要矛盾,有的放矢地學(xué)習(xí)提高自己,善于思考主流技術(shù)的發(fā)展趨勢(shì)和變化,千萬(wàn)不要被過(guò)去的教條所束縛。


三、當(dāng)前階段嵌入式技術(shù)的重難點(diǎn)

當(dāng)前階段嵌入式技術(shù)的重難點(diǎn)小編認(rèn)為有三個(gè)方面:

1. 以C/C++語(yǔ)言為主的編程能力。

原本C語(yǔ)言編程也不是啥門檻性的大問(wèn)題,但是因?yàn)閲?guó)內(nèi)大部分電子信息專業(yè)都是以C語(yǔ)言入門,然后選用的國(guó)產(chǎn)教材質(zhì)量參差不齊,代碼風(fēng)格不規(guī)范,這就人為地給入門菜鳥創(chuàng)造了門檻。但是只要肯花時(shí)間下功夫,學(xué)習(xí)豆瓣上推薦的幾本國(guó)外經(jīng)典的C語(yǔ)言教材,進(jìn)而學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu),面向?qū)ο蟮扔?jì)算機(jī)基礎(chǔ)知識(shí),多練習(xí)多寫代碼來(lái)熟練編程技巧,小編相信這個(gè)不會(huì)是大問(wèn)題。

C++方面,以前做單片機(jī),做RTOS的老嵌入式工程師可能基本上都是寫C程序,用不上C++。但是現(xiàn)在基于Linux系統(tǒng)的嵌入式開發(fā),重點(diǎn)將會(huì)聚焦在復(fù)雜業(yè)務(wù)邏輯應(yīng)用編程上。在大規(guī)模復(fù)雜業(yè)務(wù)邏輯和GUI編程中,使用純C語(yǔ)言已經(jīng)力不從心,使用C++開發(fā)的嵌入式應(yīng)用程序的地方將會(huì)越來(lái)越多。但是C++這個(gè)語(yǔ)言本身比較復(fù)雜,不能強(qiáng)求像C語(yǔ)言那樣掌握95%以上的特性,C++總會(huì)有很多語(yǔ)言特性用不上或者不熟練,需要找到合適的項(xiàng)目,在實(shí)踐中反復(fù)練習(xí)再回頭看書鞏固,循序漸進(jìn)。熟練掌握C++會(huì)需要較長(zhǎng)的時(shí)間,目前一般的要求是掌握基本的面向過(guò)程,面向?qū)ο缶幊痰木幊谭椒?,多用智能指針,?fù)雜的模板編程能看懂就行,不要求掌握所有奇巧淫技。

2. 對(duì)計(jì)算機(jī)體系結(jié)構(gòu)和操作系統(tǒng)相關(guān)問(wèn)題的掌控能力

這一塊知識(shí)算是計(jì)算機(jī)基礎(chǔ)理論上的難點(diǎn),雖然相關(guān)書籍資料已經(jīng)汗牛充棟,商業(yè)級(jí)的Linux內(nèi)核源代碼也能從網(wǎng)上下載,但是要啃下它還是需要耐心。很多做單片機(jī)裸機(jī),RTOS開發(fā)的嵌入式工程師無(wú)法進(jìn)入Linux開發(fā)的世界,多半也是因?yàn)長(zhǎng)inux操作系統(tǒng)確實(shí)有一定難度。對(duì)這一塊知識(shí),其實(shí)并不要求你掌握Linux內(nèi)核每行源碼(這是不可能的),也不要求你能夠獨(dú)立寫出一個(gè)復(fù)雜的產(chǎn)品化的操作系統(tǒng)(也不現(xiàn)實(shí)),但是操作系統(tǒng)底層和計(jì)算機(jī)體系結(jié)構(gòu)基本的工作原理和機(jī)制還是要搞清楚,要知道操作系統(tǒng)大概做了什么,是如何處理你的API調(diào)用的。

小編知道這是一塊硬骨頭,但事在人為,有了這么多資料和實(shí)驗(yàn)資料的今天,肯花時(shí)間,有耐心,也不應(yīng)該是大問(wèn)題。

3. 業(yè)務(wù)應(yīng)用能力

為什么我們需要做嵌入式計(jì)算機(jī)系統(tǒng),因?yàn)榍度胧接?jì)算機(jī)系統(tǒng)可以根據(jù)不同業(yè)務(wù)場(chǎng)景需求進(jìn)行裁剪和定制。說(shuō)到底,業(yè)務(wù)才是嵌入式系統(tǒng)真正的命根子,不同業(yè)務(wù)方向嵌入式工程師薪資差異可能會(huì)比較大(當(dāng)然在少數(shù)公司,開發(fā)操作系統(tǒng)也屬于他們的業(yè)務(wù))。在企業(yè)有話語(yǔ)權(quán)有地位的嵌入式工程師所掌握的業(yè)務(wù)技能一定和企業(yè)當(dāng)前盈利的業(yè)務(wù)方向高度匹配,充分滿足企業(yè)的業(yè)務(wù)需求。

當(dāng)前嵌入式軟件工程師要想提高收入,一定要跟著主流有盈利能力的業(yè)務(wù)走,提升相關(guān)的業(yè)務(wù)應(yīng)用技能。當(dāng)然很多細(xì)分業(yè)務(wù),不去相關(guān)的企業(yè)是根本沒(méi)有機(jī)會(huì)接觸的,熱門業(yè)務(wù)相關(guān)的高級(jí)資料也不是能夠通過(guò)網(wǎng)絡(luò)和入門培訓(xùn)視頻輕易獲得。所以說(shuō)當(dāng)前階段的業(yè)務(wù)門檻才是嵌入式在不同領(lǐng)域的真正門檻。學(xué)會(huì)自己分析,把握當(dāng)前主流前沿的業(yè)務(wù)方向,有的放矢地學(xué)習(xí)提升自己,讓自己掌握的知識(shí)發(fā)揮*大的“錢”力。


四、如何調(diào)整自己的學(xué)習(xí)和職業(yè)發(fā)展方向

分析了嵌入式領(lǐng)域的現(xiàn)狀和重難點(diǎn)之后,那么嵌入式工程師調(diào)整自己的學(xué)習(xí)和職業(yè)方向,小編認(rèn)為有以下三點(diǎn):

1. 不用過(guò)于糾結(jié)硬件門檻與寄存器配置

毛選《矛盾論》告訴我們事物的背后要搞清楚哪些是主要矛盾,哪些是次要矛盾,處理問(wèn)題要善于抓主要矛盾。

同理,在當(dāng)前的嵌入式學(xué)習(xí)和開發(fā)中,硬件門檻與寄存器配置已經(jīng)不再是主要矛盾,而是影響你解決問(wèn)題眾多次要矛盾之一。真正的主要矛盾是應(yīng)用業(yè)務(wù)開發(fā),是對(duì)操作系統(tǒng)工作流程的掌控,讓操作系統(tǒng)能夠很好地支持和配合應(yīng)用業(yè)務(wù)實(shí)現(xiàn)系統(tǒng)的功能。

那么對(duì)待硬件和寄存器配置,固然還是要以客觀嚴(yán)謹(jǐn)?shù)膽B(tài)度分析和解決相關(guān)的問(wèn)題,但是不要把太多時(shí)間花在硬件原理和數(shù)據(jù)手冊(cè)寄存器的學(xué)習(xí)上,否則這將是一個(gè)高投入,低產(chǎn)出的工作。小編認(rèn)為硬件相關(guān)問(wèn)題,嵌入式工程師能把大概定位出來(lái),交給專業(yè)的硬件工程師處理就行。這點(diǎn)對(duì)硬件知識(shí)的要求只需要懂得教科書上基本模擬和數(shù)字電路知識(shí)就行,相對(duì)于自己獨(dú)立設(shè)計(jì)硬件電路,通過(guò)各種標(biāo)準(zhǔn)認(rèn)證的要求完全不是一個(gè)層次的。

2. 不能把編程僅限于嵌入式端

目前的嵌入式復(fù)雜業(yè)務(wù)應(yīng)用編程和PC端,服務(wù)器應(yīng)用編程的界限其實(shí)越來(lái)越模糊。嵌入式端應(yīng)用編程除了某些時(shí)候需要利用一些平臺(tái)特有的硬件和驅(qū)動(dòng)特性,來(lái)提升和優(yōu)化程序性能之外,大部分的工作也是堆業(yè)務(wù)邏輯代碼,只是在不同平臺(tái)上堆業(yè)務(wù)代碼,用不同的編譯器編譯而已。

從編程的角度考慮,就不要把編程范圍僅僅限制在嵌入式端,在以應(yīng)用業(yè)務(wù)為中心的前提下,可以主動(dòng)嘗試開發(fā)PC端,服務(wù)器端甚至web端的應(yīng)用程序,還可以把在PC端,服務(wù)器端編程用到的新技術(shù)因地制宜地移植部署到嵌入式端,做到取長(zhǎng)補(bǔ)短的作用,同時(shí)也把自己的職業(yè)道路越走越寬。

目前,嵌入式端也引入了python編程搭建整套自動(dòng)化測(cè)試系統(tǒng),很多嵌入式端的測(cè)試用例也是用python編寫的。很多做STM32, RTOS開發(fā)的嵌入式工程師,也不僅限于嵌入式端編程了,因?yàn)樗麄冮_發(fā)的產(chǎn)品很多需要通過(guò)物聯(lián)網(wǎng)接入到云端服務(wù)器,有時(shí)候他們也要兼顧一些云服務(wù)器的應(yīng)用業(yè)務(wù)邏輯以及云端和嵌入式端通信協(xié)議開發(fā)的工作,不再是以前傳統(tǒng)意義上的嵌入式開發(fā)工程師。

按照這個(gè)發(fā)展潮流和趨勢(shì),小編可以預(yù)言,未來(lái)的對(duì)嵌入式工程師的技能要求將會(huì)弱化硬件技能,在有扎實(shí)的操作系統(tǒng)基本功前提下,以業(yè)務(wù)導(dǎo)向的應(yīng)用編程為核心,有云端服務(wù)器到嵌入式終端的端到端垂直開發(fā)能力。

3. 跳槽的時(shí)候要有業(yè)務(wù)升級(jí)意識(shí)

最后就是要有目的地跳槽,不只是考慮薪資問(wèn)題,更要考慮下一份工作能接觸到的業(yè)務(wù)知識(shí)是不是主流賺錢的業(yè)務(wù),未來(lái)有沒(méi)有賺錢的盈利模式,能不能讓自己的路越走越寬?平時(shí)多關(guān)注招聘網(wǎng)站的需要,看看什么樣的公司,什么樣的業(yè)務(wù)提供的招聘需求是*多的,要敢于和打價(jià)格戰(zhàn),不賺錢的業(yè)務(wù)和公司說(shuō)再見(jiàn),及時(shí)跳坑。不要把時(shí)間耗在了重復(fù)性基礎(chǔ)性工作(比如小編鄙視的萬(wàn)年嵌入式點(diǎn)燈,spi,i2c開發(fā))和不盈利的業(yè)務(wù)上。


*文章內(nèi)容和圖片均來(lái)源于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系刪除。

查看剩余內(nèi)容
loading
Hi,我是教育寶平臺(tái)顧問(wèn) 添加我的微信,在查找或下載資料時(shí),有任何問(wèn)題,我會(huì)隨時(shí)為您解決~
loading
掃描二維碼 添加顧問(wèn)微信

點(diǎn)贊

收藏

資深學(xué)習(xí)規(guī)劃師,免費(fèi)幫您答疑解惑,定制學(xué)習(xí)方案
限時(shí)免費(fèi)咨詢
喜歡此內(nèi)容的人還喜歡
  1. 嵌入式開發(fā)的發(fā)展方向和前景
    就業(yè)
    # IT技術(shù)培訓(xùn) # 嵌入式開發(fā)培訓(xùn)
  2. 而對(duì)于工程作業(yè)來(lái)說(shuō),對(duì)學(xué)術(shù)能力的要求沒(méi)那么高
    攻略
    # IT培訓(xùn) # 嵌入式開發(fā)
  3. 嵌入式說(shuō)白了就是嵌入式系統(tǒng)。
    攻略
    # 嵌入式開發(fā) # IT培訓(xùn)
  4. 單片機(jī),又稱為單片微控制器
    科普
    # IT培訓(xùn) # 嵌入式開發(fā)
職位/薪酬更多
相關(guān)課程 更多
教育寶IT技術(shù)頻道
教育寶致力于打造中國(guó)最專業(yè)的IT技術(shù)學(xué)習(xí)平臺(tái),為IT技術(shù)學(xué)員、教育機(jī)構(gòu)、從業(yè)者和上下游搭建連接、互動(dòng)、交流和賦能平臺(tái)。