做者前言:本人從事windows、linux/unix系統工程師多年了,也作過至關長時間的項目實施工程師,維護和架構過大型廣告網站、商業網站及證券類網站,感受對linux/unix算是比較熟悉了,因此就這個職業的規則算是有點心得了吧。linux
另外,撫琴煮酒有幸擔任過一段時間的RHCE教學工做,發如今教學過程當中,許多學員都對爲何學習Linux感到很迷惘,更別談什麼職業規劃了。我在工做和學習中,也接觸了很多愛學習的人,但發現他們在學習的過程當中都走進了誤區,白白浪費了很多精力;我寫此文的目的,就是說明一下linux/unix的從業現狀,幫助同窗們走出學習的誤區,但願能起到拋磚引玉的做用。sql
根據同事多年跟蹤的學員狀況,咱們發現,學員在同等條件學習Linux後,選擇開發要比系統應用薪水要上升的更爲迅速,並且更容易突破5000、8000或10000等每個月的門檻;可是這個方向難度會更大,同時會更枯燥些,須要毅力和身體,更須要興趣。如何入門及如何規劃本身的Linux學習之路一直是困擾Linux愛好者的一大難題,實際上,Linux的入門與學習並不難,只是因爲長期使用其餘操做系統的習慣與沒有正確的引導指向,因此一個自己不是難題的問題變成了難題。shell
我這裏想提一個問題給同窗們:企業爲何要用linux,爲何要用unix?許多同窗會說Linux/unix更好,更穩定,其實否則。企業爲何要用它們,實際上是本着節約成本和創造價值的目的。服務器操做系統的軟件投入和服務投入是至關大的經費,這也是如今爲何開源免費的CentOS和FreeBSD愈來愈受歡迎的緣由之一。再說下硬件的負載均衡器,我說下你們最爲熟悉的F5,性能通常的17萬;性能越好,價格也水漲船高。但其實許多企業所須要的Linux集羣環境其實併發不是大太,徹底能夠用開源免費的軟件來代替,例如LVS、Nginx,而這些軟件通常都是部署在Linux上,這也是近年來Linux愈來愈受歡迎的緣由之一。數據庫
另外,千萬不能僅僅學習Linux系統自己。Linux僅僅是操做系統,重要的是其上的應用,就是能爲你能創造多少價值。學習Linux的一個誤區在於精力只是侷限於Linux自己,從Linux的操做到Linux的內核,也無論本身到底要幹嗎;可是系統畢竟是拿來用的,學習使用Linux的目的是創造效益,若是不是僅僅製做Linux系統,不是加入Red Hat這樣的專業Linux發佈版廠商,那麼你在學習了Linux基礎後就跟掌握了Windows沒兩樣,很顯然這是不夠的,你還須要更進一步的學習:選擇Linux上的應用,或者Linux上的軟件開發,固然還有數據庫方向。下面我就這三方面詳細說明下:windows
a)Linux的系統、網絡、服務、集羣、網站、網絡應用方向:服務器
一、Web應用服務器,如sina、百度等大型網站網絡
二、Mail應用服務器,如163或外企mail系統等架構
三、中間件或J2EE服務器,如爲JBOSS Weblogic作平臺併發
四、網絡應用等。oracle
b)嵌入式開發、UNIX/Linux應用系統開發,Linux內核驅動開發方向,主要有如下幾類:
一、Linux下的C/C++ 系統程序開發
二、Linux平臺Java體系開發和PHP開發
三、Linux下的圖形界面開發
四、Linux底層內核/驅動開發
五、嵌入式Linux開發等。
c)Linux下的數據庫,如Mysql、oracle和windows下的SQL Server及DB2等。
數據庫的重要性我就不重複了,而DBA的做用稱得上舉足輕重了:在技術類崗位的薪資待趕上,總監之下就是DBA了。51CTO也有專門的數據庫頻道,編輯在這裏推薦一下。
以上是Linux/unix發展的三個方向,你們能夠在平時工做和學習中有所偏重,三個專業精通一個便可。注意我這裏說的是精通,而非僅僅熟悉的程度。
若是按照地域劃分,Linux/unix系統運維方面的工做適合在北京、上海、深圳和廣州,開發比較適合在杭州和南京等地區。說來慚愧,我生活的武漢,Linux/unix應用比較少,其系統運維方面的工做還真是很差找,我2009年回武漢發展時,好不容易託獵頭朋友在外企找了個system admin的職位;並且北京、上海那邊許多成熟的開源技術,如LVS、CDN,在武漢這邊基本是看不到的,甚是遺憾。
我這裏想說的是:若是是初學Linux/unix的同窗,建議能夠以RHEL/CentOS爲主,在找工做中儘可能不要想到待遇問題,在工做實踐中,儘可能熟悉shell和一些基礎的網絡應用,內網開發服務器的配置環境必定要熟悉;若是有機會出外作項目的,必定要兢兢業業,由於這個是成長得最快最好的時候。另外,不管是學習仍是施工期間,有關環境配置必定要造成文檔,儘可能寫得詳細和完善,這樣不管是對自身技術提升仍是跟同事進行工做交接都是很是有幫助的;若是沒有對外項目的機會,能夠寫技術型博客,詳細記錄本身的學習過程。有興趣的可參考田逸兄的博客,建議學習。若是想進一步提升本身的水平,建議多上一些跟linux/unix有關的論壇,跟一些同行或技術大牛交流,這樣提升起來也很是快。
若是是資深的linux/unix的系統管理員,建議能夠脫離系統級別,向網絡架構師的發向發展。網絡架構是件藝術活,有時系統性能就是看網站架構師的能力了。一般狀況下,此職位由公司的技術總監擔任,它要求技術總監對系統、程序、網絡及數據庫都有至關的瞭解,這個也是撫琴煮酒目前努力的方向。嘮嘮叨叨半天了,但願我這篇文章對廣大的Linux新人及系統管理員有所幫助,最後祝你們工做愉快!