手機、汽車、甚至宇宙飛船,在今天的科技世界中,你幾乎到處都能看到 Linux 的身影。前兩天 SpaceX 成功将宇航員送入太空的獵鷹9号火箭與龍飛船用的也是 Linux的作業系統。身處與 Linux 相關行業的同學還是非常幸運的,行業前景光明、人才需求量大、薪資待遇也水漲船高。當然我們做 Linux 系統維護與開發的同學也是非常辛苦的,正在忙着寫指令或者敲代碼的同學可以把手中的工作先放一下,和我一起對 Linux 的職業發展前景做一個展望吧。

Linux 的幾大職業發展方向
按照工作内容,和 Linux 相關的工作主要有以下幾個方向:系統運維、應用開發、嵌入式開發、和底層開發。各個方向的工作内容、任職要求、和薪資水準差異都比較大。這裡提供的是比較通用的資訊,具體的崗位資訊和待遇各個公司的情況肯定會有所不同,這裡僅供大家參考。
1、系統運維工程師
1)工作職責:主要負責日常 Linux 系統的搭建、部署與運維,排查系統問題、解決系統故障等。系統運維工程師最主要的工作就是保障伺服器系統能夠正常運作,這裡邊的系統不單單指 Linux,還包括資料庫、Web應用、電子郵件應用、網絡應用、J2EE等等。
2)任職要求:能夠熟練掌握 Linux 系統,比如磁盤管理、檔案系統管理、權限管理等。熟悉網絡,比如 HTTP、TCP/IP 協定、路由、防火牆等。熟練掌握常用軟體的安裝,比如Nginx、Memcached、Tomcat、Redis等。了解叢集、高可用的架構。會寫Shell及Python腳本。初入職場的同學也可以考慮考一個紅帽 RHCE 的認證。
3)薪資待遇:一、二線城市,工作 5-10 年的經驗,大概是 16-48 萬年薪。
2、應用軟體開發工程師
1)工作職責:主要負責公司産品設計、架構制定與研發等。和運維工作相比,對 Linux 系統的要求沒有那麼高,主要側重于代碼和産品架構。運維工程師需要為軟體工程師提供一個可靠的開發、測試和生産環境。Linux系統上的軟體開發有很多種,使用的程式設計語言包括 Java、Python、C++、SQL等(《2020年你最需要掌握的11種程式設計語言》),按應用類别又可分為企業服務應用、大資料應用、桌面應用等等。
2)任職要求:精通某種程式設計語言,有開發經驗,熟悉 Linux 環境,懂設計模式,熟悉常用的開發架構,了解資料庫,能熟練使用應用服務。
3)薪資待遇:一、二線城市,工作 5-10 年的經驗,大概是 12-36 萬年薪。
3、Linux嵌入式開發工程師
1)工作職責:主要也是負責産品設計、制定架構、和産品代碼編寫等工作,但主要應用在嵌入式的産品中,比如本文開頭提到的手機、汽車、甚至飛船,這裡邊應用到的都是嵌入式的Linux系統。
2)任職要求:熟悉 Linux 的 API,比如 IO 操作、程序間通訊、網絡通訊等等。精通 Linux核心的配置與編譯,精通 C/C++,熟悉主流的嵌入式開發平台,比如 UCOS、FreeRTOS等。
3)薪資待遇:一、二線城市,工作 5-10 年的經驗,大概是 18-46 萬年薪。
4、Linux底層開發工程師
1)工作職責:主要包括 Linux 系統核心以及驅動的開發。崗位難度系數高,但是薪資待遇通常比較好。另外崗位需求量較少,一般大型的硬體企業比如晶片制造商才會有這個崗位。
2)任職要求:對 Linux 核心源碼非常熟悉,精通 C 語言(Linux 核心是用 C 語言編寫的 《Linux,Unix,GNU 到底有什麼樣的淵源?》),精通驅動的開發/移植,懂基本的電路原理與設計。
最後
通過上面的介紹希望大家都能對自己的職業發展有一個比較清楚的規劃,欠缺的知識和技術可以想辦法去補足。薪資水準隻作為參考,每個人的從業時間長短,和具體崗位的不同對薪資水準的影響都會比較大。關于技術崗位再給幾點建議:在某個領域要做深做精,争取成為這個領域的專家;在大的平台、大公司還是可以學到更全面的知識和更新的技術;要多學習、多實踐、多嘗試新的技術,這樣才能慢慢走到别人的前面。
推薦閱讀:
《2020年你最需要掌握的11種程式設計語言》
《微軟:懸賞10萬美金破解 Linux 系統》
《安卓到底是不是Linux》
《在 Linux 系統中如何管理 systemd 服務》
《Linux的運作級别與目标》
《軟連結 vs. 硬連結》
歡迎大家關注我的微信公衆号,擷取知識幹貨、增加面試經驗、了解程式人生。
回複【面試】,擷取技術大廠面試寶典
- The End -