工作兩年Java程式設計師毫無建樹,是如何跳出迷茫提升自己拿高薪的?
有一類java程式設計師是這樣的,每天增刪改查,坐吃等死狀態,每天就期待下班。但是心裡總覺得這樣下去要完,不知道怎麼改變這種情況?想學點東西,比如看jvm、併發這些書,看了一部分就放棄了,過段時間又忘記了,好迷茫。 專注力不夠。平時工作就是改改bug,做做公司產品。公司用的是很老的技術並且原始碼被加密(想看原始碼都不行),一些大牛我剛混熟他們就跳槽了。
那麼如果你在這種環境下呆了很久,終於意識到自己這樣待下去會毀了自己。環境,團隊氛圍,和跟對一個老鳥都很重要,現在都不敢去跳槽(自己以前會的東西都忘了),不斷審視自己,很想改變自己,那麼請看完這篇文章,望大家能從中收穫,改變自己(希望不晚)。

改變第一
你是否有強烈的想要改變現狀的慾望,看了前面,顯然你已經有了,然後你就要付諸行動,工作2年,年齡比我還要小,而且你計算機知識積累也一定是比我好的;然後你想要達到多少的薪水你就要知道這個薪水的人具備那些能力,你可以去看看招聘資訊,也可以去嘗試先去面試,這樣你就知道自己還差什麼,然後你就要針對性的努力,加油!!!
改變第二
你已經意識到每天增刪改查,這樣不會進步,這已經是一種覺醒,是改變的開端了。
1.我一直認為程式設計這一工作,如逆水行舟不進則退。技術不斷更新,題主可以設想一下,萬一公司遇到危機裁員,你是不幸中槍的那一個,你之後的工作該怎麼找?
2.因為你混日子的狀態已經持續了三年,身體和思維也許已經形成慣性。所以想短期內迅速改變是非常困難的。不要給自己定非常巨集大的目標,妄想幾個月內突破自我。
3.既然不能迅速改變,那你能做的只有循序漸進。在一開始給自己定一個小任務,完成之後及時對自己精神鼓勵。比如,今天開始看十五分鐘書,達成目標後需要告訴自己已經實現了一小步,繼續保持並且讓自己享受成就感。此後每天逐漸增加看書的時間,勞逸結合也非常重要。
4.千萬千萬不要和別人比較,因為和特別優秀的人巨大差距給你帶來的落差和失落感會讓你備受挫折,此時你選擇的就是逃避現實,繼續混下去。
5.偶爾沒有達成目標也不要氣餒,因為人不是機器,都是會懈怠的。你只需要知道,你需要戰勝的是昨天的自己,過去的自己,而不是其他任何人。
6.因為不知道你現在的水平如何,所以沒法在學習內容上給出更多的建議。如果題主有補充的話我覺得可以邀請一些水平高的java程式設計師來回答。
樹立一個系統的學習路線!
據不完全統計,截至目前為止,中國Java程式設計師的數量已經超過了100萬。而且,Java程式設計師面臨的競爭壓力越來越大。那麼,作為一名Java程式設計師,怎樣努力才能快速成長為一名高階的程式設計師或者架構師,或者說一名優秀的高階工程師或架構師應該有怎樣的技術知識體系,這不僅是一個剛剛踏入職場的初級程式設計師,也是工作三五年之後開始迷茫的老程式設計師,都必須要面對和想明白的問題。為了幫助大家少走彎路,我總結出一個Java程式設計師的工作2-5年成長路線圖。
框架原始碼解讀

