一心只玩 linux 的學生畢業後適合什麼工作?
大學中,對於java開發神馬的不感冒,一心只玩linux,請問畢業後有什麼適合的崗位嗎?
最近先是折騰gentoo又開始折騰lfs,感覺還是很爽的,主要是自己玩的爽。說到創造價值的話。。。。折騰這些除了自己玩的爽貌似沒什麼實際價值。。。再一想到將來找工作。。。。於是產生了疑惑,希望您能給予一些幫助。
我的下一步想法是理解計算機組成和原理(方式是研讀《深入理解計算機系統》),然後理解linux的工作原理和相應的API(通過查閱操作系統相關資料以及linux開發實踐),如果依舊興趣不減的話根據系統功能按個人興趣閱讀部分源碼。實現時間一年到一年半左右。這是我個人對於我大學僅剩的一年半中的自由時間的總體規劃。我想請教您如果我這麼玩下來,畢業後哪些公司的什麼崗位會比較適合我?
補充一下:對C/C++情有獨鍾。。。
喜歡OS和C的話,爭取在找工作前給LINUX內核提交幾個PATCH吧,如果論方向的話,內存和存儲方向是最好的了。
個人建議如果喜歡玩技術還是集中在單點上更好,不要泛泛的搞。
運維工程師。但是運維基本都需要熬夜,這也是為啥我對linux也很感興趣但不想從事運維的原因。然而,我現在在搞雲計算的開發,雲計算本身就是一套運維繫統。還是免不了偶爾需要熬夜,真是天不如人願啊!!!
樓主,Linux 底層,從零開始構建 Linux,精通 C 語言,能搞 Bootloader,能搞驅動,至少在當下,你是完全不用擔心沒飯吃的。甚至會比多數 java 程序員活得更好。
這個行業的需求量很大!因為,絕大多數電子設備裡面裝的都是 Linux,是的,比其他系統多很多倍。
至於什麼公司?其實中興華為一類的公司都可以選擇,當然還有各種做山寨電子設備的廠商(別瞧不起山寨二字,因為人家其實是悶聲發大財的),還有各種硬體廠商什麼的,其實選擇餘地很大。我微軟亞洲研究院的系統組專門研究各種系統問題,裡面有一票linux高手還有各種原教旨主義者,到時候你可以來試試。
我來就目前我的認識來回答一下lz的問題吧,純屬個人的見解。
折騰那些操作系統(gentoo,arch,ubuntu等等)就是了解一種操作系統的使用習慣,然後一直堅持的用下去,不斷的成熟,工具而已。至於選擇哪個,這個看興趣吧,為此爭論沒必要,每種版本都有自己的特點,適合自己就好。
當選擇好一種方式做主力發行版本之後,開始嘗試各種軟體和工具吧,然後在上面做更多的開發,如果你很想做底層,甚至是內核的東西,那麼還是堅持C吧,這個是最基本的編程語言,也是最好用的。至於C++,不想爭論什麼,至少目前來講在內核中C就完全可以辦到了,沒必要用C++,C++的好多特性過於臃腫了。
對於SA和各大發行版的公司的對比,看個人興趣了。對於SA的職位呢,就是一些互聯網公司,光鮮亮麗,工資也很高,但是會經常的加班,晚上睡覺中手機報警來了就要去公司解決問題,但是呢,在這種高強度的工作會讓你成長很快,在解決問題方面以及編程方面。
對於各大發行版的公司,相對來說舒服一點,比如redhat,suse,但是工資不是非常的高,相對而言不用經常加班,但是這時你要確定你做的東西,這些外企的公司在中國的業務不是非常的核心,核心的東西很少,所以要判斷好。當然核心的東西要求也就會非常的高了。
再給lz一個建議吧,幹什麼時候找准方向,這樣會事半功倍的。既然是做linux,就要更多的接觸開源的東西,加入一些主流的開源論壇,嘗試做開源的項目。參與google summer code對自身成長也會很快的。如果有機會歡迎做Unix開發,哈哈。
Linux再好只學Linux還是太狹隘了
而且如果不深入學習操作系統原理的話,無非就是練習常見userland軟體而已。由於這些軟體大多都是跨平台的,甚至都可以說和Linux沒有關係
從Linux到Android再到其他種種,都有一群愛好折騰的人照著別人的教程改這改那,然後覺得自己特極客特專業特牛X。
Linux內核代碼超千萬行,還有下面的各種桌面、平台、編譯器、庫、軟體,你給他們貢獻過一行代碼沒?買本apue刷完,僅此一本足矣,然後就可以找到工作了,服務端後台開發,絕壁沒問題。
想辦法沉澱一些自己的東西。
安裝 Linux 系統本身真的什麼都不是,連技巧都不是。LFS 玩透了的人會明白許多關於軟體包如何工作(autoconf, make, etc)、基本編譯過程方面的內容。更有心的人甚至會去了解每個主要的包是做什麼的,什麼情況會用到……
——因為他們做這件事本身是帶著目的去做的。當你想達到一個目標——如寫一個應用——的時候,過程中做的每一件事都會對這個最終的目標形成有效積累。
所以,如果你想要做開發,就儘早開始下手寫程序;如果想要做 SA,就儘早開始接觸真正 SA 的工作,包括自己運行網站全套伺服器、虛擬機管理、熟悉網路協議、腳本開發,等等。單純裝系統玩,在一次兩次之後,就純屬浪費時間了。
你問的這個問題類似「一心玩攝影的學生畢業後能否找到工作」,首先,如果你對Linux足夠熟悉,也經過通信網路方面的專業培訓,可以考慮向運維方向發展。但問題是你把Linux當成日常應用的工具?還是興趣?或者為職業做的準備?如果是前兩者,我奉勸你還是優先考慮和你專業背景相關的職業方向,如果確實是為職業做的準備,那就不要只躲在象牙塔里玩操作系統,看什麼Linux源碼之類的,不如實地了解一下企業需要什麼人才,有意識將自己塑造成那樣的人才。
請先正確寫對:Linux LFS 等等,正確使用省略號而不是三個甚至四個句點。這兒應該算是一個相對嚴肅正式的知識討論網站,不是 IM 或者論壇水區。嚴謹是程序員或者運維的必備技能。
不做開發不讀代碼是很難把「玩」過渡成職業甚至研究的,就算運維也是如此。
C語言學紮實一點,好好看看 The C Programming Language ,千萬別「譚浩強」。如果想做 Linux 開發的話還需要再讀一讀 Advanced UNIX Programming 之類。想做運維的話要好好掌握 Bash ,可以的話稍微了解 Python 或者 Perl ,然後一定要深入學習網路方面的知識(這年頭很少有伺服器不聯網了),試著學會在監控數據的基礎上、在了解原理(甚至閱讀源代碼)的前提下有目的地調整參數,擺脫百度和爛大街的人云亦云的「教程貼」。
突然發現是兩年前的問題了,請問樓主如今在做什麼工作,你這兩年的學習路線如何,可以給我指條明路
提起Linux,多數人都是想到運維方向。其實還可以考慮嵌入式,更接觸操作系統內部、驅動、硬體。個人覺得更有極客范。
感覺LZ其實不適合做運維,愛折騰對運維來說不是個好習慣;
大規模的線上環境,要求就是穩定,高效,通用;
而且,我覺得愛技術本身和愛折騰,我覺得是兩回事;
arch/geetoo的優點不就是高度定製化么,如果不懂代碼,照著別人的blog裝geetoo,那用geetoo幹嘛?如果懂代碼,先干兩年開發再去做運維吧。。。
運維。
以中標麒麟、湖南麒麟、普華基礎軟體、深度Deepin、新支點、優麒麟、紅旗軟體、中科方德、思普、凝思、一銘等為代表的國產操作系統,以紅帽、SUSE 、Ubuntu等為代表的國際Linux操作系統表示期待樓主畢業後去面試。
建議不要掉進源碼的坑,你自己不花大量時間去動手去創造,看別人的代碼沒用的。
C/C++/java首先要和演算法結合起來學,估計不太適合你。
建議多用bash去實現管理自動化,再學一門perl,都是UNIX系統管理員必備的技能。
技能不在於多而在於小而全,只要你在某個方向上的技能樹都點滿了,何愁沒工作?
至於OS,編譯,這種科學家做的高級方向,就別考慮了
樓主趕緊別折騰OS了,由淺入深開始研究代碼是正途。精通Shell/Perl能搞運維,精通C能搞底層開發,可選的工作多了去了。
你可以去Linux廠商,但不是一畢業就去,我是認真地說。
一心只玩Linux安裝與卸載
一心玩Linux Kernel Hack
一心玩Linux上某(些)用戶軟體的Hack
這三種以後的出路不盡相同,一般來說,後兩種出路要寬得多
根據你的描述,現階段你是屬於第一種
推薦閱讀:
※為什麼計算機專業的學生要學習使用 Linux 系統?
※caffe開發過程中使用了哪些工具?
※Linux下的開源軟體有哪些有趣的玩法?
※ATM 系統為什麼使用 Windows 而不使用 Linux?
※驅動與固件的區別是什麼?