手機、汽車、甚至宇宙飛船,在今天的科技世界中,你幾乎到處都能看到 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 到底有什麼樣的淵源?》),精通驅動的開發/移植,懂基本的電路原理與設計。
最後
通過上面的介紹希望大家都能對自己的職業發展有一個比較清楚的規劃,欠缺的知識和技術可以想辦法去補足。薪資水平只作為參考,每個人的從業時間長短,和具體崗位的不同對薪資水平的影響都會比較大。關於技術崗位再給幾點建議:在某個領域要做深做精,爭取成為這個領域的專家;在大的平臺、大公司還是可以學到更全面的知識和更新的技術;要多學習、多實踐、多嘗試新的技術,這樣才能慢慢走到別人的前面。
推薦閱讀:
歡迎大家關注我的微信公眾號,閱讀更多文章,獲取更多知識
- The End -