STM32好找工作,所以學linux終究是錯付了嗎

XYD漫漫發表於2022-02-27

經常有大學生同學糾結:我到底是學 STM32 還是學嵌入式 linux

這個問題很多人都會有自己的看法,今天 信盈達小編 試著從多個角度,把了解到的事實講一下,希望對大家有所啟發。

STM32 確實好

首先得承認 STM32 確實好,好到 STM32 都成了微控制器 MCU 的代名詞了,現在很多人甚至說微控制器時預設就說 STM32 ,實際上還有很多微控制器的啊。

STM32 的第一大好處就是:就業機會確實多,社會需求多。

大家學點技術圖什麼?

還不是為了找工作賺工資。

當然我承認大家都有更遠大的理想,但是就算你想造火箭也得畢業後先能找到工作賺錢餬口開始。

所以如果你讓我學個東西都沒公司要,都找不到工作,那學它肯定錯了。

你不妨去各大招聘網站搜尋一下, STM32 相關崗位真的很多,你如果 STM32 玩的溜,找份工作真的不成問題。

而且大多數一二線城市都有工作機會,這一點更難得。

總結一下,學 STM32 肯定沒錯,這玩意至少能讓你有份工作。

STM32 的第二大好處就是:他是很典型的 MCU ,可以讓你掌握足夠的 MCU 開發能力。

也就是說即使你在工作中需要用到其他 MCU ,譬如說 NXP LPC 系列, Cypress TI MCU 系列,而這些你從來沒接觸過完全不會。

但是,只要你熟練掌握 STM32 ,就能很快上手這些 MCU 的開發工作。

最後, STM32 還有個優勢就是生態已成,影響力大。

目前很多國產 MCU 廠商如 GD 、國民技術等在推出的國產 MCU 也是對標 STM32 的,在開發方式甚至是韌體庫方面都和 STM32 非常類似。

綜上,掌握 STM32 確實很有用, STM32 最大的特點就是實在,掌握這項技能很有助你找到一份工作,在微控制器軟硬體工程師這條路上能先上路,走出第一步。

STM32 的侷限性

不能說 STM32 不好,只能說有侷限性。

STM32 最大的侷限性就是:它只是個微控制器。

也就是說,你學習 STM32 ,其實學的都是微控制器相關的技術。

譬如 GUI 方面,你學 STM32 可能會學 emWin ,或者 touchgfx ,或者 littlevgl 等,但是你幾乎肯定不會去學 QT android 那些,因為 STM32 上一般不跑這些。(現在 QT 也有 QT for MCU ,也在 STM32H7 上做了合作,但是應用面有限,大部分人大部分專案不會使用)。

所以你學到的 GUI 技術全都是 MCU 領域使用的,而這些和主流的 GUI 的前端與業務邏輯分離的設計模式(典型的如微軟的 WPF Android ,或 web 前端設計等)是有不同的,因此你學到的東西也是有侷限的。

再譬如網路應用方面, STM32 大多數應用都不帶網路,就算帶網路往往也是用通訊模組,很少會需要你基於 socket 層直接程式設計,而這才是網路程式設計的關鍵技能。

所以很多做 STM32 多年的工程師,實際上對網路很陌生,甚至是一竅不通。

客觀看待 STM32  

客觀去看, STM32 開發確實是電子相關專業同學可以去學習的一項技能。

或者說,如果你打算學微控制器,那麼 STM32 絕對是首選。

當然了,首選不是說只學 STM32 可以來信盈達學院, 微控制器學習路徑是先用 51 入門,再進階到 STM32 ,這樣更符合學習規律,學習效率會更高。 信盈達學院的微控制器課程很熱門的哦。

所以說學 STM32 是沒錯的。

但是不是說只學 STM32 ,這個必須搞清楚。

嵌入式 Linux STM32 最好的延伸

如果你 STM32 已經學得不錯了,建議延伸學習 linux

很多人覺得 linux 使用沒有 STM32 廣泛,使用 linux 的裝置遠沒有使用 STM32 的裝置多,招聘崗位中 linux 相關也沒有 STM32 相關的多,所以不應該去學 linux 而應該去學 STM32

這個觀點是錯的。

因為這個觀點把 STM32 linux 拿來對比了,然而這 2 個東西根本沒有可比性。

你對比這 2 個就好像對比自行車和小汽車,你說自行車的優勢是便宜,好修理,不堵車,不用交停車費,不耗油等等,你可以說出來自行車相對小汽車的很多優勢,然而該買小汽車的你給他個自行車行嗎?

小汽車是自行車的延伸, linux STM32 的延伸,是類似的道理。

後者相對前者是升級的關鍵,而不是平行的關係。

嵌入式 Linux 的優勢

其實學習 linux 還有很多優勢。

Linux 核心可以說是整個開源軟體社群的集大成者,在過去幾十年間有大量世界級優質程式設計師向 linux kernel 貢獻程式碼和思想,也有大量的第三方開源專案基於 linux 的某些元件或 linux 的設計思想來構建。

譬如國內現在很火的國產物聯網作業系統 rt-thread ,你去讀它的原始碼就會發現,這完全就是 linux 的味兒啊。你去看華為的物聯網作業系統 LiteOS ,他的原始碼中各個元件之間分隔對接的 osal 設計,也是 linux kernel 中大量使用的技巧。

所以說為什麼要學 linux

因為它真的可以讓你一勞永逸的解決往後職業生涯中遇到的大部分技術需求。

我們學習技術有個很大問題就是:你今天永遠不知道明天會做什麼工作,會需要什麼技能。

可能你下個月開個新專案新任務,老大就會給你一個你根本沒聽過名字的東西讓你玩。你怎麼才能快速上手呢?

以信盈達學員 的經驗,最靠譜的就是學好 linux 。因為你會發現你遇到的任何東西都有 linux 的影子。

只要你學好了 linux ,有這個功底,你學習任何新東西時都會很快。

我當年下決心學好 linux 就是因為分配到一個指紋鎖研發的專案,用到的方案是一個新加坡科技公司開發的,他的開發環境是用 cygwin ,而我此前從未接觸過。折騰了半天搭建好環境我一看,這不就是 linux 的命令列嘛。還好我之前接觸過簡單的 linux 命令列,一下子感覺這個專案就不難了。

此後我就認識到 linux 的重要性了,下功夫好好學了 linux ,這麼多年過來,太多事實案例證明,當時的決策非常英明。

51 ,學 STM32 這都沒錯,很實際,很接地氣。

如果你用盡了全力也就能湊合學好這些,那就做微控制器開發,也能找到工作。

要相信社會不會虧待你,會用升職加薪來回饋你。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70014179/viewspace-2857927/,如需轉載,請註明出處,否則將追究法律責任。

相關文章