Zi 字媒體
2017-07-25T20:27:27+00:00
本文是由資深程序猿、資深講師高淇撰寫,詳細講解了:JAVA行業的前途、什麼人適合學JAVA、怎麼學習JAVA、JAVA培訓適合哪些人。 系十餘年工作心得總結,希望對後來的初學者、JAVA程序員有一定的幫助。 (查看「2017年最新版JavaEE+大數據課程大綱」點擊「閱讀全文」)JAVA為什麼有前途? 過去的十多年,JAVA基本每年都是全世界使用人數第一的語言。全世界數百萬的IT企業構建了龐大的JAVA生態圈,大量的軟體基於JAVA開發。 JAVA也被譽為「計算機界的英語」。 JAVA的應用範圍涉及所有行業、絕大多數IT企業,形成了龐大的生態圈。如下是智聯招聘在一個月內、北京地區的JAVA人才需求量: 當月需求量25121個職位,我們以一個職位招聘3人,總量就是:25121*3=75363人。這還只是光北京地區。可以想象全年、全國招聘的數量,以及由此形成的生態圈有多麼龐大。這個生態圈的影響力越來越大,需要的人才也越來越多。越多人會JAVA,就有越多軟體使用JAVA編寫,反過來促進需要更多的JAVA人才。 這就是著名的「馬太效應」,即「強者越強,弱者越弱」。JAVA目前在:企業級軟體開發、安卓開發、大數據、雲計算等方方面面都是主流的編程語言。跟著主流走,肯定錯不了。什麼人適合學習JAVA? 如果作為興趣來學編程,什麼人都適合。畢竟,現在國小生都開始學習編程了。如果要作為職業來說,你到底適合不適合確實是個問題。我教過的學員裡面從國中生到博士生、甚至50多歲的企業高管都有,懷著不同的目的來學習JAVA。 我記得教過一個北大的數學碩士,人家過來學習不為職業就為科研,希望通過培訓節省時間,一個暑假就迅速突破了編程這個坎。 這裡,我們只探討作為職業適合不適合你?這裡有六個現實的硬性指標,可以作為參考。1. 興趣度興趣是基礎。如果你完全沒有編碼的興趣,敲鍵盤就頭大。那就完全屏蔽掉程序員這條路,不要強求,天無絕人之路,另一條路也許更適合你。作為程序員的基礎,至少不討厭敲代碼的感覺,這是最基本的。 越喜歡敲代碼這種感覺,你以後的路走的越順。很多人說:「xxx有天賦」。我想,這裡的天賦換成「興趣」也許就是事情的真相。人家有興趣做這個事,做著開心,自然就會花越多時間研究,成長自然就越快;成長越快,比起常人自然就有「天賦」。2. 有沒有更好的其他發展路徑既然為職業發展而來,必然要現實一些。如果家裡有很好的背景、父輩有很好的資源。強烈建議,依託父輩資源發展也許是最優的路徑。寫程序可以作為業餘愛好,而不要作為主業。當然,如果是我等普通屌絲群眾。學IT,仍然是逆襲最好的途徑。畢竟,這是一個憑技術、憑本事吃飯的職業。技術能力到位年薪百萬的大有人在。3. 邏輯思維能力這是作為程序員最基本的要求。邏輯思維能力差的人,完全不適合學編程。當然,對於一般理工科的學生來說,邏輯思維不存在問題。對於文藝青年,喜歡跟著感覺走跳躍思維的人,一般不適合程序員這一條路。4. 英語對於初級程序員英語要求不高,事實上,高中英語水平足矣。如果想往頂尖技術發展,英語能力有必要提高。畢竟,很多技術源自美國,能熟讀原汁原味的英文,將會讓你如虎添翼。個人建議是:英語高中以上夠混國中級程序員階段。想往頂尖混,至少要英語四六級以上。如果您英語不好。可以去尚學堂官網下載1800個常用的JAVA開發英文辭彙。這是尚學堂學員孫波整理匯總,秉持「見一個背一個」的原則,整理4個月完成。5. 數學被數學折磨的我們,學編程有個好消息就是「數學並不重要,除非搞科研」。對於企業裡面開發軟體,數學知識國中水平足矣。如果要搞人工智慧、大數據等開發,一些高等數學、線性代數、概率等知識還是有很多用處的。當然,等你用到時再翻書也來得及。6. 職業發展穩定JAVA歷經十多年,都是穩居第一位,可見的未來也是非常穩定的開發語言。JAVA行業的一大特點就是穩定,發展空間大。作為JAVA程序員工資從:4000月薪,10萬月薪都有。不像前幾年火爆的IOS,火了3年,現在斷崖式的下跌。JAVA就像一列火車,行駛非常穩定。 JAVA程序員分為:初、中、高、架構、總監,5個修鍊檔次。足夠我等普通屌絲奮鬥終生了。按年限劃分的話,大體是這樣: 1). 初級程序員工作年限:1-3年月薪:4K-15K 2). 中級程序員工作年限:3-5年月薪:10K-20K 3). 高級程序員工作年限:5年以上月薪:15K-30K 4). 架構級別工作年限:5年以上月薪:25K-40K 5). 總監工作年限:5年以上月薪:40K以上(年薪百萬也大有人在)【注】:上述年限標準只是參考。總是有些「牲口級別」的人物,很快就能達到別人很多年的高度。去年,我們一個學生從尚學堂學完JAVA和大數據雙專業就是50萬年薪(之前有兩年測試工作經驗),立刻跨入「總監」級別收入。也有比較厲害的應屆生,一畢業就年薪20萬以上。當然,也有很多「懶豬型」的,干3年、5年,水平不見長,薪水不見長的。還是那句話,「師父引進門,修行靠個人」。怎麼學習JAVA?JAVA編程的學習分為:入門、初級、中級、高級、架構幾個階段。入門入門所需要的時間較短,幾小時、幾天即可。重在形成良好的編程習慣、引發足夠的興趣。大學編程課最失敗的地方就是一開始就打消了很多人編程的興趣。編程是最容易引發成就感的事情,完全可以和遊戲一樣有意思。入門大家需要掌握的JAVA知識有:JDK的安裝和配置、eclipse開發環境的使用、變數、控制語句等基本知識的掌握。入門大家可以學習一下本人錄製的一小套視頻(未完,最近太忙了),不過,作為入門是相當適合的。(鏈接如下:)(截圖如下:) 有興趣的朋友,可以進入速學堂學習這個課程。只需要看完第一章即可,一共約1小時的課程。大家就能完成一個撞球小遊戲的製作。目前,需要大家註冊速學堂,只需打賞1元錢就能觀看這一套視頻。只需1小時,入門足夠了。初級 JAVA的初級我們需要學習JAVASE基本知識,這是我們以後工作的基礎。在這個階段,學會使用API、理解面向對象將是初學者首要面對的問題。 JAVASE中需要熟練掌握的有:面向對象、異常、常用類、數組、容器、IO流、多線程、網路編程。 這些都需要大家熟練掌握,都是以後工作必須用到的內容。 JAVASE中唯一不會在工作中使用的就是GUI編程,具體就是:AWT/SWING。桌面軟體開發是JAVA語言的短腿,很少有企業使用。當然,如果時間充裕,學習一下也無妨,畢竟可以通過SWING做出漂亮的界面。而且,技術都是相通的(天下文章一大抄,呵呵),對於學習其他GUI技術也有幫助。 如果需要學習資料,推薦大家學習高淇出的《JAVA300集視頻教程》。對於大家來說,學習前200集足矣。后100集的內容涉及較深,可以作為參考。中級 中級面臨的學習任務比較龐雜,不只學習JAVA, 還需要學習其他技術。通常,中級學完就可以參與企業項目的開發了,可以自己做出漂漂亮亮的項目。我們需要學習三塊知識:1. SQL查詢和1-2種資料庫(通常是:oracle、mysql)2. 網頁技術:HTML5、CSS、JavaScript、Jquery3. 伺服器編程JAVAEE:Servlet、JSP、資料庫操作技術:JDBC、Tomcat伺服器中級是非常重要的階段,跨過這個門檻,理論上你就具備了開發項目的能力啦!中級階段的學習,經常成為很多初學者的攔路虎,畢竟內容太多,一個問題就可能讓你鬱悶一天。 最終,檢驗你中級是否過關的標準就是「能不能獨立完成一個企業項目的模塊開發」。記住:「實戰是檢驗實力的唯一標準」,「沒有實戰的學習,是假學習;沒有實戰檢驗的能力,是假能力」。高級 高級階段是大量框架的學習和使用,畢竟這是在企業中實際使用的。目前需要掌握的有:Spring、Spring MVC、Mybatis、Struts2、Hibernate、Maven、shiro、lucene等技術。 這些技術的學習一定要結合具體的項目,不然你的學習會有種無力感。結合時下流行的SSM架構,做幾個項目,自然就能把Spring、Spring MVC、Mybatis框架使用熟悉。不做項目的學習是「低效的學習」。 高級階段表面看來是一些框架技術的學習和使用。對於「有潛力的高手來說」,實際上你會發現這只是「JAVA基礎的升華」而已。只是JAVA+演算法+設計模式的組合而已,我們深入這些框架底層架構就會發現這一點。 當你的學習能意識到這一點的時候,已經達到了非常高的高度。這就是武俠小說裡面說的「從無招到有招,再從有招到無招」。架構作為JAVA程序員學到高級課程已經完全具備國中級程序員的基本素質,和真正有3年開發經驗比的人,你缺的就是經驗,技術的廣度已經足夠。如果想從程序員更進一步,那就是架構師和總監。這個時候,你必須要有深厚的技術功底、豐富的項目經驗、豐富的行業經驗。從技術上來說,你需要深入學習如下技術:併發編程、ActiveMQ技術、ZooKeeper、Netty通信框架、JVM虛擬機底層優化、Redis、Nosql、資料庫底層優化、RocketMQ、Dubbo分散式服務、Storm、Kafka、Nginx、FastDFS等。(如果看花眼了,就收藏一下,這是你幾年需要學的內容,不是幾天。本文只負責指路)從項目經驗來說,一般需要3個大型項目經驗。這種經驗的累積不是一天兩天的,羅馬不是一天建成的。保持足夠的耐心,堅持就能達成。如果,你能走到架構階段。基本上算進入JAVA程序員的高端行列。此時的收入應該在50萬-100萬之間(注意:這是北上廣深杭一線城市標準,二線乘以係數0.6,三線乘以係數0.5)。當然,對於我等普通屌絲來說,也算是完成了逆襲了,過個有房有車的小康生活應該是綽綽有餘。如果,你的情商、市場能力、管理能力到位,此時可以嘗試創業當老闆了(如果不到位,千萬不要嘗試,不然會死的很難看)。紮實的技術實力、豐富的行業經驗,應能讓你實現騰飛。我的很多學生創業成功,年如數百萬的N多,時代總是年輕人的時代!JAVA培訓適合你嗎?培訓重要嗎?對於有的人很重要,對於有的人完全可以無視。要理解這個問題,我們首先要明白培訓的核心優勢是什麼?其實就兩點: 第一、 節省時間、有老師帶、有學習氣氛,快速提高,快速就業 第二、 形成圈子「節省時間」是很多人考慮是否培訓的首要因素。畢竟,5個月脫產、沒日沒夜的學習,可以抵得上鬆鬆散散學習兩年的效果。 把節省下的1年半去工作賺錢,其實更划算。 但是,對於時間不是特別敏感的人群,培訓不會特別重要。比如:大一、大二的學生。「形成圈子」是很多優秀的人比較在意的。清華的學生為什麼厲害?除了自身厲害,很大程度也因為同學厲害、老師厲害,他所處的圈子厲害。當然,清華的學生不會來參加JAVA培訓,他的圈子本身就足夠強大,不太需要通過JAVA培訓形成圈子。但是,對於普通大學生來說,參加JAVA培訓,你在5個月時間形成的同學資源也是非常重要的發展資源。這些同學畢業后,都是一個行業,保不齊有什麼機會互相拉扯一把。如果你有「三強」:自學能力強(不需要老師指導)、自控能力強(不需要學習氣氛自己也能控制)、本身周邊圈子較強(比較好的大學),那麼完全不需要參加培訓,找幾個好夥伴自學能起到一樣的效果。 如果你沒有這些條件,參加培訓將會給你帶來非常好的效果。最後最後,為尚學堂做一點小小的廣告,望讀者朋友擔待。尚學堂秉持的理念是「真正的實戰教學」。我們相信「實戰最有效」的課程設計理念,讓我們的學員在培訓過程中接觸大量的實戰項目案例。通過培訓也能積累真正的項目經驗,而不是簡單的「三腳貓功夫」。雖然,幾乎所有機構都有項目案例教學。我們的不同在於,我們把他當做核心、當做最重要的事情落實。我們鼓勵「實戰」,也希望「實戰」兩個字能進入學生的心裡。記得有個學生問我:「老高,我喜歡一個女孩。但我不會追女孩,怎麼辦?」。我說:「實戰!實戰追一次,一星期就會了」。這也是為什麼我們的學生進班不到一個月就能開始寫項目的原因。這也是為什麼我們的學生可以進入百度、阿里、京東的原因。有意向加入我們、加入尚學堂大家庭的,可以聯繫我們。(掃描下方二維碼,關注我們)我們盡全力為學員提供最好的服務、最好的課程。更多精彩內容 掃一掃關注微信公眾號點擊「閱讀原文」查看2017年最新版JavaEE+大數據課程大綱
寫了
5860316篇文章,獲得
23313次喜歡