關(guān)于軟件工程師和硬件工程師總有太多的話題。
板子出問(wèn)題了,
硬件工程師:肯定是軟件的原因!
軟件工程師:絕對(duì)是硬件的問(wèn)題!
以下內(nèi)容摘自知乎匿名用戶一位美國(guó)在校學(xué)生所寫(xiě),雖然或有失偏頗,但還是很能說(shuō)明問(wèn)題的:
1. 我個(gè)人理解的就業(yè)與行業(yè)前景
因?yàn)槲覀€(gè)人對(duì)美國(guó)這方面了解更多,就先從美國(guó)說(shuō)一說(shuō)。我相信硬件工程師和軟件工程師的就業(yè)前景應(yīng)該是提這個(gè)問(wèn)題的人最想知道的方面。
就我所了解的,在現(xiàn)在以及可預(yù)見(jiàn)的未來(lái),這個(gè)行業(yè)對(duì)軟件工程師的需求絕對(duì)是碾壓硬件工程師的。也就是說(shuō),招軟件工程師的職位比硬件工程師的職位要多的多,而且軟件工程師找工作上來(lái)說(shuō)會(huì)比硬件工程師更容易
先從企業(yè)的角度來(lái)講講。我個(gè)人認(rèn)為造成這個(gè)差異的原因,第一個(gè)是基本上所有的公司,從初創(chuàng)公司到全球百?gòu)?qiáng),都有對(duì)軟件工程師的需求?,F(xiàn)在哪個(gè)公司不需要幾個(gè)碼農(nóng)來(lái)開(kāi)發(fā)app,或者做個(gè)web。但是做硬件這種工作并不是所有公司會(huì)去做的。舉個(gè)簡(jiǎn)單的例子,摩根大通銀行在我們學(xué)校的招聘會(huì)上有明確招軟件工程師,expedia在我們學(xué)校招聘會(huì)上也明確招聘軟件工程師,如果這個(gè)兩個(gè)公司突然說(shuō)要招電子工程師,這不是逗我嗎。。而且哪怕是硬件公司,也需要大量的軟件工程師來(lái)支持硬件前端工作。
第二點(diǎn)我覺(jué)得要?dú)w功于現(xiàn)在的創(chuàng)業(yè)潮。不管在美國(guó)在中國(guó)互聯(lián)網(wǎng)創(chuàng)業(yè)都是趨勢(shì),但是可以說(shuō)絕大部分的初創(chuàng)互聯(lián)網(wǎng)公司做的都是軟件方向。有個(gè)點(diǎn)子,有點(diǎn)技術(shù),找?guī)讉€(gè)合伙人抱著電腦就能開(kāi)干了。但是初創(chuàng)公司要專注做硬件開(kāi)發(fā)就比較難了,因?yàn)槌闪⒃O(shè)計(jì)硬件公司的門(mén)檻和起步開(kāi)銷(xiāo)比較大。所以這也導(dǎo)致大部分初創(chuàng)公司以互聯(lián)網(wǎng)為主,能做的了硬件設(shè)計(jì)的公司基本上都是處于壟斷地位的大企業(yè)。
第三個(gè)很重要的原因就是硬件設(shè)計(jì)在現(xiàn)在來(lái)看已經(jīng)是相對(duì)成熟的技術(shù),我甚至有ee的同學(xué)跟我說(shuō)大部分硬件的東西已經(jīng)步入夕陽(yáng)產(chǎn)業(yè)的范疇,因?yàn)楹芏鄸|西已經(jīng)成了規(guī)范,也因?yàn)楹芏鄸|西被自動(dòng)化所取代。前一陣子全球大牌的硬件公司才裁了不少人,intel更是裁掉了接近20%的硬件工程師。但是互聯(lián)網(wǎng)熱從90年代開(kāi)始到現(xiàn)在熱頭還沒(méi)過(guò),而且未來(lái)諸多產(chǎn)業(yè)如人工智能,機(jī)器學(xué)習(xí),圖像識(shí)別,大數(shù)據(jù)都才剛起步,所以還有一定的上升空間。
還記得當(dāng)初我們學(xué)校的初創(chuàng)公司招聘會(huì)上幾十家公司只有一家招硬件工程師,而且還是偏軟件的硬件工程師,剩下的公司里98%都在找會(huì)碼代碼的人;大企業(yè)的招聘會(huì)上才能見(jiàn)到nvidia, arm, intel, TI 的身影,但是哪怕是這樣基本上所有的公司招牌上都會(huì)有大寫(xiě)加粗的招computer science的字樣。。
再?gòu)膫€(gè)人的角度來(lái)講。想成為一名軟件工程師找到工作的門(mén)檻遠(yuǎn)比成為一名合格的硬件工程師低很多。要想以軟件工程師的身份混到個(gè)飯碗,能學(xué)兩門(mén)語(yǔ)言學(xué)好常用的數(shù)據(jù)結(jié)構(gòu)刷點(diǎn)題就基本上能找到薪水小幾千的崗位。我甚至知道國(guó)內(nèi)有專門(mén)的軟件工程師培訓(xùn)機(jī)構(gòu),那種專門(mén)教java和算法,兩個(gè)月速成班,而且所聲稱的學(xué)生就業(yè)率還挺高的。但是要想成為一名合格的硬件工程師,不是科班出身的不好好學(xué)幾門(mén)模電數(shù)電信號(hào)邏輯設(shè)計(jì)的課,沒(méi)有在學(xué)校實(shí)驗(yàn)室里自己焊點(diǎn)電路做實(shí)踐,連簡(jiǎn)歷都發(fā)不出去。而且現(xiàn)在要想學(xué)個(gè)什么語(yǔ)言框架,網(wǎng)上搜一搜“”xxx語(yǔ)言入門(mén)教程“”就有非常豐富的資源,但是要是在網(wǎng)上搜“如何學(xué)好超大規(guī)模集成電路設(shè)計(jì)”,要想找到可以受用的資源幾乎是不可能的。而且就我所參加的招聘會(huì)來(lái)說(shuō),如果有招硬件工程師基本都要求有研究生的學(xué)位,但是對(duì)軟件工程師的要求基本上就是熟悉算法數(shù)據(jù)結(jié)構(gòu),會(huì)web編程有相關(guān)經(jīng)歷就夠了。軟件工程師很多時(shí)候吃的是體力,硬件工程師大部分時(shí)候是吃經(jīng)驗(yàn),所以硬件工程師一般得有一定的經(jīng)歷積淀才能脫穎而出。尤其像模電這種上手程度很高的方向,沒(méi)個(gè)十年八年的相關(guān)經(jīng)驗(yàn)根本不算學(xué)成出師。所以說(shuō)本身對(duì)從業(yè)者的資質(zhì)要求更高,也是硬件工程師不好找工作的原因之一。
上面是我所認(rèn)為的短時(shí)間內(nèi)軟件工程師就找工作方面來(lái)說(shuō)會(huì)比硬件工程師更容易的原因。但是這并不意味著會(huì)編程就肯定找得到工作,也不意味著硬件產(chǎn)業(yè)就會(huì)低迷下去。軟件工程師的職位多,但是每年從事這個(gè)職業(yè)的人也更多,雖然我認(rèn)為現(xiàn)在軟件工程師短期內(nèi)還沒(méi)有出現(xiàn)飽和的趨勢(shì)(畢竟那么高的工資還擺在那),但是總有一天這個(gè)行業(yè)也會(huì)像金融產(chǎn)業(yè)一樣降溫(人才供過(guò)于求)。硬件產(chǎn)業(yè)雖然大部分已經(jīng)有步入夕陽(yáng)產(chǎn)業(yè)的趨勢(shì),但是曾經(jīng)一度被宣稱沒(méi)啥好搞的供電網(wǎng)絡(luò)最近也被smart grid搞得神乎其神,美國(guó)top5的高校都還設(shè)立了相關(guān)實(shí)驗(yàn)室。此外,現(xiàn)在物聯(lián)網(wǎng),車(chē)聯(lián)網(wǎng),智能家居的概念被炒得火熱,我相信等相關(guān)成熟的支持技術(shù)(能量采集,低功耗通信)以及統(tǒng)一的開(kāi)發(fā)平臺(tái)一旦出現(xiàn),硬件工程師的需求只會(huì)更多,雖然這些產(chǎn)品依舊只有那些有背景的大公司才做得動(dòng)(不過(guò)因?yàn)闅W美國(guó)家電子產(chǎn)業(yè)上的封鎖,國(guó)家也在硬件設(shè)計(jì)上砸了很多銀子,初創(chuàng)企業(yè)也會(huì)慢慢增加,相信國(guó)內(nèi)的相關(guān)機(jī)遇也會(huì)更多)。而且畢竟軟件產(chǎn)業(yè)畢竟還是依靠硬件,如何設(shè)計(jì)低功耗,高穩(wěn)定性,能夠承載大吞吐量計(jì)算量的硬件也是這個(gè)產(chǎn)業(yè)的挑戰(zhàn),畢竟人工智能,機(jī)器學(xué)習(xí),視覺(jué)處理等領(lǐng)域是很吃硬件計(jì)算量的。沒(méi)有強(qiáng)大的硬件支持,阿狗要想打敗李世乭還是癡心妄想吧。
現(xiàn)在在一家設(shè)計(jì)為設(shè)計(jì)硬件的公司所設(shè)計(jì)軟件的百?gòu)?qiáng)軟件公司實(shí)習(xí),做的工作大部分還是偏軟件,所以本身對(duì)工作常態(tài)也并沒(méi)有非常深入的自己的感受。但是就我觀察身邊的同事以及跟別人的交流來(lái)看,不管是做軟件硬件,都是要:對(duì)。著。電。腦。。。
軟件工程師平時(shí)就是上班啊調(diào)試程序,比較低級(jí)的碼農(nóng)只能給高級(jí)軟件工程師大大下手,幫他們做測(cè)試,實(shí)現(xiàn)他們?cè)O(shè)計(jì)好的東西。當(dāng)然了做到高級(jí)工程師了才有能力開(kāi)發(fā)設(shè)計(jì)自己公司的產(chǎn)品。如果在初創(chuàng)公司工作節(jié)奏更緊張,如果趕上產(chǎn)品要上線可能需要加班調(diào)試。遇到程序爆炸了可能還需要on call(就是你負(fù)責(zé)的東西突然出問(wèn)題了,你的manager直接打個(gè)電話給你你得馬上去公司修bug),至少我知道amazon是有這個(gè)機(jī)制。?我現(xiàn)在還沒(méi)有在純做硬件的公司實(shí)習(xí)過(guò),但是從我知道的事實(shí)來(lái)看,硬件工程師不會(huì)比軟件工程師輕松。硬件工程師也需要調(diào)試電路啊調(diào)試腳本啊反正也有跟軟件工程師交叉的工作。工作環(huán)境的話取決于細(xì)分的工作類(lèi)別。開(kāi)發(fā)fpga的估計(jì)跟碼農(nóng)一樣坐辦公室,搞mems的嵌入式的就長(zhǎng)期入駐實(shí)驗(yàn)室了。因?yàn)榇蟛糠钟布径际窍鄬?duì)成熟的大企業(yè),所以工作節(jié)奏普遍不會(huì)像在初創(chuàng)公司那么緊張,不過(guò)像在華為這樣的企業(yè)就另說(shuō)了。。。?當(dāng)然了不管是在軟件工程師還是硬件工程師,工作強(qiáng)度應(yīng)該都是高于其他industry的職業(yè)的。畢竟這個(gè)行業(yè)競(jìng)爭(zhēng)會(huì)越來(lái)越激烈,這也是聰明人聚集的地方。?至于工資的話,就平均來(lái)講,美國(guó)這里的軟件工程師年薪會(huì)略高于硬件工程師(從glassdoor以及其他門(mén)戶的數(shù)據(jù)來(lái)看),但是軟件工程師一樣也有收入低的,硬件工程師的收入也有碾壓軟件工程師的。只要你技術(shù)過(guò)硬,薪水都不是事兒。
我個(gè)人的感覺(jué)是不管怎樣,這兩個(gè)行業(yè)在未來(lái)都會(huì)有非常非常多的機(jī)遇與挑戰(zhàn)(詳細(xì)原因見(jiàn)第一點(diǎn))。不管是軟件設(shè)計(jì)還是硬件設(shè)計(jì)底下都有更多細(xì)小的分支(比如說(shuō)你硬件設(shè)計(jì)是想做vlsi,dsp,處理器設(shè)計(jì),通信,fpga開(kāi)發(fā)還是嵌入式,軟件設(shè)計(jì)你想做web開(kāi)發(fā),app開(kāi)發(fā),軟件開(kāi)發(fā),嵌入式軟件工程師,操作系統(tǒng)還是distributed system)。?我個(gè)人是對(duì)兩個(gè)大方向都很有興趣,但是我決定自己最終的方向還是嵌入式設(shè)計(jì)和處理器設(shè)計(jì),這兩個(gè)行業(yè)都應(yīng)該算是夾在了純硬件設(shè)計(jì)和純軟件設(shè)計(jì)的中間。尤其是產(chǎn)業(yè)對(duì)嵌入式工程師的要求更高,能夠自己設(shè)計(jì)mixed signal pcb,自己調(diào)試應(yīng)用代碼寫(xiě)kernel code,能調(diào)試無(wú)線通信,基本意味著一個(gè)合格的嵌入式工程師要對(duì)硬件和軟件相關(guān)方面有足夠的知識(shí)。我自己是比較討厭做web開(kāi)發(fā)app純開(kāi)發(fā)軟件的工作,因?yàn)檫@些工作的門(mén)檻太低,不是科班出身的人可能都能混的比你好得多,體現(xiàn)不出來(lái)自己的價(jià)值。而且我比較喜歡把電路板和各種元件握在手里的感覺(jué),而且我發(fā)現(xiàn)自己能夠設(shè)計(jì)一個(gè)可以用的硬件的時(shí)候那種成就感會(huì)高于debug之后的成就感。當(dāng)你發(fā)現(xiàn)自己在經(jīng)受了大學(xué)的磨練真正擁有了學(xué)習(xí)知識(shí)的能力以后,豐富的網(wǎng)上資源以及自身的積累都會(huì)讓你學(xué)習(xí)這些網(wǎng)頁(yè)app知識(shí)非常輕松,所以我個(gè)人更喜歡硬件底層,以及和硬件底層打交道的軟件領(lǐng)域。軟件硬件的課程都不會(huì)簡(jiǎn)單,而且兩個(gè)學(xué)科的工作量不是其他學(xué)科能比的(學(xué)工科的天天做project呆lab,學(xué)統(tǒng)計(jì)的上完課就回家看電影。。)所以要想學(xué)好,還是需要花一定精力,尤其美國(guó)的大學(xué)工科院系workload相對(duì)國(guó)內(nèi)高校來(lái)說(shuō)有增無(wú)減。確定這是你想要的,再給予考慮。
以上內(nèi)容是不是說(shuō)出了做軟件與做硬件的不同體會(huì)?不過(guò),據(jù)說(shuō),老工程師對(duì)此的回答是:工作久了就會(huì)發(fā)現(xiàn)其實(shí)需求才是根本,軟件硬件只是實(shí)現(xiàn)需求的途徑.....
【1】八個(gè)經(jīng)驗(yàn)搞定開(kāi)關(guān)電源PCBLayout
【2】程序員又翻車(chē)了!腦袋短路時(shí)他們是怎么想的?
【3】電源防反接電路的幾種實(shí)現(xiàn)方案
【4】知道了電容的這些作用,就可以玩轉(zhuǎn)電容
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!