學習 Linux 內核能找到工作嗎?
我很討厭MFC甚至界面的東西,請問如果直接學習LINUX內核方面的技術在國內能找到相應的工作嗎?請各位知道的說說看。
「學習內核」太泛了,內核上的技術涉及眾多CS子領域,而且也包含設備驅動程序等的應用開發,所以方向的選擇,工作的選擇對日後從事的工作是否有趣還是有很大影響的。
應用的方向有(不限於):
1. 設備驅動程序開發;2. 系統(主要是內核)裁剪;
3. 嵌入式應用。這方面會進一些做嵌入式的公司(很可能是外包),設備公司和安全公司。
研究的方向有(不限於):
1. 虛擬化;
2. 網路協議棧;3. 存儲;存儲廠商、大型互聯網公司的平台和基礎系統研發部門都有類似的工作。
另外,多學無害。很多互聯網相關的後端開發/維護,都是越了解內核代碼越有用的,比如(不限於):1. 系統內核調優;
2. 開發高並發/高負載後端服務;3. 高可用代理和各類負載均衡方案;4. 各種雲服務;5. 分散式/P2P應用。有啊, 我手裡好幾個這種linux kernel相關的崗位等著賣人進去呢, 啥時候你學成了來找我就是了, 我負責推薦. 當你修復了三個內核bug的時候就能賣個好價錢了. 我當年也學了點兒kernel相關的東西, 好在及時懸崖勒馬.
在達到某個臨界點之前,你找不到工作
Kernel 算是高級技術,系統程序員具有無比的優越感。但是回到現實,技術市場對於底層的需求並不多,相對應用層需求來說,系統程序員顯得太高端了,雖然他們處理應用層問題同樣優秀。
所以若非熱愛,涉獵即可,不要關注過多。
能, intel, IBM, TAB, ucloud, redhat, 等等等等, 都或多或少招人。
有一點你一定要相信,不管學什麼,學好了就一定能找到工作。
可以一個哥們作嵌入式安全的就是跟這個相關的你需要針對不同的設備編譯出不同的LINUX來用PS
現在C/C++除了MFC 還有很多東西
內核是內功,語言是外功。內外兼備,任督二脈打通以後,年薪百萬。就業方案還是不少:1:LINUX(對特性/系統介面;了解) C(熟悉) ---------嵌入式軟體開發/UNIX伺服器應用開發(做功能,基礎程序員)2:LINUX(對內核/文件系統;熟悉)C(精通)腳本(熟悉) ---------嵌入式開發/UNIX伺服器系統調優(做驅動/內核裁剪/高負載,資深程序員)3:LINUX(內核/架構;精通)C 腳本 開源項目 資料庫 --------------系統安全/伺服器後台/雲架構。。。。。到這個時候,一法通則萬法通,想轉行業平時自學,多在社區中做東西4:黑客/極客。。。。。。。到這個領域,需要習大大和奧巴馬親自開會討論你了
必須能,而且能找到很好的工作,尤其網路安全這塊。比如綠盟科技、啟明星辰、趨勢科技等等這種安全廠商的安全設備,都是c,c++開發的,相關產品的技術負責人基本都是linux大牛,對內核一般也比較熟悉。當然,360這類公司對這種linux內核達人也是來者不拒的。說個我知道的事情。之前在開發一個安全產品時,一個bug難倒了我們一大群人,在我們大夥百思不得姐時,最後問題還是技術總監大人親自出馬解決了,問題就是linux內核自身的bug導致。你如果對內核很熟悉,能解決大部分人解決不了的內核相關問題,年薪百萬不是夢。
卧槽被邀請了
我覺得 Linux kernel 這事,不僅要知其然,還要知其所以然。
比如你知道 procfs 里都有啥,甚至能因地制宜把參數調的一級棒,我感覺看上去更像一個 sysadmin 做的事情。procfs 里為啥要有這些東西?參數改了之後為什麼會產生影響?這些事情要搞清楚,其實跟 Linux 本身並沒有太大關係,你換成 Windows 也是同樣的道理。
我認為不管是操作系統還是手機應用,很多難點都來自於搞清楚用戶的需求。手機應用面對的需求一般是大眾經常接觸、易於理解的,而操作系統面對的需求是源自計算機領域本身的。
所以對於「不學 MFC、直接去學 Linux 內核」,我覺得微微不合理。依我看,應該系統地把計算機科學的專業課學好,有空就積極實踐,其他問題自然迎刃而解。
搞 Linux 其實並沒有比搞其他程序更複雜。我上學的時候也沒有特意去鑽研過 kernel 里是怎麼回事。基礎打好,理論搞清楚,後面一看就懂了。考了高考就能上大學么
如果決定學習了,可以像我一樣看看這個,鍛煉自己的動手能力。GitHub - vonnyfly/kernel_visualization: Automaticly draw callgraphs for Linux/Solaris/FreeBSD kernel functions
kernel的範圍個人覺得其實蠻廣的,面面精通還是有一定單獨的,有廣泛的了解和某個方向的深度,個人覺得已經可以找到一份很好的工作了。如果精通kernel,歡迎加入我們,哈哈~
學好了,你就是國內的稀有動物,會特別對待的
推薦閱讀:
※多線程追加文件,不加鎖,會出現什麼情況 ?
※linux系統會中比特幣病毒嗎?
※有沒有學習Linux比較好的入門書籍?
※如何紮實系統地學好後端開發(Linux 環境下)?細分方向有哪些?可否推薦一些好的開源項目?
※為什麼操作系統必須要有內核?