工作半年的java程序員,在工作閒餘時間應該學習些什麼啊。感覺很迷茫啊?

程序員啊


剛工作半年就感到迷茫,我覺得不應該,半年Java開發工作經驗談不上你對Java有了瞭解,要學習的內容非常的多,不應該感到迷茫,Java開發我工作了7年多時間,一般在3年和5年左右有一個迷茫期,3年的時間你對Java這份工作能夠快速上手了,但是雖然大部分都知道,但是深層次的機制卻不瞭解,所以會有所迷茫,在5年的時間點也是個迷茫期,這個時間段在技術方面,不管在廣度和深度上都有了一定的能力,主要迷茫的是自己的職業發展之路。我也經歷過這兩個迷茫期,根據我的經歷,我總結以下3個階段,希望對你有所幫助。

第一個階段:1-3年能夠學會快速適應企業的開發步驟

在工作的1-3年的時間,你要學會快速適應公司的開發步驟和技術架構,對工作能夠做到快速上手,對於領導交給的任務,能夠非常完美的按時完成,那麼怎樣才能快速適應呢?

第一:要熟練運用Java提供的各種API,以及常用的各種框架,數據庫等,在這個階段對於API以及框架不要求深入去理解它的源碼,因為自己的能力還沒有達到能夠通讀源碼的水平,如果硬著頭皮去看源碼的話,源碼的每一個知識點牽涉的內容較多,會打消自己的信心,所以要學會快速適應企業級開發。

第二:要養成良好的編碼習慣,這個階段你需要有一個非常好的編碼習慣,不要編碼時想怎麼來就怎麼來,只要不報錯就行,這種思想是有問題的,一旦你養成壞習慣,今後很難改過來。

第二個階段:3-5年在廣度和深度上提高自己的技術技能

第一個階段如果你過度的非常的完美,那麼不管在哪個公司,你很快就會適應這個公司的開發步驟,如果要想往高級工程師發展,這個階段需要在廣度和深度上有一定的積累了。這個階段你要學習如下內容:

第一:要擴展自己的知識範圍了,例如你要去涉獵IO、多線程、併發、網絡、消息隊列、分佈式、緩存、鎖、數據庫優化、JVM等知識點了,你要知道每一個內容是幹什麼的,怎樣用,能夠利用已有的知識去解決現實遇到的問題。

第二:要擴展自己的深度了,如果你要了解JDK提供的API怎樣實現的,你要去研讀JDK的源碼了。如果你要理解spring是怎樣為我們管理對象的,spring的AOP是怎樣實現的,spring的事務是怎樣實現的等等,你需要去跟蹤源碼了,可能有點困難,但是一定要堅持。

第三節點:5年以上考慮好自己的職業規劃

如果你有了5年以及以上的開發經驗,如果你積累的很完善,技術對你來說已經不是最主要的考慮方向了,這個時期你會有所迷茫,是朝著技術方面發展呢,還是朝著管理方面發展呢,這就需要你有一個非常清晰的職業規劃了。


強哥Java架構之路


先把java知識吃透吧,圍繞java的相關技術,從傳統軟件開發技術到互聯網再到分佈式大數據處理,對於工作半年的你來說路還很長,要學習的東西還太多。

個人經歷

我12年畢業,畢業後就從事軟件開發工作,在很長一段時間內都沒有業餘時間。早八晚五點半,基本七點半就到公司了,做當天開發工作的簡單規劃,開始忙碌的一天,五點半下了e班去公司食堂吃個飯然後上樓或繼續加班寫代碼或看技術方面的書,當時看了代碼大全,重溫了很多大學期間的算法,後來看了重構,設計模式,實話當時很多設計模式都半懂不懂的狀態,後來好像看了大話設計模式,逐漸理解了,好了很多。然後差不多13年的時候組內組織大家考系統架構師,然後全部組員積極參與,每天利用下班時間學習,每週特定時間大家在一起分享,怎麼說了當時也有抱怨,這種氛圍佔用了大部分私人時間,現在看來確是特別寶貴的經歷,13年五月我換了工作,一直到現在,也換了好幾個單位,也一直想找一個公司有第一家公司的氛圍,可是很遺憾,一直也沒有找到。透露一下,我的第一家單位是廣聯達軟件,公司待遇不談,學習的氛圍眾多公司裡應該是佼佼者了!一如行業就遇到這麼好的學習氛圍的公司是我運氣好,可惜當時不懂事,待了一年多就離開了,挺遺憾的吧。

給題主的建議

  • 不斷完善技術體系

通過業餘時間不斷學習,通過看網絡視頻結合看書,從基本的技術書籍開始,代碼大全,設計模式,重構,寫一手好代碼是程序員的門面!然後讀瘋狂java,多線程,JVM,看JDK部分源碼,夯實基礎。再次完善spring體系,逐漸梳理出自己的技術目錄。

這個是我找的一個比較全面的java圖譜,給題主參考!

  • 從先技術再業務,再業務到技術