我認為有三個維度來說明:這個框架是為了解決什麼問題而誕生的?這個框架的核心思想是什麼?這個框架適合應用到哪些場景?說到思想,我覺得程式設計的靈魂就是思想,沒有思想的程式設計和鹹魚沒什麼區別。“不要重複造輪子”,當時聽了趕腳這句話挺高大上的,現在我認為這句話只能在某一方面是正確了。
首先我來說一下為什麼要學會造輪子--因為你會造輪子後,用別人的輪子時才會明白其原理,用的時候才會得心應手,如果你對一個框架的理解只是停留在用,用的多熟練的階段的話,那麼你就是一個“碼畜”,別人隨時可以替代你。或許有人會說,專案時間緊根本不允許你寫一個輪子、你寫的還有那些大牛們寫的好嗎等理由反駁。但我想說的是:我沒說專案中非得用自己寫的輪子,自己寫的輪子不一定要和別人比,因為造輪子的目的是要理解這些輪子的思想。
說這麼多其實就是想告訴大家學習框架要理解框架的底層的原理,要掌握的就是最常用的原理。
JVM與效能優化

JVM作為Java語言的基礎,雖然平時工作中真正運用到的時候可能並不多,一個程式設計師想要上升到高階層次,那就必須知道Java到底是怎麼執行的,這就逃不開JVM。想要告別增刪改查和簡單開發,而是去做Java效能分析和調優工作,那麼,Java虛擬機器絕對是一把助力的利劍。學習Java虛擬機器的原因,本質是讓你瞭解Java程式是如何被執行且優化的。這樣一來,你才可以從內部入手,達到高效程式設計的目的。同時,你也可以為學習更深層、更核心的Java技術打好基礎。(縮圖,文末有原始檔筆記領取)
分散式架構

近年來隨著服務體系的不斷龐大以及使用者量的迅速增長,傳統單一應用架構已經無法滿足我們系統的需求,尤其是大型網際網路系統的快速發展,各種靈活多變的系統架構模型層出不窮。分散式的處理方式越來越受到業界的青睞——計算機系統正在經歷一場前所未有的從集中式向分散式架構的變革。同時分散式也成為Java程式設計師面試不可缺少的一部分知識,尤其是對現在工作2到5年的工程師來說分散式無疑不是一項加分技術。
微服務架構

雖然很多文章都說微服務架構是複雜的、會帶來很多分散式的問題,但只要我們瞭解這些問題,並找到解法,就會有種撥開雲霧的感覺。微服務架構也不是完美的,世上沒有完美的架構,微服務架構也是隨著業務、團隊成長而不斷演進的。最開始可能就幾個、十幾個微服務,每個服務是分庫的,通過 API Gateway 並行進行服務資料合併、轉發。隨著業務擴大、不斷地加入搜尋引擎、快取技術、分散式訊息佇列、資料儲存層的資料複製、分割槽、分表等!
總結
不管是學什麼技術,最終都需要你進行歸納、整理,才能把所學的東西變為自己的。工作為什麼要寫日誌,平時學習為什麼要寫部落格,其實就是在構建自己的知識體系。在學習的過程中多做筆記,多做總結,習慣一旦形成,久而久之,便會印在你的腦海裡,你下次再被問到這一問題時,你就可以用自己之前總結過的內容來回答。
讀者福利(學習分享)
對於很多初級Java工程師而言,想要提升技能,往往是自己摸索成長,不成體系的學習效果低效漫長且無助。
整理的這些架構技術希望對Java開發的朋友們有所參考以及少走彎路,本文的重點是你有沒有收穫與成長,其餘的都不重要,希望讀者們能謹記這一點。同時我經過多年的收藏目前也算收集到了一套完整的學習資料,希望對想成為架構師的朋友有一定的參考和幫助。
下面是部分資料截圖,誠意滿滿:特別適合有1-5年開發經驗的Java程式設計師們學習。
資料免費領取方式:加入Java技術交流互助群:416843702免費獲取!


而針對以上面試技術點,我在這裡也做一些技術知識面試專題資料(包括Dubbo、Redis、Netty、zookeeper、Spring cloud、分散式、高併發等架構技術資料)免費分享,希望能更好的幫助到大家。
資料免費領取方式:加入Java技術交流互助群:416843702免費獲取!

