原文地址:
http://www.toutiao.com/i6410735167484199425/
我相信很多工作了3-5年的開發(fā)人員都會經(jīng)常問自己幾個(gè)問題:
- 為什么總是感覺技術(shù)沒有質(zhì)的提高?
- 如何能夠有效和快速的提高自身的技術(shù)水平沦零?
- 如何進(jìn)入到一個(gè)牛逼的大公司祭隔,認(rèn)識牛逼的人?
這篇文章就針對是這種情況的Java后端的開發(fā)人員來寫的,以我們的經(jīng)驗(yàn)來幫助大多數(shù)的技術(shù)人員來突破瓶頸疾渴,從而走上升職千贯、加薪、贏取白富美的成功之路搞坝。
那么如何突破瓶頸呢搔谴,就我來看就是從三個(gè)方面加強(qiáng)技術(shù):
- 自己先把基礎(chǔ)知識加強(qiáng)鞏固。
- 提升自己某一塊領(lǐng)域的深度
- 提升自己對后端技術(shù)的視野廣度
那么下面我將針對這幾點(diǎn)寫一下自己對于這幾個(gè)方面的思考和總結(jié)桩撮,希望對大家有所幫助敦第。
首先聊聊基礎(chǔ)知識點(diǎn)包括什么?我覺得不管工作中是否有需要店量,是時(shí)候去了解Java1.8的新特性芜果,因?yàn)楝F(xiàn)在Java1.8已經(jīng)已經(jīng)是主流了的JDK版本了,里面加了很多十分有用的特性融师,然后就是并發(fā)包的掌握右钾,任何大型或者互聯(lián)網(wǎng)公司都會對并發(fā)技術(shù)有大量的需求,所以并發(fā)包必須熟悉和掌握旱爆。最后就是設(shè)計(jì)模式舀射。一個(gè)項(xiàng)目擁有好的結(jié)構(gòu),可以使得項(xiàng)目的可維護(hù)性和可閱讀性大大提高怀伦,也是展現(xiàn)開發(fā)人員的技術(shù)水平最好的方式脆烟。
接著就是工具的使用,俗話說工欲善其事房待,必先利其器浩淘,所以說熟悉、掌握并且精通常用的開發(fā)工具是一個(gè)必不可少的步驟吴攒,熟練掌握了之后张抄,可以大大提高工作效率,工具包括git洼怔、maven署惯、jenkins、靜態(tài)檢查代碼工具等等镣隶。掌握了這些工具的使用方式之后极谊,可以使得你項(xiàng)目的質(zhì)量和工程化結(jié)構(gòu)大大提高,同時(shí)也使得項(xiàng)目的后續(xù)可維護(hù)性大大增加安岂。
因?yàn)檫@篇文章主要針對的是java服務(wù)端的開發(fā)人員轻猖,我們必須首先要去了解java的web容器的標(biāo)準(zhǔn)協(xié)議和運(yùn)行流程。然后后端服務(wù)是要和前端進(jìn)行相互配合的域那,所以還要了解Restful接口的標(biāo)準(zhǔn)咙边,同時(shí)服務(wù)端內(nèi)部邏輯也有很多標(biāo)準(zhǔn)協(xié)議比如:DateTime標(biāo)準(zhǔn)、 OpenId標(biāo)準(zhǔn)、 OAuth2標(biāo)準(zhǔn)败许、等等王带。我們需要掌握這些標(biāo)準(zhǔn)或者協(xié)議的較好的實(shí)現(xiàn),因?yàn)檫@些內(nèi)容可以讓你知道業(yè)內(nèi)的標(biāo)準(zhǔn)市殷,從而來提高自身的技術(shù)素養(yǎng)和技術(shù)水平愕撰。往往開發(fā)過程中具體實(shí)際的項(xiàng)目太大,難以全部掌握所有的細(xì)節(jié)醋寝,但是我們覺得從官方制定好的協(xié)議入手進(jìn)行學(xué)習(xí)相對簡單搞挣,因?yàn)橹朴喓玫膮f(xié)議都是標(biāo)準(zhǔn),相比于具體的技術(shù)實(shí)現(xiàn)要簡單音羞、清晰囱桨、明了很多。
接著對于服務(wù)常用的場景需要進(jìn)行了解黄选,因?yàn)槎际呛蠖朔?wù),但是由于業(yè)務(wù)的場景不同婶肩,從而導(dǎo)致使用的技術(shù)大相徑庭办陷。我們可以很容易列舉的常見業(yè)務(wù)場景所使用的技術(shù)有定時(shí)任務(wù)、認(rèn)證/鑒權(quán)律歼、數(shù)據(jù)存儲哀澈、數(shù)據(jù)緩存迄靠、消息隊(duì)列、搜索、rpc服務(wù)剂府、服務(wù)框架、日志收集剩檀、服務(wù)監(jiān)控澄干、大數(shù)據(jù)、推薦等等跷跪,但是一個(gè)小的項(xiàng)目往往不會牽扯這么多的技術(shù)馋嗜,所以大家針對這些技術(shù)都進(jìn)行一定成都的了解和學(xué)習(xí),然后再針對自身的情況吵瞻,比如:自己感興趣葛菇,或者工作中有交集,或者以后想研究的方向入手橡羞,選擇一到兩種技術(shù)進(jìn)行深入學(xué)習(xí)眯停。這樣的做法就是同時(shí)滿足了增加知識的廣度和深度,是一種挺好的學(xué)習(xí)手段卿泽。
最后除開服務(wù)端的開發(fā)知識以外莺债, 還有一點(diǎn)非常重要的就是運(yùn)維體系,作為一個(gè)合格的服務(wù)端開發(fā)人員,對于運(yùn)維的知識體系也要有所掌握九府。因?yàn)榉?wù)開發(fā)不僅僅是寫代碼椎瘟,對于已經(jīng)上線的服務(wù)的運(yùn)行維護(hù)也是有很大的工作量的。通過了解運(yùn)維體系侄旬,可以知道如何能夠更好的部署服務(wù)肺蔚。
作為技術(shù)人員,平時(shí)也要工作儡羔,所以很難有很多時(shí)間去研究所有的技術(shù)宣羊,所以說要成為所謂的“全棧”工程師是難上加難汰蜘,所以我們建議大家從一個(gè)方向入手深入學(xué)習(xí)仇冯,觸類旁通,而不是盲目的去追求所謂的“全椬宀伲”苛坚。最后在學(xué)習(xí)的過程中如果有一起學(xué)習(xí)的同伴和有豐富經(jīng)驗(yàn)的工程師指導(dǎo),則會事半功倍色难。
然后附上一個(gè)整理的知識點(diǎn)概覽圖泼舱,希望能夠能更佳好的幫大家梳理后端知識。
最后如果覺得所講的東西能夠幫助到你枷莉,并且希望進(jìn)行更詳細(xì)的深入的學(xué)習(xí)娇昙,歡迎加群632109190進(jìn)行討論和學(xué)習(xí)。