每一個程序員、或者說每一個工做者都應該有本身的職業規劃,若是你不是富二代,不是官二代,也沒有職業規劃,但願你能夠思考一下本身的未來。今天小編給你們分享的是一篇來自阿里Java架構師對3年工做經驗程序員的職業建議,但願對你有啓發。java
第一階段—三年程序員
我認爲三年對於程序員來講是第一個門檻,這個階段將會淘汰掉一批不適合寫代碼的人。這一階段,咱們走出校園,邁入社會,成爲一名程序員,正式從書本上的內容邁向真正的企業級開發。咱們知道如何團隊協做、如何使用項目管理工具、項目版本如何控制、咱們寫的代碼如何測試如何在線上運行等等,積累了必定的開發經驗,也對代碼有了必定深刻的認識,是一個比較純粹的Coder的階段。web
第二階段—五年面試
五年又是區分程序員的第二個門檻。有些人在三年裏,除了完成工做,在空餘時間基本不會研究別的東西, 熱衷於研究各類技術實現細節、看了不少好書、寫一些博客、在Github上分享技術,這些人在五年後必然具有在技術上獨當一面的能力而且清楚本身將來的發展方向,從一個Coder逐步走向系統分析師或是架構師,成爲項目組中不可或缺的人物。spring
第三階段—十年編程
十年又是另外一個門檻了,包括我本身也在超這個方向發展,轉行或是繼續作一名程序員就在這個節點上。若是在前幾年就抱定不轉行的思路而且爲之努力的話,那麼在十年的這個節點上,有些人必然成長爲一名對行業有着深刻認識、對技術有着深刻認識、能從零開始對一個產品進行分析的程序員,這樣的人在公司基本擔任的都是CTO、技術專家、首席架構師等最關鍵的職位,這對於本身絕對是一件榮耀的事,固然老闆在經濟上也毫不會虧待你。設計模式
總結一下,我認爲,隨着你工做年限的增加、對生活對生命認識的深刻,應當不斷思考三個問題:mybatis
我到底適不適合當一名程序員?架構
我到底應不該該一生以程序員爲職業?併發
我對編程到底持有的是一種什麼樣的態度,是夠用就好呢仍是不斷研究?
最終,明確本身的職業規劃,對本身的規劃負責併爲之努力。
工做2-5經驗的Java程序員應該具有的技能,這多是Java程序員們比較關心的內容,我在這裏要說明一下,如下列舉的內容不是都要會的東西----可是若是你掌握得越多,最終能獲得的評價、拿到的薪水勢必也越高。
那麼你該如何去作呢?我以爲能夠從如下幾個步驟開始:
1: 紮實的JAVA 基礎,Think in java上介紹的內容都能理解,作到這一步恭喜成爲了程序員。
2:熟練使用主流框架,如:mybatis,spring 等。
3:研究過至少一種以web框架的源碼,如spring mvc ,struts 等。
4:架構過或者參與太高併發系統設計,知道如何應對突發狀況。
5:對本身所處的業務可以根據本身的知識維度,提出優化建議或者預測其風險點。
6:設計模式,你的項目中用到了哪些設計模式,如何使用,知道經常使用設計模式的優缺點
其實可否成爲架構師跟機遇有很大關係,好比一個程序員,以上都作到了,可是公司並無給他這個機會去作,一個真正架構的機會。由於以前的架構師不離職他就沒有機會,這就是現實!
不少人不知道該怎麼去學習架構師所需的知識,在此我分享給你我收藏的視頻教程:
我特地整理了一下,有不少問題不是靠幾句話能講清楚,因此乾脆找朋友錄製了一些視頻,用來回答這些面試題。不少問題其實答案很簡單,可是背後的思考和邏輯不簡單,要作到知其然還要知其因此然。若是想學習Java工程化、高性能及分佈式、高性能、深刻淺出。性能調優、Spring,MyBatis,Netty源碼分析的朋友能夠加個人Java進階羣,675047716羣裏有阿里大牛直播講解技術,以及Java大型互聯網技術的視頻免費分享給你們。