同樣是3年經(jīng)驗(yàn)的程序員,為什么別人月薪25K你卻只有15k
你有沒(méi)有靜下心來(lái)思考過(guò):同樣是從青島北大青鳥(niǎo)京創(chuàng)校區(qū)教育學(xué)習(xí)出來(lái)的,同樣做了N年Java開(kāi)發(fā),為什么你的技術(shù)比別人差很多?為什么別人每月26K你卻只有15K?
其實(shí)技術(shù)水平的高低和個(gè)人智商關(guān)系不大(畢竟能做Java編程開(kāi)發(fā)大家都不會(huì)差),主要和勤奮程度、提升方法有關(guān)。
勤奮程度不必多說(shuō),全靠自我監(jiān)督和自制力。在這里我們?cè)敿?xì)談?wù)勌嵘椒?,畢竟好的提升方法?huì)讓你事半功倍。到底有哪些有效的好方法,能幫助我們進(jìn)階成Java高級(jí)工程師呢?
下面這3種方法,你應(yīng)該加以重視:
1、吃透基礎(chǔ)技術(shù)
2、養(yǎng)成良好的閱讀源碼的習(xí)慣
3、有長(zhǎng)期的技術(shù)學(xué)習(xí)規(guī)劃
下面,我們來(lái)一起逐條看看,特別是第 3 個(gè)方法。
吃透基礎(chǔ)技術(shù)
技術(shù)是各種上層技術(shù)共同的基礎(chǔ)。吃透基礎(chǔ)技術(shù)是為了更好地理解程序的運(yùn)行原理,并基于這些基礎(chǔ)技術(shù)進(jìn)化出更優(yōu)化的產(chǎn)品。很多分布式系統(tǒng)架構(gòu),以及高可用、高性能、高并發(fā)的解決方案基本都可以在基礎(chǔ)技術(shù)上找到它們的身影。所以,對(duì)基礎(chǔ)技術(shù)的學(xué)習(xí)才能夠更好地掌握更高維度的技術(shù)。
很多人會(huì)覺(jué)得底層技術(shù)博大精深,從語(yǔ)言、編程范式、算法和數(shù)據(jù)結(jié)構(gòu)、計(jì)算機(jī)原理、網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)、分布式技術(shù)等等,怎么可能有時(shí)間去掌握這么多東西呢。這確實(shí)需要持續(xù)學(xué)習(xí)的毅力,現(xiàn)在很多技術(shù)大牛仍在夯實(shí)擴(kuò)展自己的底層技術(shù),自己就更沒(méi)有理由忽視這一塊了不是嗎?
養(yǎng)成良好的閱讀源碼的習(xí)慣
源碼閱讀,尤其是針對(duì)你正在使用的第三方庫(kù)。千萬(wàn)不要面試的時(shí)候,什么源碼都未學(xué)習(xí)過(guò),理由就是業(yè)務(wù)太忙,更有甚者說(shuō)“我覺(jué)得沒(méi)用”。
閱讀源碼要能回答兩個(gè)問(wèn)題:要解決什么問(wèn)題+是如何實(shí)現(xiàn)的?大到整個(gè)項(xiàng)目,小到一個(gè)模塊、函數(shù),看的時(shí)候都要抱著這兩個(gè)問(wèn)題去看??赐炅诉@兩個(gè)問(wèn)題能答上來(lái),才是有效。
閱讀源碼時(shí)建議你這么做:
背景調(diào)查:看官網(wǎng)介紹、維基百科,了解主要功能,被應(yīng)用于哪些項(xiàng)目以及基本的使用,掌握這些基本信息,使用框架:至少follow“Get Started”做個(gè)小demo(真的有人連API都沒(méi)調(diào)用過(guò),上來(lái)就看代碼),盡可能編譯調(diào)試。能調(diào)試的代碼,幾乎沒(méi)有看不懂的,了解一些設(shè)計(jì)模式。這樣看到名字里有proxy,builder,factory之類的,就心領(lǐng)神會(huì)了。橫向分層,縱向分塊。代碼都是分模塊的,有的是core,有的是util,parser之類的,要知道看的是哪一層,哪一塊。有的小項(xiàng)目分層不明顯也不必強(qiáng)求
注意:要看的不只是語(yǔ)法上的技巧,更重要的是設(shè)計(jì)上的思路和原理。知易行難,把養(yǎng)成良好的閱讀源碼習(xí)慣提上日程吧!
有長(zhǎng)期的技術(shù)學(xué)習(xí)規(guī)劃
Java進(jìn)階之路離不開(kāi)一個(gè)長(zhǎng)期學(xué)習(xí)規(guī)劃的指引。你可以制定一個(gè)系統(tǒng)的學(xué)習(xí)路線,幫助你提升技術(shù)水平。當(dāng)然,對(duì)于每個(gè)Java程序員來(lái)說(shuō),幾乎都有一個(gè)成為架構(gòu)師的夢(mèng)想。但是一個(gè)好的系統(tǒng)學(xué)習(xí)路線能夠幫你少走很多彎路。一個(gè)終點(diǎn)能夠走直線那么就沒(méi)必要去走S線。