嵌(qian)入式(shi)軟件工程師(shi)需要(yao)哪些知識
時(shi)間:2020-05-20 來源:未知
計算機嵌入式已經慢慢被大家接受,也有很多人開始去了解嵌入式,這也是因為大家都想要成為嵌入式軟件工程師的,這個稱謂聽起來就沒有那么簡單,下面還是先跟小編來了解下嵌入式工程師能做什么吧。
嵌入式工程師能做什么?嵌入式軟件工程師需要哪些知識?

一、基本職業技能
編碼能力:至少精通C/C++語言進行coding。就嵌入式行業而言,這兩種語言用得最多。如果掌握了它們,即便切換到其他語言,難度也不會太大。此外,還包括良好的編碼習慣和風格,具體內容可以參看最初幾期關于編碼規范的一些討論。關于這個能力,想說明的一點是,良好的編碼能力并不等同于指針,數據結構用得多溜,各類運算符優先級記得多牢,代碼寫得多精簡。可維護性,可移植性,可閱讀性,可靠健壯性才是更加需要關注的點。
1.分(fen)析問題解決(jue)問題能(neng)力:這個(ge)(ge)能(neng)力包含幾(ji)個(ge)(ge)層面(mian)。第(di)一個(ge)(ge)層面(mian)是(shi)調試工(gong)具的使(shi)用(yong)熟練度(du),主要為進(jin)行代碼調試的時候(hou),結(jie)合MCU的特性(xing),如(ru)何熟練應用(yong)工(gong)具進(jin)行分(fen)析,例(li)如(ru)watch/live watch,memory watch,break point設(she)定技巧,插(cha)件的使(shi)用(yong),查看寄(ji)存器找尋HardFault原因(yin)。第(di)二層面(mian)是(shi)問題分(fen)析與解決(jue)方(fang)式方(fang)法。之(zhi)前(qian)說過我創建了個(ge)(ge)QQ群,經常有群友會問各式各樣(yang)的問題,其中的很多提問者根(gen)本就沒自己分(fen)析過原因(yin),或(huo)者根(gen)本就不知(zhi)道怎么去分(fen)析。在還(huan)沒有形成條件反(fan)射般的分(fen)析能(neng)力前(qian),在解決(jue)復雜問題時,推薦(jian)使(shi)用(yong)魚骨圖進(jin)行分(fen)析:先假設(she)可能(neng)的原因(yin),理清他們(men)間的前(qian)后、因(yin)果關系(xi),然后拆分(fen)為不同(tong)節點去各個(ge)(ge)擊破排除。
2.硬件基礎能力:嵌(qian)入式軟(ruan)件開發的特殊性要求(qiu)即(ji)便是軟(ruan)件人員(yuan)也(ye)需要具備基本的硬件能力,包括模電,數(shu)電,傳感器等。
3.英(ying)語(yu):不要以英(ying)語(yu)不好排斥閱讀(du)英(ying)文資(zi)料,除非猴(hou)年馬月的時候,中國技術發(fa)達到所(suo)有芯片都是(shi)自己制造,所(suo)有技術標(biao)準都是(shi)自己制定。另外,良(liang)好的英(ying)語(yu)口語(yu)和書面能(neng)力,能(neng)大(da)大(da)拓寬你(ni)的就業面。
二(er)、熟悉軟件開發(fa)流程(cheng)
大學里面以(yi)及培訓速成(cheng)機構很少講解這方(fang)面的(de)(de)理念(nian),所以(yi)導致大部分(fen)人員習慣性的(de)(de)一上來就開(kai)始編(bian)碼(ma)。下圖是軟件開(kai)發(fa)編(bian)碼(ma)階段開(kai)始bug引入率,發(fa)現率以(yi)及修復成(cheng)本的(de)(de)圖例。由此可見,如果缺乏流(liu)程上把關(guan),直接進(jin)行編(bian)碼(ma),后期的(de)(de)代價是非常高的(de)(de)。
軟件最經典(dian)的(de)開發流(liu)程為(wei)V-Model,其他流(liu)程體系基本上都(dou)大同小異(yi),脫離不(bu)了這個模子(zi)。這塊的(de)能力(li)要(yao)求為(wei),要(yao)清楚不(bu)同階(jie)段(duan)要(yao)做什么,交付物是什么,做哪些評(ping)審和(he)測(ce)試(shi)保證軟件質(zhi)量(liang)。軟件流(liu)程帶來(lai)的(de)兩個主要(yao)好處在于:1. 通過不(bu)同階(jie)段(duan)的(de)設計開發評(ping)審驗(yan)證測(ce)試(shi),保證代(dai)碼的(de)質(zhi)量(liang);2. 建立起(qi)閉(bi)環的(de)路(lu)徑,追蹤需求在設計開發測(ce)試(shi)階(jie)段(duan)的(de)覆蓋(gai)率,保存(cun)不(bu)會有遺漏。
三(san)、學習(xi)能力
這個(ge)(ge)(ge)能(neng)(neng)力(li)(li)不(bu)僅(jin)僅(jin)是這一(yi)(yi)行所要(yao)(yao)求的(de)(de)(de),所有(you)行業(ye)都要(yao)(yao)求。并且,對(dui)于嵌入(ru)(ru)式這一(yi)(yi)行而言,這個(ge)(ge)(ge)能(neng)(neng)力(li)(li)應該放在第(di)一(yi)(yi)位(wei)。下個(ge)(ge)(ge)月你可(ke)(ke)能(neng)(neng)就需(xu)要(yao)(yao)開發(fa)不(bu)同方向(xiang)的(de)(de)(de)產品,明年(nian)你可(ke)(ke)能(neng)(neng)就需(xu)要(yao)(yao)用(yong)新的(de)(de)(de)MCU,過幾年(nian)可(ke)(ke)能(neng)(neng)C語言就淘汰(tai)。如果(guo)學習(xi)(xi)(xi)能(neng)(neng)力(li)(li)弱,節奏(zou)跟不(bu)上(shang)技(ji)術的(de)(de)(de)變遷,不(bu)久的(de)(de)(de)將(jiang)來(lai)就會被(bei)行業(ye)淘汰(tai)。類(lei)似(si)的(de)(de)(de),學習(xi)(xi)(xi)能(neng)(neng)力(li)(li)也(ye)包含兩個(ge)(ge)(ge)方面。第(di)一(yi)(yi)為(wei)(wei)學習(xi)(xi)(xi)方法和效率(lv),這個(ge)(ge)(ge)小(xiao)(xiao)編學習(xi)(xi)(xi)能(neng)(neng)力(li)(li)也(ye)一(yi)(yi)般,給不(bu)出多好(hao)的(de)(de)(de)建議。第(di)二為(wei)(wei)學習(xi)(xi)(xi)的(de)(de)(de)態(tai)(tai)(tai)度,這個(ge)(ge)(ge)體會就比較深了。作為(wei)(wei)一(yi)(yi)名(ming)軟件小(xiao)(xiao)團隊(dui)的(de)(de)(de)team leader,常(chang)常(chang)需(xu)要(yao)(yao)分配任務給團隊(dui)成員。因為(wei)(wei)產品是全新的(de)(de)(de)方向(xiang),所以(yi)很多東西(xi)需(xu)要(yao)(yao)現學現用(yong)。有(you)些(xie)成員能(neng)(neng)很快進入(ru)(ru)狀態(tai)(tai)(tai),短期內掌握新的(de)(de)(de)知識(shi)并應用(yong)于新產品開發(fa),有(you)些(xie)成員學習(xi)(xi)(xi)進度緩(huan)慢,無從(cong)下手,需(xu)要(yao)(yao)人(ren)(ren)為(wei)(wei)干(gan)預(yu)才能(neng)(neng)往前(qian)。第(di)二類(lei)人(ren)(ren)員的(de)(de)(de)之(zhi)所以(yi)進展緩(huan)慢的(de)(de)(de)通病為(wei)(wei),帶(dai)著(zhu)畏難(nan)不(bu)前(qian)的(de)(de)(de)心態(tai)(tai)(tai)去學習(xi)(xi)(xi),總是會以(yi)新員工的(de)(de)(de)姿態(tai)(tai)(tai)放寬對(dui)自(zi)(zi)己的(de)(de)(de)要(yao)(yao)求,認為(wei)(wei)進度慢是理所當然。帶(dai)著(zhu)這樣的(de)(de)(de)心態(tai)(tai)(tai),在我看來(lai)是一(yi)(yi)種自(zi)(zi)甘(gan)墮(duo)落的(de)(de)(de)表現,對(dui)個(ge)(ge)(ge)人(ren)(ren)的(de)(de)(de)成長極(ji)端(duan)不(bu)利(li)。
四、行業相關能力
做通訊設備,那就(jiu)得精通相(xiang)關的通訊接口(kou)和協(xie)議(yi),做電(dian)源產(chan)品,那就(jiu)得掌握電(dian)力電(dian)子基本的拓撲(pu)和控制方法,做電(dian)池管(guan)理系統,就(jiu)得知曉電(dian)池特性。
還(huan)有一些其他的能(neng)(neng)力,比(bi)如說領導力,團隊協(xie)作能(neng)(neng)力,溝通技巧這些都是其次(ci)的,主要還(huan)是自身(shen)的技術(shu)要硬,想要有過硬的技術(shu)不妨咨詢一下(xia)創客(ke)學院(yuan),有好(hao)的技術(shu)老師(shi)帶,做事情會事半功倍。
以上介紹的就是嵌入式工程師能做什么了,掌握好了嵌入式技術之后,那么也算是掌握了一門長久的吃飯工具,目前嵌入式就業形勢大好,所以現在去學習嵌入式還是很明智的。

