大家好,我是小麥,從一開始接觸
嵌入式到現(xiàn)在,已經(jīng)已經(jīng)有十年了。
在這期間走過很多彎路,踩過很多坑。
平時和搞技術(shù)朋友聊到嵌入式的各種坑的時候,都會不約而同地提到這幾點(diǎn), 硬件的成本高,比較氪金,技術(shù)面比較雜,比較多,軟硬件聯(lián)調(diào)很麻煩等等;
偶爾在知乎上看到一篇不錯的文章,文中大部分觀點(diǎn)都不錯,在這里分享出來。
作者:匿名大佬
轉(zhuǎn)自:https://www.zhihu.com/question/28111300/answer/137176051
燒錢
嵌入式的學(xué)習(xí)十分燒錢,這就讓人有點(diǎn)望而卻步。我是做DSP起步的,更是能體會到嵌入式絕對是一個拿錢搭梯子的學(xué)習(xí)行業(yè)。
在我的學(xué)習(xí)過程中身邊有不少的人投向了CS行業(yè),也就是純軟件開發(fā),比如網(wǎng)頁、手機(jī)應(yīng)用、數(shù)據(jù)庫等。他們有一臺聯(lián)網(wǎng)的電腦幾乎可以搞定,也是基于這個原因,我當(dāng)時也想做純軟件開發(fā)。當(dāng)時老師想讓我們買開發(fā)板,我都沒錢。
在CS行業(yè)有一些資深的玩兒家,買一臺服務(wù)器就算可以了。
然而做嵌入式的你,需要買開發(fā)板,買模塊,做到天人合一,軟硬結(jié)合,等著做稍微高端點(diǎn)了,你又萌生出自己畫板子買芯片的想法,這個坑越走越深。
等著差不多了,回頭看看自己來過的路,就發(fā)現(xiàn)自己給自己搭了圍城,想轉(zhuǎn)行,已經(jīng)花那么多錢了,能甘心嗎,想繼續(xù)走,那就繼續(xù)燒錢吧。
我的第一個開發(fā)板是C51的開發(fā)板,好多年前的一個板子,我的第一個C51開發(fā)板花了168,那時候大一,一個月生活費(fèi)就1000塊,省吃儉用買了個這么大的。
拿著個板子學(xué)到大二,覺得特別沒勁,后來碰到了我的老師,入行了DSP,那時候看某寶,F(xiàn)2812稍微好點(diǎn)兒的六七百,還要買仿真器,仿真器奇貴無比,加起來1000多。
后來我決定趁老師在就去實(shí)驗(yàn)室用學(xué)校的DSP試驗(yàn)箱,據(jù)說那個試驗(yàn)箱4000塊錢呢,老師不在的時候就看書。壓力很大,可學(xué)習(xí)很有動力,慢慢的開始接項(xiàng)目做,小來小去的也做,賺一筆,投一筆,收二手板子,后來板子一大堆,現(xiàn)在STM32,MSP430,DSP的C5000,C6000都有,還有小孩玩兒的電子積木arduino,自己買了示波器,各種工具電烙鐵,萬用表。后來玩電路板,印PCB很貴,買芯片也很貴。主要原因是我比較有興趣,別人喜歡賭博砸錢,我喜歡給自己屯設(shè)備,東玩西玩的,挺有意思。
這東西,你光看書肯定不行,必須要編,去調(diào)。程序都是20%編,80%調(diào),這調(diào)呢,就需要板子了。如果沒興趣,估計每花一筆錢都肉疼,如果有興趣,可以省吃儉用的搞?;蛟S吧,興趣就是這么大魅力。但無論興趣與否,這錢必須要花。
一堆必要的理論
以前想隨大流學(xué)Java,學(xué)了三個月放棄,我甚至為自己規(guī)劃路線,Java語言開始,然后后邊三大框架Spring什么的,我現(xiàn)在忘了。后期就覺得沒有挑戰(zhàn)力非常容易入門,并非我多大牛,現(xiàn)在Java,做網(wǎng)頁,安卓,市面上基本是大專,高職,他們但凡有點(diǎn)兒興趣和上進(jìn)心的,都能做的很不錯。差異化競爭十分的不明顯。
做嵌入式學(xué)習(xí)的理論就多了,一個大的分支,你可以以專家模式學(xué)習(xí),你也可以以工程師模式學(xué)習(xí)。
軟件方面學(xué)習(xí)的量不亞于做Java,C 編程的,甚至和底層打交道還要學(xué)的更深入,難度更加大,算法數(shù)據(jù)結(jié)構(gòu)神馬的都要了解。
硬件方面就更多了,電子行業(yè)基本入門知識,電容電阻這些不用說了,模電了解,數(shù)電必須熟練,還要學(xué)PCB,PCB里面Layout,各種大小,功率信號完整性,不說精通,你需要掌握和明白,看各種芯片各種文檔,然而經(jīng)驗(yàn)積累也十分重要。這些才是冰山一角,做DSP的,算法仿真,數(shù)學(xué)理論各種專業(yè)的理論知識和程序雜糅在一起,需要考慮硬件設(shè)備,一些芯片的編程還要考慮電路結(jié)構(gòu),電容大小,這還沒結(jié)束。
調(diào)試上面,我們需要外接設(shè)備啊,軟硬不分家,你還要看懂示波器,看懂頻譜,真是夠?qū)W了。有的時候覺得,學(xué)這么多也沒用,人還是應(yīng)該學(xué)的精,可常常最后的結(jié)果是,書到用時方恨少!學(xué)習(xí)量是個考驗(yàn)。做上EE工程,從來都是活到老學(xué)到老,不斷的學(xué)習(xí),不斷的實(shí)踐,現(xiàn)學(xué)現(xiàn)賣,現(xiàn)開發(fā)現(xiàn)積累。十分有挑戰(zhàn)性。這是很坑的一點(diǎn)。
起始工資與純軟件差異
學(xué)了這么多,總想著付出就要有回報,實(shí)際上不然,互聯(lián)網(wǎng)現(xiàn)在是熱門的話題,各個行業(yè)都很缺人,到了社會上CS是又容易找,給的錢又多。我身邊這些同學(xué),參加培訓(xùn),去了軟件公司,曾經(jīng)的屌絲手機(jī)也換成蘋果了,小生活也好了,時而在朋友圈抱怨抱怨加班,實(shí)際上還是很享受生活的。
與CS比,嵌入式是臥薪嘗膽。
CS也一直樹立整個信息行業(yè)程序員的形象,一提程序員,外行不得不聯(lián)想開發(fā)出一個軟件的工作。可見CS群體的巨大。可嵌入式也有自己的優(yōu)勢,這些優(yōu)勢也不得不寫在后面。
嵌入式VS純軟件
1 學(xué)的多,自然也就硬
嵌入式行業(yè)是個柔性的后路極多的行業(yè),可能嵌入式軟件勢頭不好,我可以轉(zhuǎn)去做硬件,做硬件勢頭不好,我在努力一下去研究算法。在學(xué)嵌入式之出,入門之前,我們建立了一個龐大的地基,風(fēng)向不好,則選另頭建。
就算整個嵌入式行業(yè)轟榻,嵌入式工程師轉(zhuǎn)CS輕而易舉,反而有高屋建瓴的優(yōu)勢。相比于CS,只能一條路走到黑,不甘心一直寫代碼的,瞄準(zhǔn)產(chǎn)品,運(yùn)維,風(fēng)險還是有的。
2 沉淀經(jīng)驗(yàn)
嵌入式行業(yè)是個時間沉淀的過程,無人能逆襲,做不到極致,只能做的更好。這話怎么說呢,就是五年的不如十年的硬,十年的不如二十年的硬。
年輕人的優(yōu)勢就是思維靈活,接受新東西快,所以入行常??寇浖@個門路,入行幾年開始積累硬件的知識,從底層追求極致,硬件是個慢功夫,經(jīng)驗(yàn)比書本上的知識準(zhǔn),或者說,有些東西寫不進(jìn)書里只能自己明白,這就需要經(jīng)歷,所以,每個人都要爬臺階。
然而CS,處境十分尷尬,做幾年,前有同行擋路,后有新人競爭,兩頭堵。這是我們公司的一個老軟件工程師說的,雖然喝酒的時候吹牛逼,但是可以看到他很為自己擔(dān)憂:做十年和做五年功效是一樣的,換句話說,很容易“滿級”。
3 純軟件越開發(fā)越簡單
現(xiàn)在開發(fā)軟件,有沒有覺得越來越簡單,封裝性,模塊化,流程化趨近完美。這要感謝大批進(jìn)入CS行業(yè)的前輩們,在方便的同時,也堵死了CS的道路。
太容易就不需要那么多人了,大口徑的收納這么多人,等著一潮波浪向東過去,反作用的時候,會淹死后來的一批人,這是有遲滯性,當(dāng)前看不出來。你可以保證這個潮流走10年,敢保證20年嗎?越積累,后勁兒越可怕。
4 嵌入式穩(wěn)如老牛
平心而論,在大牛的世界,互聯(lián)網(wǎng)行業(yè)百萬年薪的人很多,可嵌入式這樣的頂層人很少,處于搬磚階段的,也可能碼代碼賺的多些。但最主要的中堅力量,還是嵌入式穩(wěn)。
人要把眼光放長,定位好自己,追求互聯(lián)網(wǎng)頂層的人可能很多,但這條路上死的更多。在嵌入式上,你可以做的不溫不火,大多數(shù)都能豐衣足食吧。
選擇
嵌入式,我相信,到了40歲的時候,你會感謝自己的選擇,感謝自己的辛苦。耕耘多,總會有收獲的。畢竟天道酬勤。人不能只看眼前不是。