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