和從事互聯網行業相比,做嵌入式開發有潛力嗎?


這是個很有意思的問題,說兩個看法:

1. 兩者沒有可比性。 打個比方,互聯網開發像砍大樹,嵌入式系統開發像雕豆腐,方法工具技藝都完全不同。 這兩個行業做好了都有潛力。

2. 兩者有聯繫,但還未融合。嵌入式系統越來越多地具有聯網能力,多個嵌入式產品之間通過網路通訊和協調,甚至有些嵌入式產品能直接作為WebSite訪問。但是,這兩部分的開發到目前為止還是會有不同的團隊負責。

如果你問這個問題是想擇業,建議你考慮一下自己的興趣和性格:

喜歡討論複雜的架構,喜歡華麗的UI,喜歡研究軟體開發最新的方法論,特別喜歡對軟體做抽象和封裝的,建議去做互聯網行業;

性格比較細膩,比較喜歡關注細節,喜歡對一件事物的完全掌控感,在一件看得見摸得著的會按照你的意圖動作的東西上能得到更多成就感的,建議去做嵌入式開發。


單純從開發的角度來說,工作能力都會經歷一個從生到熟的過程。如果你是一個新手,可能你會更關注你在兩個領域中在不遠的未來,比如說三五年之後的發展,或者把「潛力」理解成你的職業規劃以及變成熟手之後的工作機會。

對互聯網領域了解的不是那麼深,說說嵌入式領域的工作機會。

從事嵌入式開發按普通的水平,從新人做到能獨當一面至少需要1到2年的時間。它需要你從完整的項目中獲取經驗,要了解和學習的東西很多也很雜,換句話說,除非是在一些分工很明確的地方比如說外企,否則一招鮮的情況並不吃香。從資料的完整程度,軟體的架構,源碼的可讀性,網路平台的交流來說,它並不是一個成熟度很高、資源很完備的平台,需要開發人員去積極的探索,並耐心的關注每一個細節以及它們之間的關係。正因為如此,經驗便顯得很重要,往往在很多公司的研發團隊里,成為技術核心都是具有三五年以上嵌入式開發經驗的工程師,而團隊的負責人也往往都是從無數個項目中鍛鍊出來的,對全局和局部都把握的很出色的人擔當。

嵌入式開發對硬體平台具有高依賴性,在目前看來,統一軟體開發平台或是工作流程並不現實。對於不同領域的產品需求,需要由不同的硬體方案廠商去支持,而由於產品本身的特點對硬體及軟體的要求(如性能、功耗的指標),需要開發人員去選擇合適的軟體平台,從操作系統到上層的應用程序。因此從計算機技術角度考慮,對開發人員的技術要求更關住計算機組成,操作系統內核,俗稱底層開發。從開發語言來說,C和彙編是關鍵點;從開發環境來說,一般更偏向於輕量級的開發工具,尤其在Linux/Unix上的工具更是偏少。但對於未來的發展,隨著越來越多的產品及應用的需求,軟體應該會有一個整合的過程,將會有一些更完善的集成開發環境供開發人員使用。


我認為絕大部分的嵌入式應用對性能要求的要求遠低於對功能的要求,因此未來硬體速度高度發展之後,整合嵌入式軟體和傳統軟體開發流程是完全可能的,例如使用FPGA可以替代很多外設,從而減輕了底層開發的異構性。在摩爾定律的影響下,嵌入式系統也完全可以採用通用架構,底層代碼的可重用性將大大增強,嵌入式概念範疇中的「定製」性將不復存在。


一下是個人觀點:就目前而言,嵌入式的技術相比個人電腦還是相對落後的,畢竟硬體的資源不是一個等級的,但嵌入式依然是今後的發展熱點和方向,而且目前的物聯網發展迅速。嵌入式也會應用互聯網的技術,但現在嵌入式的開發還是多會涉及底層,有些偏硬。而且產品的用戶也不盡相同。感覺上互聯網的發展還是迅速的,各種新技術新產品曾出不窮,不過對於開發者來說,也是一個挑戰。


推薦閱讀:

小米能否做一款廣告機,免費提供給大家使用?
互聯網簡訊-20170806
為何設計崗淘汰率 143:1 登頂互聯網?

TAG:互聯網 | 嵌入式系統 |