大家好,我是無際…
最近實在太忙了…每天基本作業到晚上12點多,感覺額頭涼颼颼的(發際線又變高了…)
今天趁有時間來寫一篇經驗分享,希望對大家有幫助哇!
記得在2011年的時候我剛畢業,專業是電梯,考了高級維修證,但是對維修一竅不通,所有知識都是建立在理論層面,
當時我還是比較排斥這個行業的,風險高、工資低、作業時間24小時待命,
誤打誤撞我接觸到了單片機,覺得挺有意思,玩硬體編程最大的好處就是,能讓你體會到你學的東西真的能干點實事,
但是興趣歸興趣,現實是現實,面臨畢業,我最大的困境還是找作業,
干電梯是不可能了,別的行業又不會,只能盲目堅持自學單片機看能否轉行成功,
當時我也不知道自己非對口專業、學歷又不高的情況下,會不會有公司要,
更不知道自己學到什么程度能出去找作業,一切都是摸著石頭過河,走一步算一步,
不過,最后還是被我摸對了,成功自學進入單片機開發這個行業,以前寫的技術博客還歷歷在目,

10年前的任職要求和現在還是有挺大差別的,我找作業的時候只會下面幾點:
1. C語言
2. 51單片機
3. 用51單片機做過智能小車專案
4. Protel99看原理圖
5. 插件焊接能力
如果放到現在,你只會這些,估計很難找到作業,單片機開發也不單純的只看C語言水平,
所以,下面我根據自己這10年被面試和面試的經歷來跟大家分享下,現在如果你想從事單片機開發,需要具備哪些能力比較有競爭力,
很多人以為從事單片機開發,主要是學單片機,
這是一個誤區,要改,單片機只是工具,掌握這門工具是必須的,但重點不是研究工具,
單片機廠家和型號太多了,我們不可能每個都去學習,我們只需要學習主流的就可以了,比如說:
1. STC單片機
2. STM32單片機
會用這兩個,基本其他品牌型號的單片機,你1-2周就能把它用起來,
學習這些單片機最好的辦法就是買開發板,把常用的外設都用起來就夠了,工具會用了你就沒必要去深究工具是怎么造出來的,
然后開始鍛煉你的功能實作能力(簡稱產品思維),同時提升C語言編程水平,
這些從開發板上都無法學習到,只能做專案,
即便你沒系統學過STM23,給你做幾個基于STM32單片機的專案,你都用的溜溜的,我就是這樣學會STM32的,
鍛煉產品思維需要你多做專案,學習不同的產品功能,要如何去實作,
而鍛煉C語言編程水平就不一定看你做過的專案數量了,而是看你能不能碰到一個好老師,能不能接觸到一些不錯的代碼,
如果沒有,也接觸不到,STM32的標準庫就是你最好的老師,
很多人不知道C語言編程的水平的好壞會體現在哪里,反正寫的好壞,最終都能實作功能,從產品運行來上看不到任何區別,
確實,如果是一些小專案,不管你代碼寫的怎么樣,都不影響產品正常運行,
但是一旦專案代碼量上去以后,比如說上萬行代碼,編譯出來有30K左右的代碼量的時候,你就能體會到,C語言編程水平有多么地重要,
沒有一定的水平,你根本寫不出中大型專案代碼,最直接的體現就是寫著寫著發現功能之間有沖突,然后改,改完以后又跟另外的功能有沖突,最后砸鍵盤泄憤!
別問我怎么知道的,我就是這么過來的,
所以,C語言的編程水平,主要體現在兩個方面:
1. 架構
2. 演算法
架構是你整個代碼的架構,是不是模塊化的,移植性怎么樣,擴展性怎么樣,
關于架構,我自己在19年錄制了一套還比較系統的教程,這個架構做過編譯后60K以上代碼量的專案,穩定性沒問題,也解決了很多產品的痛點,可以無償提供給大家學習,需要直接到我公號【無際單片機編程】回復入門資料拿,

演算法是你程式整體執行的效率,實時性怎么樣,比如用左移代替乘法執行的機器周期會更短,一般的產品對演算法沒太高的要求,即便整型資料你用浮點資料方式運算,都功能效果上都體現不出來,
所以,提升C語言的編程水平,首先是提高代碼的架構水平,然后才是演算法(如果有需要的話),畢竟演算法的沉淀,不是一朝一夕的,有時候一個演算法就夠你折騰一個月,
除了單片機、產品思維、C語言編程能力,你還需要具備基本的電路分析能力,要會使用畫圖軟體看原理圖等等,
下面我大概來總結下,到底需要哪些能力?
1. 掌握51和STM32單片機這兩個工具使用,
2. 掌握C語言,
3. 會用AD軟體看原理圖,
4. 懂基本的電路分析(至少要知道是什么信號和協議進到單片機),
5. 做過2個專案,
重點就是第4,也是公司招聘最看重的,專案可大可小,
所以,想從事這個作業,不是說單純看C語言水平的,而是你的綜合能力,這個綜合能力就是給你一個專案,你懂不懂分析電路原理,懂不懂軟體怎么去實作它,哪怕是會維護程式也行,
如果你能達到這個水平,我相信找個作業還是沒問題的,前面不要要求薪資多少,先入行,有資本了再去提要求,通常半年跳槽工資至少翻一倍,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/287373.html
標籤:其他
上一篇:Omega全實時資料處理架構介紹
