嵌入式硬件和軟件哪個(gè)好?
嵌入式
190已閱讀
2020-04-19 14:40:06
導(dǎo)讀
嵌入式既有硬件也有軟件,嵌入式這行現(xiàn)在很火,因此很多人都向進(jìn)入嵌入式這個(gè)行業(yè)。但是對(duì)于初學(xué)者來說,到底是選擇硬件方向呢還是選擇軟件方向相信是很多同學(xué)都很關(guān)心的問題,說話說“男怕入錯(cuò)行,女怕嫁錯(cuò)郎”嘛!所以今天我們就從多個(gè)方面來分析下嵌入式硬件和軟件的一些發(fā)展前景和問題。
1、企業(yè)需求。
企業(yè)一般招聘軟硬件工程師的比例為3:1,因此嵌入式軟件相對(duì)于嵌入式硬件要好。我個(gè)人認(rèn)為造成這個(gè)差異的原因,個(gè)是基本上所有的公司,從初創(chuàng)公司到全球百強(qiáng),都有對(duì)軟件工程師的需求?,F(xiàn)在哪個(gè)公司不需要幾個(gè)碼農(nóng)來開發(fā)app,或者做個(gè)web。但是做硬件這種并不是所有公司會(huì)去做的。
此外,不管在美國(guó)在中國(guó)互聯(lián)網(wǎng)創(chuàng)業(yè)都是趨勢(shì),但是可以說絕大部分的初創(chuàng)互聯(lián)網(wǎng)公司做的都是軟件方向。有個(gè)點(diǎn)子,有點(diǎn)技術(shù),找?guī)讉€(gè)合伙人抱著電腦就能開干了。但是初創(chuàng)公司要專注做硬件開發(fā)就比較難了,因?yàn)槌闪⒃O(shè)計(jì)硬件公司的門檻和起步開銷比較大。所以這也導(dǎo)致大部分初創(chuàng)公司以互聯(lián)網(wǎng)為主,能做的了硬件設(shè)計(jì)的公司基本上都是處于壟斷地位的大企業(yè)。
2、入門門檻。
想成為一名軟件工程師找到的門檻遠(yuǎn)比成為一名合格的硬件工程師低很多。要想以軟件工程師的身份混到個(gè)飯碗,學(xué)兩門語言學(xué)好,常用的數(shù)據(jù)結(jié)構(gòu),刷點(diǎn)題就基本上能找到薪水小幾千的崗位。對(duì)于企業(yè)招聘來說,對(duì)軟件工程師的要求基本上就是熟悉算法數(shù)據(jù)結(jié)構(gòu),會(huì)web編程有相關(guān)經(jīng)歷就夠了。
但是要想成為一名合格的硬件工程師,不是科班出身的不好好學(xué)幾門模電數(shù)電信號(hào)邏輯設(shè)計(jì)的課,沒有在學(xué)校實(shí)驗(yàn)室里自己焊點(diǎn)電路做實(shí)踐,連簡(jiǎn)歷都發(fā)不出去。而且現(xiàn)在要想學(xué)個(gè)什么語言框架,網(wǎng)上搜一搜“”xxx語言入門教程“”就有非常豐富的資源,但是要是在網(wǎng)上搜“如何學(xué)好超大規(guī)模集成電路設(shè)計(jì)”,要想找到可以受用的資源幾乎是不可能的。而且就我所參加的招聘會(huì)來說,如果有招硬件工程師基本都要求有研究生的學(xué)位。
軟件工程師很多時(shí)候吃的是體力,硬件工程師大部分時(shí)候是吃經(jīng)驗(yàn),所以硬件工程師一般得有一定的經(jīng)歷積淀才能脫穎而出。尤其像模電這種上手程度很高的方向,沒個(gè)十年八年的相關(guān)經(jīng)驗(yàn)根本不算學(xué)成出師。所以說本身對(duì)從業(yè)者的要求更高,也是硬件工程師不好找的原因之一。
3、薪資
就薪資來說軟件起步價(jià)比較高,硬件比較低,因?yàn)樵趪?guó)內(nèi)高嵌入式硬件的基本就是抄來抄去的模式,真正投入研發(fā)的企業(yè)也是有的,但是比較少,因?yàn)橐豢钣布脑O(shè)計(jì)到穩(wěn)定定型需要投入的比較多周期也比較長(zhǎng),軟件就不一樣了。但是硬件要是做好了,很吃香,所以嵌入式硬件工程師,要么就是拿初級(jí)工程師的薪資,要么就是拿高級(jí)工程師的薪資,而嵌入式軟件只要你干個(gè)兩三年,搞的好的話年薪20W不成問題,當(dāng)然前提是你要干的不錯(cuò),這個(gè)一般就是系統(tǒng)級(jí)或者驅(qū)動(dòng)級(jí)的那種。
其實(shí)搞嵌入式開發(fā)軟硬件都要懂,有的時(shí)候還要比較清楚,總而言之,嵌入式這個(gè)行業(yè),只要你學(xué)得精(主要是精一個(gè)方向,不可能通吃的),發(fā)展都是很好的。
但是學(xué)習(xí)嵌入式課程的門檻,在嵌入式入門階段就可以篩選掉不少人,更別說要達(dá)到精通的程度。比如月薪15k的Linux嵌入式開發(fā)職位,門檻就有Linux系統(tǒng)、Shell編程、Linux開發(fā)環(huán)境、C語言、ARM硬件平臺(tái)、數(shù)據(jù)結(jié)構(gòu)、Linux內(nèi)核、驅(qū)動(dòng)程序等,粗略數(shù)數(shù)就有8道關(guān)口,他需要非常熟悉整個(gè)的計(jì)算機(jī)體系,能做出實(shí)際的產(chǎn)品。