前段時(shí)間有一個(gè)小伙伴找到我說(shuō)自己參加嵌入式培訓后悔了,前后花了將近1萬(wàn)多,還是貸款那種。
據他描述后悔的原因是沒(méi)學(xué)到東西,學(xué)的都是比較淺層面的,那我的理解就是開(kāi)發(fā)板的水平。
這樣還不如自己買(mǎi)個(gè)開(kāi)發(fā)板學(xué)習,成本*多也就幾百塊錢(qián)。
但是,這個(gè)說(shuō)不好是誰(shuí)的原因,有可能是學(xué)員自身沒(méi)認真學(xué)習,也有可能是培訓機構課程內容確實(shí)存在一些問(wèn)題。
所以,現在嵌入式培訓到底有沒(méi)有用,這個(gè)問(wèn)題客觀(guān)來(lái)說(shuō)是沒(méi)有答案的。
我們不妨從另一個(gè)角度來(lái)思考這個(gè)問(wèn)題:怎樣的培訓才有用?
根據我10年從事嵌入式單片機開(kāi)發(fā)的經(jīng)驗來(lái)說(shuō),主要要能解決2個(gè)問(wèn)題:
解決用戶(hù)需求。解決企業(yè)需求。解決用戶(hù)需求就拿我們無(wú)際單片機編程來(lái)說(shuō),我收集過(guò)一些學(xué)員的需求,他們有的純粹是為了興趣,而有的是為了參加電賽做準備,大多數都是為了找一份不錯的工作。
這五花八門(mén)的需求,我們要怎么去解決?不著(zhù)急,我們繼續往下看。
解決企業(yè)需求企業(yè)需求什么?如果你在這個(gè)行業(yè)沒(méi)*的經(jīng)驗還真的想破腦子都想不出來(lái)。
沒(méi)關(guān)系,無(wú)際告訴你。
不同的企業(yè)啊,他們的需求不同。
如果是大企業(yè),比如說(shuō)某為、某訊、某巴巴、某米、某度等等,這些企業(yè)一般會(huì )評估員工的綜合條件。
首先就是你的學(xué)歷,怎么樣至少也得本科或者以上吧,除非你技術(shù)真的牛逼到?jīng)]你公司少賺1個(gè)億。
為什么會(huì )這樣呢?
大企業(yè)各方面資源都很豐富,很多牛人都愿意擁抱他們,所以他們有篩選的資本。大企業(yè)需要形象,就像你開(kāi)比亞迪F0,別人開(kāi)大奔,從人性的*角度,肯定覺(jué)得開(kāi)大奔得更牛逼對吧?下面說(shuō)說(shuō)中小企業(yè),中小企業(yè)一般比較看重個(gè)人的能力,如果你做技術(shù),技術(shù)就是你的核心競爭力。
所以,不同的企業(yè)規模需求是不一樣的。
但是他們有一個(gè)共同的需求就是,你要有實(shí)際產(chǎn)品開(kāi)發(fā)經(jīng)驗。
這個(gè)實(shí)際上也是用戶(hù)的需求,我參加培訓無(wú)非就是能獲得獨立開(kāi)發(fā)產(chǎn)品的能力。
針對這個(gè)需求,我們再回歸到培訓課程內容本身,是不是就很好去評估了?
現在很多培訓機構都打著(zhù)包就業(yè)的噱頭來(lái)吸引學(xué)員報名,至于效果怎么樣就不知道了。
這也不是*重要的,包就業(yè)本身就存在很大的想象空間,安排你去打雜也算是就業(yè)。
培訓的意義一定是在于幫你解決根本問(wèn)題,也就是給你賦能,讓你能真正擁有開(kāi)發(fā)產(chǎn)品的能力。
所以,我覺(jué)得*好的學(xué)習方法,就是通過(guò)實(shí)際項目去學(xué)習。
這些項目不是各種模塊拼接,然后按照例程寫(xiě)個(gè)程序實(shí)現功能就完了。
拿單片機開(kāi)發(fā)的產(chǎn)品來(lái)舉例,一個(gè)合格的項目必須具備以下幾個(gè)條件:
首先我們從硬件的角度:
1.電路板的尺寸要符合外殼要求。
2.整體的成本
3.產(chǎn)品的功耗
要滿(mǎn)足這些需求,再簡(jiǎn)單的產(chǎn)品做起來(lái)也沒(méi)那么容易的,比如下面這個(gè)無(wú)線(xiàn)門(mén)磁探測器。
硬件解決,接下來(lái)就是從軟件的角度,我們在做產(chǎn)品程序部分的時(shí)候,不單單只是考慮到實(shí)現功能而已。
如果是用51這種低端的單片機倒是沒(méi)什么要求,因為ROM很有限,一般代碼寫(xiě)得越簡(jiǎn)單越好。
如果是用STM32單片機做復雜的產(chǎn)品,這個(gè)時(shí)候對你就是一種考驗了。
比如說(shuō)下面這款物聯(lián)網(wǎng)網(wǎng)關(guān),別看硬件簡(jiǎn)單,沒(méi)幾個(gè)元器件,工作量都在軟件上。
這個(gè)代碼量的產(chǎn)品,光考慮實(shí)現功能是遠遠不夠的。
你還需要考慮程序架構和算法,如果你沒(méi)一個(gè)好的程序架構,代碼寫(xiě)多了就會(huì )碰到各種坑,比如說(shuō)功能之間相互沖突。
好的架構媽媽再也不用擔心項目經(jīng)理處處刁難你。
客戶(hù)改需求,產(chǎn)品改功能,這是很常見(jiàn)的事,經(jīng)理每次讓我改功能,我都想抓他到馬路中間罰站半個(gè)小時(shí),但這明顯是玩笑話(huà),再燙手的磚也要硬著(zhù)頭皮搬。
話(huà)又說(shuō)回來(lái),如果你能接觸這種產(chǎn)品并且深入學(xué)習,不比你去培訓個(gè)單片機啥的實(shí)用嗎?
有這種項目經(jīng)驗還怕找不到工作嗎?
所以,我覺(jué)得培訓課程內容的重點(diǎn)不在于單片機或者ARM,而是在于基于這個(gè)芯片的應用上。
通過(guò)項目應用順帶把芯片學(xué)會(huì ),這才是高效的實(shí)用的學(xué)習方法。
經(jīng)歷了實(shí)際項目的毒打,你才會(huì )成長(cháng)得很快,如果你用開(kāi)發(fā)板來(lái)學(xué)習,突然讓你做個(gè)項目的時(shí)候,依舊是"廢人"一個(gè),無(wú)從下手。
項目積累多了,下一個(gè)項目你在框架上就知道怎么去解決了,剩下的就是細節逐個(gè)突破。
也不可能說(shuō)你做3-5個(gè)項目就天下*了,什么項目給你一下就能做出來(lái)。
不同的行業(yè),有不同的*優(yōu)方案,還涉及到電子以外的知識,比如說(shuō)物理學(xué)、生物學(xué)、化學(xué)。
項目經(jīng)驗是你扎實(shí)的基礎,在這基礎上,你能比別人更快地找出解決方案,做出產(chǎn)品。