工作時間不長,先從技術的角度思考業務流程,然後實現起來技術牽頭,相對來說會走的順一些,技術到達一定廣度之後面對一個任務,嘗試從業務的角度思考,然後再用技術去實現,這才是高開的開發標準,永遠只盯著技術,未免目光短了點,先業務後技術能寫出更貼合用戶需求的代碼,bug更少!

大家現在都在哪個階段呢?歡迎留言討論!

大家好,我是程序員大狂客,對spring生態有一定研究,有問題的朋友可以關注私信,感謝頭條提供平臺,分享幫助我們成長!


大狂客


半年就不知道學什麼了?感覺不可思議。要學的東西多了去了。

首先是java基礎,我想工作半年了,這點應該還是掌握比較好的。各種框架是否會用,主流ssm,springboot,還有一些緩存框架比如redis,工作流activity。數據庫不知道你掌握了多少,如果只會crud,建議學習下存儲過程,視圖,以及sql的一些自帶函數。

linux想必很多工作半年的都忘的差不多了,畢竟只是大學簡單學習了下,常用的幾十個命令總該系統學習下吧,包括文件文件夾命令,安裝軟件命令,上傳下載命令等等。

23種設計模式不得掌握個七八個?這是進階高級的必經之路,主要是學習人家的設計理念設計思想,主流框架比如spring就用到幾種設計模式。

數據結構也得清楚吧,這些在大學時候肯定都學過,但我不敢保證你都還記得。如何應用這些數據結構,也是你要學習的地方。

還有就是比較高級的,jvm,如何jvm調優,jvm的內存結構,為什麼這樣設計。線程也是高級java開發工程師必備的,如何設計如何應用,線程如何實現通信,要說的真的太多了。

目前大型服務器都採用了分佈式,肯定你也需要進行了解。

感覺這些,都不是僅僅工作半年的你掌握的,因此,建議還是靜下心好好學習下,不要井底之蛙認為自己什麼都會了。比你努力的人肯定還在努力,要不然,就算你工作五年十年,寫個代碼還是ifelse。


夏蟲不可以語冰L


作為從業比題主久一點的老鳥給你個建議。

兩手都要抓,兩手都要硬。

前提是工作中用到的技術棧儘量摸熟悉,畢竟一切都是更好的工作,編寫健壯高效的代碼。

第一,行業目前的一些熱門開源技術,要去了解並會簡單使用,相信我,這難度不大,而且過程也不是很有難度,網絡上學習資料很多的,挑著看。比如NoSQL,消息隊列,微服務。

第二,修習Java內功,不說別的,jdk的一些源碼可以針對性的研究下,原理性的東西可以上手看看了。Java SE部門的東西其實平時用的最多。集合,線程,流之類的。當然還有最重要的Spring。再就是Java的編程一些思想,不要覺得沒啥看的,不就那麼回事嘛。其實隨著工作年限增長,每個階段都會有不同的收穫。

向上拓展,向下加固。兩手都要抓,兩手都要硬。

建議在上。

禁忌在下:不要懶,不要眼高手低。


黃楊扁擔呀麼軟溜溜


遇到這個問題,我一般不會讓他鑽研技術棧之類的答案,為什麼?因為稍微優秀點的人都知道該做什麼,更何況java這種顯學,想學,100塊錢,騰訊課堂,極客幫課程從入門到架構師應有盡有。

但是這是不適合這位問問題的朋友,當你在Java技術體系的紅海中,你在觀望猶豫的時候,無數比你年輕比你能力強的工程師都紛紛越過你跑到你前面了,就是說你問這個問題,已經代表你你不適合這個領域,我建議這位朋友你需要進入相對藍海的領域 ,同時技術門檻比較高的領域,時間就是門檻的領域 ,任何人進入都要花時間增長經驗的那種,否則抓緊轉行吧


一葉書藏


程序員之路相當艱辛,一年時間可以做很多事情,可以學很多東西,關鍵一點是自己要有目標,項目無疑使學東西最好的方式,相信這點大家都不會反對。現在java開發wicket框架使用比較少,但這必是將來web開發發展趨勢,建議學習精通這個框架,dcm研究的程序員仍然是供不應求,你可以考慮去研究一下dcm。


更多有關人工智能的資訊、深度報道、採訪歡迎關注AI中國,無論你是小白還是大神,你想要的這裡都有!


AI中國


半年連java都用不熟,別說其它的。白天敲代碼,下班回家啃書,或者看開源項目,這樣提高得快。


前海後山中間一刀切


打好基礎 從基礎出發看io nio 併發 jvm 。有個適合自己的學習路線。多關心開源社區 看看別人寫的代碼 以及博客講解。最主要是多敲代碼。


不好也、不壞


你還有工作之餘?,,,,我只能說羨慕,,,,


禾苗在麥田


多學工作相關的專業技術,打好基礎後可以深入學習,比如微服務,分佈式,高併發,數據結構,算法,瞭解一下大數據相關的技術。現在網上有很多免費入門視頻教程,或者買書籍來學習。做技術開發一定要不停的學習不然就被淘汰。


分享到:


相關文章: