關於軟體工程師和硬體工程師總有太多的話題。
常態往往是這樣滴:
板子出問題了,
硬體工程師:肯定是軟體的原因!
軟體工程師:絕對是硬體的問題!
以下內容摘自知乎匿名用戶一位美國在校學生所寫,雖然或有失偏頗,但還是很能說明問題的:
1. 我個人理解的就業與行業前景
因為我個人對美國這方面了解更多,就先從美國說一說。我相信硬體工程師和軟體工程師的就業前景應該是提這個問題的人最想知道的方面。
就我所了解的,在現在以及可預見的未來,這個行業對軟體工程師的需求絕對是碾壓硬體工程師的。也就是說,招軟體工程師的職位比硬體工程師的職位要多的多,而且軟體工程師找工作上來說會比硬體工程師更容易
先從企業的角度來講講。我個人認為造成這個差異的原因,第一個是基本上所有的公司,從初創公司到全球百強,都有對軟體工程師的需求。現在哪個公司不需要幾個碼農來開發app,或者做個web。但是做硬體這種工作並不是所有公司會去做的。舉個簡單的例子,摩根大通銀行在我們學校的招聘會上有明確招軟體工程師,expedia在我們學校招聘會上也明確招聘軟體工程師,如果這個兩個公司突然說要招電子工程師,這不是逗我嗎。。而且哪怕是硬體公司,也需要大量的軟體工程師來支持硬體前端工作。
第二點我覺得要歸功於現在的創業潮。不管在美國在中國網際網路創業都是趨勢,但是可以說絕大部分的初創網際網路公司做的都是軟體方向。有個點子,有點技術,找幾個合伙人抱著電腦就能開幹了。但是初創公司要專注做硬體開發就比較難了,因為成立設計硬體公司的門檻和起步開銷比較大。所以這也導致大部分初創公司以網際網路為主,能做的了硬體設計的公司基本上都是處於壟斷地位的大企業。
第三個很重要的原因就是硬體設計在現在來看已經是相對成熟的技術,我甚至有ee的同學跟我說大部分硬體的東西已經步入夕陽產業的範疇,因為很多東西已經成了規範,也因為很多東西被自動化所取代。前一陣子全球大牌的硬體公司才裁了不少人,intel更是裁掉了接近20%的硬體工程師。但是網際網路熱從90年代開始到現在熱頭還沒過,而且未來諸多產業如人工智慧,機器學習,圖像識別,大數據都才剛起步,所以還有一定的上升空間。
還記得當初我們學校的初創公司招聘會上幾十家公司只有一家招硬體工程師,而且還是偏軟體的硬體工程師,剩下的公司裡98%都在找會碼代碼的人;大企業的招聘會上才能見到nvidia, arm, intel, TI 的身影,但是哪怕是這樣基本上所有的公司招牌上都會有大寫加粗的招computer science的字樣。
再從個人的角度來講。想成為一名軟體工程師找到工作的門檻遠比成為一名合格的硬體工程師低很多。要想以軟體工程師的身份混到個飯碗,能學兩門語言學好常用的數據結構刷點題就基本上能找到薪水小几千的崗位。我甚至知道國內有專門的軟體工程師培訓機構,那種專門教java和算法,兩個月速成班,而且所聲稱的學生就業率還挺高的。但是要想成為一名合格的硬體工程師,不是科班出身的不好好學幾門模電數電信號邏輯設計的課,沒有在學校實驗室裡自己焊點電路做實踐,連簡歷都發不出去。而且現在要想學個什麼語言框架,網上搜一搜「」xxx語言入門教程「」就有非常豐富的資源,但是要是在網上搜「如何學好超大規模集成電路設計」,要想找到可以受用的資源幾乎是不可能的。而且就我所參加的招聘會來說,如果有招硬體工程師基本都要求有研究生的學位,但是對軟體工程師的要求基本上就是熟悉算法數據結構,會web編程有相關經歷就夠了。軟體工程師很多時候吃的是體力,硬體工程師大部分時候是吃經驗,所以硬體工程師一般得有一定的經歷積澱才能脫穎而出。尤其像模電這種上手程度很高的方向,沒個十年八年的相關經驗根本不算學成出師。所以說本身對從業者的資質要求更高,也是硬體工程師不好找工作的原因之一。
上面是我所認為的短時間內軟體工程師就找工作方面來說會比硬體工程師更容易的原因。但是這並不意味著會編程就肯定找得到工作,也不意味著硬體產業就會低迷下去。軟體工程師的職位多,但是每年從事這個職業的人也更多,雖然我認為現在軟體工程師短期內還沒有出現飽和的趨勢(畢竟那麼高的工資還擺在那),但是總有一天這個行業也會像金融產業一樣降溫(人才供過於求)。硬體產業雖然大部分已經有步入夕陽產業的趨勢,但是曾經一度被宣稱沒啥好搞的供電網絡最近也被smart grid搞得神乎其神,美國top5的高校都還設立了相關實驗室。此外,現在物聯網,車聯網,智能家居的概念被炒得火熱,我相信等相關成熟的支持技術(能量採集,低功耗通信)以及統一的開發平臺一旦出現,硬體工程師的需求只會更多,雖然這些產品依舊只有那些有背景的大公司才做得動(不過因為歐美國家電子產業上的封鎖,國家也在硬體設計上砸了很多銀子,初創企業也會慢慢增加,相信國內的相關機遇也會更多)。而且畢竟軟體產業畢竟還是依靠硬體,如何設計低功耗,高穩定性,能夠承載大吞吐量計算量的硬體也是這個產業的挑戰,畢竟人工智慧,機器學習,視覺處理等領域是很吃硬體計算量的。沒有強大的硬體支持,阿狗要想打敗李世乭還是痴心妄想吧。
2. 工作常態 現在在一家設計為設計硬體的公司所設計軟體的百強軟體公司實習,做的工作大部分還是偏軟體,所以本身對工作常態也並沒有非常深入的自己的感受。但是就我觀察身邊的同事以及跟別人的交流來看,不管是做軟體硬體,都是要:對。著。電。腦。。。
軟體工程師平時就是上班啊調試程序,比較低級的碼農只能給高級軟體工程師大大下手,幫他們做測試,實現他們設計好的東西。當然了做到高級工程師了才有能力開發設計自己公司的產品。如果在初創公司工作節奏更緊張,如果趕上產品要上線可能需要加班調試。遇到程序爆炸了可能還需要on call(就是你負責的東西突然出問題了,你的manager直接打個電話給你你得馬上去公司修bug),至少我知道amazon是有這個機制。 我現在還沒有在純做硬體的公司實習過,但是從我知道的事實來看,硬體工程師不會比軟體工程師輕鬆。硬體工程師也需要調試電路啊調試腳本啊反正也有跟軟體工程師交叉的工作。工作環境的話取決於細分的工作類別。開發fpga的估計跟碼農一樣坐辦公室,搞mems的嵌入式的就長期入駐實驗室了。因為大部分硬體公司都是相對成熟的大企業,所以工作節奏普遍不會像在初創公司那麼緊張,不過像在華為這樣的企業就另說了。。。 當然了不管是在軟體工程師還是硬體工程師,工作強度應該都是高於其他industry的職業的。畢竟這個行業競爭會越來越激烈,這也是聰明人聚集的地方。 至於工資的話,就平均來講,美國這裡的軟體工程師年薪會略高於硬體工程師(從glassdoor以及其他門戶的數據來看),但是軟體工程師一樣也有收入低的,硬體工程師的收入也有碾壓軟體工程師的。只要你技術過硬,薪水都不是事兒。
3. 個人感受 看題主的問題描述,說軟體工程師前景更開闊一些。我個人的感覺是不管怎樣,這兩個行業在未來都會有非常非常多的機遇與挑戰(詳細原因見第一點)。不管是軟體設計還是硬體設計底下都有更多細小的分支(比如說你硬體設計是想做vlsi,dsp,處理器設計,通信,fpga開發還是嵌入式,軟體設計你想做web開發,app開發,軟體開發,嵌入式軟體工程師,作業系統還是distributed system)。 我個人是對兩個大方向都很有興趣,但是我決定自己最終的方向還是嵌入式設計和處理器設計,這兩個行業都應該算是夾在了純硬體設計和純軟體設計的中間。尤其是產業對嵌入式工程師的要求更高,能夠自己設計mixed signal pcb,自己調試應用代碼寫kernel code,能調試無線通信,基本意味著一個合格的嵌入式工程師要對硬體和軟體相關方面有足夠的知識。我自己是比較討厭做web開發app純開發軟體的工作,因為這些工作的門檻太低,不是科班出身的人可能都能混的比你好得多,體現不出來自己的價值。而且我比較喜歡把電路板和各種元件握在手裡的感覺,而且我發現自己能夠設計一個可以用的硬體的時候那種成就感會高於debug之後的成就感。當你發現自己在經受了大學的磨練真正擁有了學習知識的能力以後,豐富的網上資源以及自身的積累都會讓你學習這些網頁app知識非常輕鬆,所以我個人更喜歡硬體底層,以及和硬體底層打交道的軟體領域。軟體硬體的課程都不會簡單,而且兩個學科的工作量不是其他學科能比的(學工科的天天做project呆lab,學統計的上完課就回家看電影。。)所以要想學好,還是需要花一定精力,尤其美國的大學工科院系workload相對國內高校來說有增無減。確定這是你想要的,再給予考慮。
以上內容是不是說出了做軟體與做硬體的不同體會?不過,據說,老工程師對此的回答是:工作久了就會發現其實需求才是根本,軟體硬體只是實現需求的途徑......你覺得呢?
推薦閱讀
華為向日企採購額或超770億,日本恐將成為最大供應國
聚焦行業熱點, 了解最新前沿
敬請關注EEWorld電子頭條
http://www.eeworld.com.cn/mp/wap
複製此連結至瀏覽器或長按下方二維碼瀏覽
以下微信公眾號均屬於
EEWorld(www.eeworld.com.cn)
歡迎長按二維碼關注!
EEWorld訂閱號:電子工程世界
EEWorld服務號:電子工程世界福利社