1. 程式人生 > >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開發環境的使用、變數、控制語句等基本知識的掌握。

初級

JAVA的初級我們需要學習JAVASE基本知識,這是我們以後工作的基礎。在這個階段,學會使用API、理解面向物件將是初學者首要面對的問題。

JAVASE中需要熟練掌握的有:面向物件、異常、常用類、陣列、容器、IO流、多執行緒、網路程式設計。 這些都需要大家熟練掌握,都是以後工作必須用到的內容。

JAVASE中唯一不會在工作中使用的就是GUI程式設計,具體就是:AWT/SWING。桌面軟體開發是JAVA語言的短腿,很少有企業使用。當然,如果時間充裕,學習一下也無妨,畢竟可以通過SWING做出漂亮的介面。而且,技術都是相通的(天下文章一大抄,呵呵),對於學習其他GUI技術也有幫助。

中級

中級面臨的學習任務比較龐雜,不只學習JAVA, 還需要學習其他技術。通常,中級學完就可以參與企業專案的開發了,可以自己做出漂漂亮亮的專案。

我們需要學習三塊知識:

1. SQL查詢和1-2種資料庫(通常是:oracle、mysql)

2. 網頁技術:HTML5、CSS、JavaScript、Jquery

3. 伺服器程式設計JAVAEE:Servlet、JSP、資料庫操作技術:JDBC、Tomcat伺服器

中級是非常重要的階段,跨過這個門檻,理論上你就具備了開發專案的能力啦!中級階段的學習,經常成為很多初學者的攔路虎,畢竟內容太多,一個問題就可能讓你鬱悶一天。 最終,檢驗你中級是否過關的標準就是“能不能獨立完成一個企業專案的模組開發”。

記住:“實戰是檢驗實力的唯一標準”,“沒有實戰的學習,是假學習;沒有實戰檢驗的能力,是假能力”。

高階

高階階段是大量框架的學習和使用,畢竟這是在企業中實際使用的。目前需要掌握的有:Spring、Spring MVC、Mybatis、Struts2、Hibernate、Maven、shiro、lucene等技術。

這些技術的學習一定要結合具體的專案,不然你的學習會有種無力感。結合時下流行的SSM架構,做幾個專案,自然就能把Spring、Spring MVC、Mybatis框架使用熟悉。不做專案的學習是“低效的學習”。

我特意整理了一下,裡面的技術不是靠幾句話就能講清楚,所以乾脆找朋友錄製了一些視訊,很多問題其實答案很簡單,但是背後的思考和邏輯不簡單,要做到知其然還要知其所以然。如果想學習Java工程化、高效能及分散式、深入淺出。效能調優、Spring,MyBatis,Netty原始碼分析的朋友可以加我新建的Java群:650385180,群裡有阿里大牛直播講解技術,以及Java大型網際網路技術的視訊免費分享給大家。

高階階段表面看來是一些框架技術的學習和使用。對於“有潛力的高手來說”,實際上你會發現這只是“JAVA基礎的昇華”而已。只是JAVA+演算法+設計模式的組合而已,我們深入這些框架底層架構就會發現這一點。 當你的學習能意識到這一點的時候,已經達到了非常高的高度。這就是武俠小說裡面說的“從無招到有招,再從有招到無招”。

架構

作為JAVA程式設計師學到高階課程已經完全具備初中級程式設計師的基本素質,和真正有3年開發經驗比的人,你缺的就是經驗,技術的廣度已經足夠。

如果想從程式設計師更進一步,那就是架構師和總監。這個時候,你必須要有深厚的技術功底、豐富的專案經驗、豐富的行業經驗。

從技術上來說,你需要深入學習如下技術:

併發程式設計、ActiveMQ技術、ZooKeeper、Netty通訊框架、JVM虛擬機器底層優化、Redis、Nosql、資料庫底層優化、RocketMQ、Dubbo分散式服務、Storm、Kafka、Nginx、FastDFS等。

為了讓學習變得輕鬆、高效,今天給大家免費分享一套Java入門教學資源。幫助大家在成為Java架構師的道路上披荊斬棘。需要入門的資料歡迎加入學習交流群:9285,05736