Java编程中程序员会遇到的一些感性烦恼,你有遇到吗?
如果作為興趣來學(xué)編程,什么人都適合。畢竟,現(xiàn)在小學(xué)生都開始學(xué)習(xí)編程了。如果要作為職業(yè)來說,你到底適合不適合確實(shí)是個(gè)問題。我教過的學(xué)員里面從初中生到博士生、甚至50多歲的企業(yè)高管都有,懷著不同的目的來學(xué)習(xí)JAVA。 我記得教過一個(gè)北大的數(shù)學(xué)碩士,人家過來學(xué)習(xí)不為職業(yè)就為科研,希望通過培訓(xùn)節(jié)省時(shí)間,一個(gè)暑假就迅速突破了編程這個(gè)坎。
這里,我們只探討作為職業(yè)適合不適合你?這里有六個(gè)現(xiàn)實(shí)的硬性指標(biāo),可以作為參考。
1. 興趣度
興趣是基礎(chǔ)。如果你完全沒有編碼的興趣,敲鍵盤就頭大。那就完全屏蔽掉程序員這條路,不要強(qiáng)求,天無絕人之路,另一條路也許更適合你。作為程序員的基礎(chǔ),至少不討厭敲代碼的感覺,這是最基本的。 越喜歡敲代碼這種感覺,你以后的路走的越順。
很多人說:“xxx有天賦”。我想,這里的天賦換成“興趣”也許就是事情的真相。人家有興趣做這個(gè)事,做著開心,自然就會(huì)花越多時(shí)間研究,成長自然就越快;成長越快,比起常人自然就有“天賦”。
2. 有沒有更好的其他發(fā)展路徑
既然為職業(yè)發(fā)展而來,必然要現(xiàn)實(shí)一些。如果家里有很好的背景、父輩有很好的資源。強(qiáng)烈建議,依托父輩資源發(fā)展也許是最優(yōu)的路徑。寫程序可以作為業(yè)余愛好,而不要作為主業(yè)。
當(dāng)然,如果是我等普通屌絲群眾。學(xué)IT,仍然是逆襲最好的途徑。畢竟,這是一個(gè)憑技術(shù)、憑本事吃飯的職業(yè)。技術(shù)能力到位年薪百萬的大有人在。
3. 邏輯思維能力
這是作為程序員最基本的要求。邏輯思維能力差的人,完全不適合學(xué)編程。當(dāng)然,對于一般理工科的學(xué)生來說邏輯思維不存在問題。對于文藝青年,喜歡跟著感覺走跳躍思維的人,一般不適合程序員這一條路。
4. 英語
對于初級(jí)程序員英語要求不高,事實(shí)上,高中英語水平足矣。如果想往頂尖技術(shù)發(fā)展,英語能力有必要提高。畢竟,很多技術(shù)源自美國,能熟讀原汁原味的英文,將會(huì)讓你如虎添翼。
個(gè)人建議是:英語高中以上夠混初中級(jí)程序員階段。想往頂尖混,至少要英語四六級(jí)以上。
如果您英語不好。可以去尚學(xué)堂官網(wǎng)下載1800個(gè)常用的JAVA開發(fā)英文詞匯。這是尚學(xué)堂學(xué)員孫波整理匯總,秉持“見一個(gè)背一個(gè)”的原則,整理4個(gè)月完成。
5. 數(shù)學(xué)
被數(shù)學(xué)折磨的我們,學(xué)編程有個(gè)好消息就是“數(shù)學(xué)并不重要,除非搞科研”。對于企業(yè)里面開發(fā)軟件,數(shù)學(xué)知識(shí)初中水平足矣。
如果要搞人工智能、大數(shù)據(jù)等開發(fā),一些高等數(shù)學(xué)、線性代數(shù)、概率等知識(shí)還是有很多用處的。當(dāng)然,等你用到時(shí)再翻書也來得及。
6. 職業(yè)發(fā)展穩(wěn)定
JAVA歷經(jīng)十多年,都是穩(wěn)居第一位,可見的未來也是非常穩(wěn)定的開發(fā)語言。JAVA行業(yè)的一大特點(diǎn)就是穩(wěn)定,發(fā)展空間大。
作為JAVA程序員工資從:4000月薪,10萬月薪都有。不像前幾年火爆的IOS,火了3年,現(xiàn)在斷崖式的下跌。JAVA就像一列火車,行駛非常穩(wěn)定。
JAVA程序員分為:初、中、高、架構(gòu)、總監(jiān),5個(gè)修煉檔次。足夠我等普通屌絲奮斗終生了。
按年限劃分的話,大體是這樣:
1). 初級(jí)程序員工作年限:1-3年月薪:4K-15K
2). 中級(jí)程序員工作年限:3-5年月薪:10K-20K
3). 高級(jí)程序員工作年限:5年以上月薪:15K-30K
4). 架構(gòu)級(jí)別工作年限:5年以上月薪:25K-40K
5). 總監(jiān)工作年限:5年以上月薪:40K以上(年薪百萬也大有人在)
【注】:上述年限標(biāo)準(zhǔn)只是參考。總是有些“牲口級(jí)別”的人物,很快就能達(dá)到別人很多年的高度。去年,我們一個(gè)學(xué)生從尚學(xué)堂學(xué)完JAVA和大數(shù)據(jù)雙專業(yè)就是50萬年薪(之前有兩年測試工作經(jīng)驗(yàn)),立刻跨入“總監(jiān)”級(jí)別收入。也有比較厲害的應(yīng)屆生,一畢業(yè)就年薪20萬以上。當(dāng)然,也有很多“懶豬型”的,干3年、5年,水平不見長,薪水不見長的。還是那句話,“師父引進(jìn)門,修行靠個(gè)人”。
怎么學(xué)習(xí)JAVA?
JAVA編程的學(xué)習(xí)分為:入門、初級(jí)、中級(jí)、高級(jí)、架構(gòu)幾個(gè)階段。
入門
入門所需要的時(shí)間較短,幾小時(shí)、幾天即可。重在形成良好的編程習(xí)慣、引發(fā)足夠的興趣。大學(xué)編程課最失敗的地方就是一開始就打消了很多人編程的興趣。 編程是最容易引發(fā)成就感的事情,完全可以和游戲一樣有意思。
入門大家需要掌握的JAVA知識(shí)有:JDK的安裝和配置、eclipse開發(fā)環(huán)境的使用、變量、控制語句等基本知識(shí)的掌握。
初級(jí)
JAVA的初級(jí)我們需要學(xué)習(xí)JAVASE基本知識(shí),這是我們以后工作的基礎(chǔ)。在這個(gè)階段,學(xué)會(huì)使用API、理解面向?qū)ο髮⑹浅鯇W(xué)者首要面對的問題。
JAVASE中需要熟練掌握的有:面向?qū)ο?、異常、常用類、?shù)組、容器、IO流、多線程、網(wǎng)絡(luò)編程。 這些都需要大家熟練掌握,都是以后工作必須用到的內(nèi)容。
JAVASE中唯一不會(huì)在工作中使用的就是GUI編程,具體就是:AWT/SWING。桌面軟件開發(fā)是JAVA語言的短腿,很少有企業(yè)使用。當(dāng)然,如果時(shí)間充裕,學(xué)習(xí)一下也無妨,畢竟可以通過SWING做出漂亮的界面。而且,技術(shù)都是相通的(天下文章一大抄,呵呵),對于學(xué)習(xí)其他GUI技術(shù)也有幫助。
中級(jí)
中級(jí)面臨的學(xué)習(xí)任務(wù)比較龐雜,不只學(xué)習(xí)JAVA, 還需要學(xué)習(xí)其他技術(shù)。通常,中級(jí)學(xué)完就可以參與企業(yè)項(xiàng)目的開發(fā)了,可以自己做出漂漂亮亮的項(xiàng)目。
我們需要學(xué)習(xí)三塊知識(shí):
1. SQL查詢和1-2種數(shù)據(jù)庫(通常是:oracle、mysql)
2. 網(wǎng)頁技術(shù):HTML5、CSS、JavaScript、Jquery
3. 服務(wù)器編程JAVAEE:Servlet、JSP、數(shù)據(jù)庫操作技術(shù):JDBC、Tomcat服務(wù)器
中級(jí)是非常重要的階段,跨過這個(gè)門檻,理論上你就具備了開發(fā)項(xiàng)目的能力啦!中級(jí)階段的學(xué)習(xí),經(jīng)常成為很多初學(xué)者的攔路虎,畢竟內(nèi)容太多,一個(gè)問題就可能讓你郁悶一天。 最終,檢驗(yàn)?zāi)阒屑?jí)是否過關(guān)的標(biāo)準(zhǔn)就是“能不能獨(dú)立完成一個(gè)企業(yè)項(xiàng)目的模塊開發(fā)”。
記住:“實(shí)戰(zhàn)是檢驗(yàn)實(shí)力的唯一標(biāo)準(zhǔn)”,“沒有實(shí)戰(zhàn)的學(xué)習(xí),是假學(xué)習(xí);沒有實(shí)戰(zhàn)檢驗(yàn)的能力,是假能力”。
高級(jí)
高級(jí)階段是大量框架的學(xué)習(xí)和使用,畢竟這是在企業(yè)中實(shí)際使用的。目前需要掌握的有:Spring、Spring MVC、Mybatis、Struts2、Hibernate、Maven、shiro、lucene等技術(shù)。
這些技術(shù)的學(xué)習(xí)一定要結(jié)合具體的項(xiàng)目,不然你的學(xué)習(xí)會(huì)有種無力感。結(jié)合時(shí)下流行的SSM架構(gòu),做幾個(gè)項(xiàng)目,自然就能把Spring、Spring MVC、Mybatis框架使用熟悉。不做項(xiàng)目的學(xué)習(xí)是“低效的學(xué)習(xí)”。
我特意整理了一下,里面的技術(shù)不是靠幾句話就能講清楚,所以干脆找朋友錄制了一些視頻,很多問題其實(shí)答案很簡單,但是背后的思考和邏輯不簡單,要做到知其然還要知其所以然。如果想學(xué)習(xí)Java工程化、高性能及分布式、深入淺出。性能調(diào)優(yōu)、Spring,MyBatis,Netty源碼分析的朋友可以加我新建的Java群:650385180,群里有阿里大牛直播講解技術(shù),以及Java大型互聯(lián)網(wǎng)技術(shù)的視頻免費(fèi)分享給大家。
高級(jí)階段表面看來是一些框架技術(shù)的學(xué)習(xí)和使用。對于“有潛力的高手來說”,實(shí)際上你會(huì)發(fā)現(xiàn)這只是“JAVA基礎(chǔ)的升華”而已。只是JAVA+算法+設(shè)計(jì)模式的組合而已,我們深入這些框架底層架構(gòu)就會(huì)發(fā)現(xiàn)這一點(diǎn)。 當(dāng)你的學(xué)習(xí)能意識(shí)到這一點(diǎn)的時(shí)候,已經(jīng)達(dá)到了非常高的高度。這就是武俠小說里面說的“從無招到有招,再從有招到無招”。
架構(gòu)
作為JAVA程序員學(xué)到高級(jí)課程已經(jīng)完全具備初中級(jí)程序員的基本素質(zhì),和真正有3年開發(fā)經(jīng)驗(yàn)比的人,你缺的就是經(jīng)驗(yàn),技術(shù)的廣度已經(jīng)足夠。
如果想從程序員更進(jìn)一步,那就是架構(gòu)師和總監(jiān)。這個(gè)時(shí)候,你必須要有深厚的技術(shù)功底、豐富的項(xiàng)目經(jīng)驗(yàn)、豐富的行業(yè)經(jīng)驗(yàn)。
從技術(shù)上來說,你需要深入學(xué)習(xí)如下技術(shù):
并發(fā)編程、ActiveMQ技術(shù)、ZooKeeper、Netty通信框架、JVM虛擬機(jī)底層優(yōu)化、Redis、Nosql、數(shù)據(jù)庫底層優(yōu)化、RocketMQ、Dubbo分布式服務(wù)、Storm、Kafka、Nginx、FastDFS等。
為了讓學(xué)習(xí)變得輕松、高效,今天給大家免費(fèi)分享一套Java入門教學(xué)資源。幫助大家在成為Java架構(gòu)師的道路上披荊斬棘。需要入門的資料歡迎加入學(xué)習(xí)交流群:9285,05736
總結(jié)
以上是生活随笔為你收集整理的Java编程中程序员会遇到的一些感性烦恼,你有遇到吗?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 修改so_货代、海运操作、船务操作还分不
- 下一篇: html代码里面换图片不显示不出来了,微