再見了Java,準(zhǔn)備沖嵌入式了
大家好,我是麥哥,最近在知乎上的一個(gè)網(wǎng)友提問,關(guān)于后續(xù)職業(yè)技術(shù)方向的選擇,Java還是嵌入式。問題
之前有過一個(gè)車輛工程專業(yè)的同事是做硬件設(shè)計(jì)的,想轉(zhuǎn)做嵌入式,后來失敗了。
所以提前先聲明一點(diǎn),轉(zhuǎn)行需要持續(xù)的努力和堅(jiān)持不懈的毅力,去克服遇到的一切困難,除非天賦異稟,不然你要付出比科班出身的同學(xué)更多的努力。
我從事嵌入式方向已經(jīng)10多年,對(duì)于相關(guān)的情況有一點(diǎn)了解。這邊我先簡(jiǎn)單說一下嵌入式的相關(guān)情況,聊一下我的看法。
- 嵌入式的硬件屬性;
- 嵌入式的崗位需求;
- 嵌入式的學(xué)習(xí)曲線;
- 嵌入式的薪資;
與Java不同,一臺(tái)電腦就可以練習(xí)大部分的技能;嵌入式可以說是電子技術(shù)的一個(gè)細(xì)分方向,更多時(shí)候會(huì)接觸到更加底層的東西,這時(shí)候,難免會(huì)和硬件打交道。
通常來說嵌入式軟件,主流的有單片機(jī)開發(fā),Linux開發(fā),這些就需要在硬件實(shí)體上進(jìn)行操作,特別是單片機(jī)開發(fā)和Linux驅(qū)動(dòng)的開發(fā),就經(jīng)常要拿個(gè)示波器,在電路板上測(cè)來測(cè)去,然后再結(jié)合代碼不斷的Debug,才可以定位問題,最后甩鍋給硬件。
不然發(fā)現(xiàn),搞嵌入式軟件的一部分精力被硬件分散了,很難集中在軟件業(yè)務(wù)層的實(shí)現(xiàn)上,即便是單純做單片機(jī)軟件開發(fā)的,也會(huì)接觸到很多硬件。
涉及到可能是軟件,又可能是硬件的問題,這里會(huì)經(jīng)歷一個(gè)相對(duì)漫長(zhǎng)的過程了。
軟件和硬件的耦合在實(shí)際項(xiàng)目問題的排查中,往往比較讓人頭疼。當(dāng)然,入個(gè)門,開發(fā)板上跑一些例程,運(yùn)行一下,這些問題是不大的。
但是一到量產(chǎn),還是有很多坑會(huì)踩。
所以這里嵌入式工程師會(huì)有很長(zhǎng)一段路要走,不想Java項(xiàng)目上線,出了Bug,只要不是特別重大的問題,災(zāi)難性的問題,不至于殺個(gè)程序猿來祭天,還是可以線上修復(fù)的。
而嵌入式項(xiàng)目,如果前期的測(cè)試驗(yàn)證不夠,很多潛在的問題沒有在測(cè)試階段暴露出來,那量產(chǎn)之后就會(huì)比較慘,如果涉及到改版,就更難受了。
2 嵌入式的崗位需求嵌入式主要還是偏向制造業(yè)的,崗位需求還是挺大的,但是,嵌入式不是一個(gè)行業(yè),從我個(gè)人的角度出發(fā)來,我認(rèn)為嵌入式只是一個(gè)技術(shù)方向,里面有冗雜的技術(shù)棧。
而對(duì)于相應(yīng)的制造業(yè)領(lǐng)域有汽車,醫(yī)療設(shè)備,通信設(shè)備,消費(fèi)電子,工業(yè)自動(dòng)化,甚至航空航天等等,都會(huì)有涉及到嵌入式,也會(huì)有相應(yīng)的崗位需求。
總之我們是制造業(yè)大國,信息技術(shù)的發(fā)展的發(fā)展也是有目共睹的,不過崗位基本上都是有的,無非是薪資高低的問題。
那么問題來了,我們有多少高端制造業(yè),相關(guān)高端制造的毛利率是多少?又能提供多少高薪的崗位?這個(gè)應(yīng)該是大家比較關(guān)心的問題。畢竟人往高處走,水往低處流,誰不想找個(gè)錢多事少離家近的工作,但是單純從第一點(diǎn)“錢多”來說,還是僧多粥少。
另外一點(diǎn)比較關(guān)鍵的,行業(yè)屬性比較強(qiáng),所以一般跳槽比較難,跨行業(yè)跳槽,相當(dāng)于之前的行業(yè)經(jīng)驗(yàn)歸零,沉沒成本還是很高的?;A(chǔ)的知識(shí)就那么些,新的行業(yè)基本上相當(dāng)于重新學(xué)了。這是嵌入式比較難受的地方。
3 嵌入式的學(xué)習(xí)曲線嵌入式的學(xué)習(xí)曲線陡峭嗎?
這個(gè)其實(shí)不好回答,我感覺至少得先確定學(xué)習(xí)目標(biāo),那至少是能掌握一些技術(shù),掌握最基本的開發(fā)技能,可以達(dá)到找工作的目的,這個(gè)學(xué)習(xí)過程是否困難。
結(jié)合前面來說,低端制造業(yè)相應(yīng)崗位的技能樹,比較輕松就可以點(diǎn)滿,但是高端制造業(yè)就業(yè)崗位的技能樹,就要花點(diǎn)功夫了。
這樣也就會(huì)有一個(gè)技術(shù)門檻的問題,學(xué)習(xí)曲線越陡峭,技術(shù)門檻越高,相應(yīng)人才的數(shù)量就越少,如果市場(chǎng)上需要這類人才,那么就會(huì)比較值錢。
但是,技術(shù)總是向前發(fā)展的,幾十年前,電腦都沒用普及,程序員是很牛逼的存在,因?yàn)槟菚r(shí)候接觸到電腦的門檻就高,設(shè)備門檻高,變相的提高了編程的門檻。
嵌入式也是一樣的道理,下游的開發(fā)人員,隨著原廠各種資料的完善,開發(fā)難度也越來越低,從而降低了學(xué)習(xí)這個(gè)技術(shù)的門檻,比如早年移植個(gè)FreeRTOS的新的硬件平臺(tái),確實(shí)要費(fèi)點(diǎn)功夫,而現(xiàn)在已經(jīng)簡(jiǎn)單很多了。
嵌入式現(xiàn)在很多就是這樣,很多模塊,想搭積木一樣,能很輕松地搭建起來,跑起來,感覺牛逼哄哄的樣子,不過每個(gè)功能往下深挖,都是很龐雜的知識(shí)體系。
所以越來越完善的嵌入式開發(fā)工具,越來越豐富的嵌入式學(xué)習(xí)資源,也逐漸降低了學(xué)習(xí)門檻。所以技術(shù)人員要時(shí)刻保持學(xué)習(xí),畢竟隨著技術(shù)的迭代和發(fā)展,你掌握的技術(shù)也會(huì)貶值。
4 嵌入式的薪資最后說一下薪資的問題,薪資和行業(yè)掛鉤,我們得先看整個(gè)行業(yè)的發(fā)展情況。
行業(yè)發(fā)展情況直接影響到人才的供需關(guān)系。
行業(yè)蓬勃發(fā)展,資本熱錢不斷涌入,處于野蠻發(fā)展階段,招人,先搶占一部分市場(chǎng),這時(shí)候會(huì)產(chǎn)生大量的崗位,之前比如因?yàn)樾酒撇?,缺芯片,?dǎo)致的國產(chǎn)芯片替代,然后芯片設(shè)計(jì)公司不斷成立,就會(huì)有大量半導(dǎo)體的相關(guān)專業(yè)的就業(yè)崗位,芯片設(shè)計(jì)之類的;
隨之而來的是供需不平衡,這時(shí)候招聘就會(huì)存在一定的溢價(jià),這時(shí)候你的能力和薪資可能是不匹配的,或者說你的能力配不上你現(xiàn)在的薪資,只不過是你吃到了行業(yè)的紅利;
接下來市場(chǎng)開始飽和,增量結(jié)束,進(jìn)入存量,開始競(jìng)爭(zhēng),行業(yè)開始洗牌,這時(shí)候企業(yè)想要活下來,要做的就是將本增效,當(dāng)然研發(fā)成本就要降低了,那么裁員就開始了。
說一下行業(yè)情況嵌入式對(duì)于行業(yè)經(jīng)驗(yàn)是有要求的,除了基礎(chǔ)的嵌入式知識(shí)之外,不同行業(yè)會(huì)有不同行業(yè)的知識(shí)和經(jīng)驗(yàn)。這里可以看看我之前寫過的一篇文章。
每個(gè)人以后就業(yè)方向,可以做消費(fèi)領(lǐng)域的,家電,汽車領(lǐng)域,工業(yè)控制,物聯(lián)網(wǎng)等方向,一般來說會(huì)成為電子工程師,硬件工程師,軟件工程師,這些方向。
如果是研發(fā)方向,一般現(xiàn)在大廠對(duì)崗位進(jìn)行細(xì)分,通常會(huì)有硬件工程師,layout工程師,硬件測(cè)試工程師,嵌入式軟件工程師,驅(qū)動(dòng)軟件工程師,應(yīng)用軟件工程師,軟件測(cè)試工程師??梢赃x擇的也比較多的,也是不錯(cuò)的。
至于如何選擇,要結(jié)合后續(xù)行業(yè)的發(fā)展情況,比如現(xiàn)在新能源車比較火,給錢挺多,可以選擇電子信息技術(shù),后續(xù)做汽車電子領(lǐng)域方向的研發(fā)。不過隨著大環(huán)境越來越卷,后續(xù)崗位的競(jìng)爭(zhēng)也是越來越激烈,所以并不是找到優(yōu)質(zhì)的崗位,也需要自身有過硬的學(xué)歷和技術(shù)。
看了幾個(gè)汽車大廠的招聘信息,都是需要汽車電子行業(yè)的行業(yè)經(jīng)驗(yàn)和知識(shí),雖然薪資誘人,不過要求也高,競(jìng)爭(zhēng)也激烈的;
崗位-1崗位-2
至于Java后端,具體的情況不太了解,說是互聯(lián)網(wǎng)行業(yè)不太景氣,我看來目前大部分行業(yè)都不太好了。而且現(xiàn)在做Java后端的人也很多,競(jìng)爭(zhēng)異常激烈。
雖然互聯(lián)網(wǎng)大廠不好進(jìn),但是不影響進(jìn)入其他行業(yè),其他行業(yè)也有需要Java后端的崗位,包括這些車企,錢多的崗位總是卷的。
總體來說,Java后端崗位應(yīng)該更加充足,就業(yè)選擇也更多。
嵌入式行業(yè)的綁定更強(qiáng),跨行業(yè)不太好跳槽,不過行業(yè)經(jīng)驗(yàn)也可以保證老工程師的職業(yè)周期更長(zhǎng)一點(diǎn),這些年薪資水平是有上去不少,也是一個(gè)不錯(cuò)的選擇。
各有優(yōu)勢(shì),題主不喜歡硬件,還是選Java吧。
對(duì)此大家怎么看?歡迎在留言討論。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。