在程序界流行着一種默認的說法叫「黃金5年」,也就是一個程序員從入職的時候算起,前五年的選擇直接影響着整個職業生涯中的職業發展方向和薪資走向。
所以如何走好這5年,完全從一個剛入行的菜鳥蛻變成能夠以不變應萬變的職業大牛,這是一個涉及到自身專業知識儲備和選擇的大難題,那麼,這五年裏,一個Java程序員如何作才能完成從入行到大牛的晉升之路呢?java
當你學會了Java的基礎知識之後,你還不足以參加工做,你還須要繼續深造。你必須要學會java開發框架。公司裏爲了提升開發的效率,會使用一些Java Web框架。目前比較主流的是SSM框架,即spring、springmvc、mybatis。你須要學會這三個框架的搭建,並用它們作出一個簡單的增刪改查的Web項目。你能夠不理解那些配置都是什麼含義,以及爲何要這麼作,這些留着後面你去了解。但你必定要能夠快速的利用它們三個搭建出一個Web框架,你能夠記錄下你第一次搭建的過程,在搭建的過程當中,也能夠順便了解一下maven的知識。在你目前這個階段,你只須要在網絡上了解一下maven基本的使用方法便可,一些高端的用法隨着你工做經驗的增長,會逐漸接觸到的。程序員
這部分時間段的同窗,已經對Java有了一個更加深刻的瞭解。面試
這一年,你必須對於設計模式瞭如指掌,此外,設計模式並非你這一年惟一的任務,你還須要看一些關於代碼編寫優化的書。總而言之,這個階段,你的核心任務就是提升你的代碼能力,要能寫出一手優雅的代碼。spring
另外,在過去2年的工做當中,你確定或多或少接觸過併發。這個時候,你應該去更加深刻的瞭解併發相關的知識,與此同時,這個階段你要作的事情還遠不止如此。這個時候,你應該對於你所使用的框架應該有了更深刻的瞭解,對於Java的類庫也有了更深刻的瞭解。所以,你須要去看一些JDK中的類的源碼,也包括你所使用的框架的源碼。總而言之,這個階段,你須要作的是深刻了解Java底層和Java類庫,也就是JVM和JDK的相關內容。並且還要更深刻的去了解你所使用的框架,方式比較推薦看源碼或者看官方文檔。設計模式
這個階段的同窗,提高已是很難了,並且這個階段的學習每每會比較多樣化。由於在前3年的過程當中,你確定或多或少接觸過一些其它的技術,好比大數據、分佈式緩存、分佈式消息服務、分佈式計算、軟負載均衡等等。這些技術,你能精通任何一項,都將是你將來面試時巨大的優點,所以若是你對某一項技術感興趣的話,這個時候能夠深刻去研究一下。這項技術不必定是你工做所用到的,但必定是相關的。緩存
參加工做4年到5年的同窗,相信你在本身所鑽研的領域已經有了本身必定的看法,這個時候,技術上你應該已經遇到瓶頸了。這個時候不要着急提升本身的技術,已是時候提升你的影響力了,你能夠嘗試去一些知名的公司去提升你的背景,你能夠發表一些文章去影響更多的人。固然,你也能夠去Github建立一個屬於你的開源項目,去打造本身的產品。技術學到這個階段,很容易遇到瓶頸,並且每每達到必定程度後,你再深刻下去的收效就真的微乎其微了,除非你是專門搞學術研究的。然而很惋惜,大部分程序猿作不到這一步,那是科學家作的事情。這個時候提升影響力不只僅是由於技術上容易遇到瓶頸,更多的是影響力能夠給你創造更多的機會。因此,在這個階段,你最大的任務是提升本身的影響力,爲本身將來的十年工做生涯那一天作準備。網絡