天天看點

硬體工程師和軟體工程師哪個更有前途?我會告訴你嵌入式工程師更有前途

就我所了解的,在現在以及可預見的未來,這個行業對軟體工程師的需求絕對是碾壓硬體工程師的。也就是說,招軟體工程師的職位比硬體工程師的職位要多的多,而且軟體工程師找工作上來說會比硬體工程師更容易。

先從企業的角度來講講。我個人認為造成這個差異的原因,第一個是基本上所有的公司,從初創公司到全球百強,都有對軟體工程師的需求。現在哪個公司不需要幾個碼農來開發app,或者做個web。但是做硬體這種工作并不是所有公司會去做的。舉個簡單的例子,摩根大通銀行在我們學校的招聘會上明确招軟體工程師,expedia也明确招聘軟體工程師,如果這個兩個公司突然說要招電子工程師,這不是逗我嗎。。而且哪怕是硬體公司,也需要大量的軟體工程師來支援硬體前端工作。

第二點我覺得要歸功于現在的創業潮。不管在美國在中國網際網路創業都是趨勢,但是可以說絕大部分的初創網際網路公司做的都是軟體方向。有個點子,有點技術,找幾個合夥人抱着電腦就能開幹了。但是初創公司要專注做硬體開發就比較難了,因為成立設計硬體公司的門檻和起步開銷比較大。是以這也導緻大部分初創公司以網際網路為主,能做的了硬體設計的公司基本上都是處于壟斷地位的大企業。

第三個很重要的原因就是硬體設計在現在來看已經是相對成熟的技術,我甚至有ee的同學跟我說大部分硬體的東西已經步入夕陽産業的範疇,因為很多東西已經成了規範,也因為很多東西被自動化所取代。前一陣子全球大牌的硬體公司才裁了不少人,intel更是裁掉了接近20%的硬體工程師。但是網際網路熱從90年代開始到現在熱頭還沒過,而且未來諸多産業如人工智能、機器學習、圖像識别、大資料都才剛起步,是以還有一定的上升空間。

還記得當初我們學校的初創公司招聘會上幾十家公司隻有一家招硬體工程師,而且還是偏軟體的硬體工程師,剩下的公司裡98%都在找會碼代碼的人;大企業的招聘會上才能見到nvidia、ARM、 intel、 ti 的身影,但是哪怕是這樣,基本上所有的公司招牌上都會有大寫加粗的招computer science的字樣。。

再從個人的角度來講。想成為一名軟體工程師找到工作的門檻遠比成為一名合格的硬體工程師低很多。要想以軟體工程師的身份混到個飯碗,學兩門語言學好,常用的資料結構,刷點題就基本上能找到薪水小幾千的崗位。我甚至知道國内有專門的軟體工程師教育訓練機構,那種專門教java和算法,兩個月速成班,而且所聲稱的學生就業率還挺高的。

但是要想成為一名合格的硬體工程師,不是科班出身的不好好學幾門模電數電信号邏輯設計的課,沒有在學校實驗室裡自己焊點電路做實踐,連履歷都發不出去。而且現在要想學個什麼語言架構,網上搜一搜“”xxx語言入門教程“”就有非常豐富的資源,但是要是在網上搜“如何學好超大規模內建電路設計”,要想找到可以受用的資源幾乎是不可能的。而且就我所參加的招聘會來說,如果有招硬體工程師基本都要求有研究所學生的學位,但是對軟體工程師的要求基本上就是熟悉算法資料結構,會web程式設計有相關經曆就夠了。

軟體工程師很多時候吃的是體力,硬體工程師大部分時候是吃經驗,是以硬體工程師一般得有一定的經曆積澱才能脫穎而出。尤其像模電這種上手程度很高的方向,沒個十年八年的相關經驗根本不算學成出師。是以說本身對從業者的資質要求更高,也是硬體工程師不好找工作的原因之一。

上面是我所認為的短時間内軟體工程師就找工作方面來說會比硬體工程師更容易的原因。但是這并不意味着會程式設計就肯定找得到工作,也不意味着硬體産業就會低迷下去。軟體工程師的職位多,但是每年從事這個職業的人也更多,雖然我認為現在軟體工程師短期内還沒有出現飽和的趨勢(畢竟那麼高的工資還擺在那),但是總有一天這個行業也會像金融産業一樣降溫(人才供過于求)。

硬體産業雖然大部分已經有步入夕陽産業的趨勢,但是曾經一度被宣稱沒啥好搞的供電網絡最近也被smart grid搞得神乎其神,美國top5的高校都還設立了相關實驗室。此外,現在物聯網,車聯網,智能家居的概念被炒得火熱,我相信等相關成熟的支援技術(能量采集,低功耗通信)以及統一的開發平台一旦出現,硬體工程師的需求隻會更多,雖然這些産品依舊隻有那些有背景的大公司才做得動(不過因為歐美國家電子産業上的封鎖,國家也在硬體設計上砸了很多銀子,初創企業也會慢慢增加,相信國内的相關機遇也會更多)。而且畢竟軟體産業還是依靠硬體,如何設計低功耗,高穩定性,能夠承載大吞吐量計算量的硬體也是這個産業的挑戰,畢竟人工智能,機器學習,視覺處理等領域是很吃硬體計算量的。沒有強大的硬體支援,阿狗要想打敗李世乭還是癡心妄想吧。

本人現在在一家為硬體的公司設計軟體的百強軟體公司實習,做的工作大部分還是偏軟體,是以本身對工作常态也并沒有非常深入的自己的感受。但是就我觀察身邊的同僚以及跟别人的交流來看,不管是做軟體硬體,都是要:對。着。電。腦。。。

軟體工程師平時就是上班啊調試程式,比較低級的碼農隻能給進階軟體工程師打打下手,幫他們做測試,實作他們設計好的東西。當然做到進階工程師了才有能力開發設計自己公司的産品。

如果在初創公司工作節奏更緊張,如果趕上産品要上線可能需要加班調試。遇到程式爆炸了可能還需要on call(就是你負責的東西突然出問題了,你的manager直接打個電話給你,你得馬上去公司修bug),至少我知道amazon是有這個機制。 我現在還沒有在純做硬體的公司實習過,但是從我知道的事實來看,硬體工程師不會比軟體工程師輕松。硬體工程師也需要調試電路啊調試腳本啊,反正也有跟軟體工程師交叉的工作。工作環境取決于細分的工作類别。開發FPGA的估計跟碼農一樣坐辦公室,搞MEMS的、嵌入式的就長期入駐實驗室了。因為大部分硬體公司都是相對成熟的大企業,是以工作節奏普遍不會像在初創公司那麼緊張,不過像在華為這樣的企業就另說了。。。

當然不管是軟體工程師還是硬體工程師,工作強度應該都是高于其他industry的職業的。畢竟這個行業競争會越來越激烈,這也是聰明人聚集的地方。 至于工資的話,就平均來講,美國這裡的軟體工程師年薪會略高于硬體工程師(從glassdoor以及其他門戶的資料來看),但是軟體工程師一樣也有收入低的,硬體工程師的收入也有碾壓軟體工程師的。隻要你技術過硬,薪水都不是事兒。

有人說軟體工程師前景更開闊一些,我個人的感覺是不管怎樣,這兩個行業在未來都會有非常非常多的機遇與挑戰(詳細原因見第一點)。不管是軟體設計還是硬體設計,底下都有更多細小的分支(比如說你硬體設計是想做vlsi,dsp,處理器設計,通信,fpga開發還是嵌入式,軟體設計你想做web開發,app開發,軟體開發,嵌入式軟體工程師,作業系統還是distributed system)。 我個人是對兩個大方向都很有興趣,但是我決定自己最終的方向還是嵌入式設計和處理器設計,這兩個行業都應該算是夾在了純硬體設計和純軟體設計的中間。

尤其是産業對嵌入式工程師的要求更高,能夠自己設計mixed signal PCB,自己調試應用代碼寫kernel code,能調試無線通信,基本意味着一個合格的嵌入式工程師要對硬體和軟體相關方面有足夠的知識。我自己是比較讨厭做web開發app純開發軟體的工作,因為這些工作的門檻太低,不是科班出身的人可能都能混的比你好得多,展現不出來自己的價值。而且我比較喜歡把電路闆和各種元件握在手裡的感覺,而且我發現自己能夠設計一個可以用的硬體的時候那種成就感會高于debug之後的成就感。當你發現自己在經受了大學的磨練真正擁有了學習知識的能力以後,豐富的網上資源以及自身的積累都會讓你學習這些網頁app知識非常輕松,是以我個人更喜歡硬體底層,以及和硬體底層打交道的軟體領域。

軟體硬體的課程都不會簡單,而且兩個學科的工作量不是其他學科能比的(學工科的天天做project呆lab,學統計的上完課就回家看電影。。)是以要想學好,還是需要花一定精力,尤其美國的大學工科院系workload相對國内高校來說有增無減。确定這是你想要的,再給予考慮。

嵌友們,看到這裡,是不是也深表認同,自己也是這麼看好嵌入式工程師前景的!

更多交流可以私我q2898829468

繼續閱讀