1. 程式人生 > >獻給迷茫的Java程式設計師,沒時間虛度光陰了!

獻給迷茫的Java程式設計師,沒時間虛度光陰了!

  最近好多人私信問我,該怎樣才能成為架構師,還有一個就對當前的狀態感到迷茫。我在此做一個簡單的說明,或者對迷茫中的你來說有些許幫助。

  

  當前你感到迷茫嗎?

  有很多人對現在的工作感到很沒意思,因為當前的工作,完全是實現業務,技術上沒有任何提高。在這種狀態下就會感到迷茫,特別是一想到將來這種迷茫感就更強烈了。

  與其說迷茫還不如說是擔憂,隨著時間的推移,自己的技術又沒有長進,所以感覺憂心忡忡。

  這裡分為二種人:

  混日子,過一天算一天

  這一種的我就不過多討論了,沒有意義。我也碰到過很多這樣的同事,此類程式設計師已經廢啦。

  想提高自己的技術,往架構師方向努力。

  給我發私信的人,大部分是這一種。首先,可以看出來 ,這些人都是有自己理想的人,也會付諸實踐的。想往架構師方向走,但是卻苦於沒有人帶,自己也不知道如何成為框架師。再不改變,此類程式設計師可能會也廢。

  我想借這個文章和大家聊聊架構師這個話題,純屬個人理解,與對錯無憂。

  

  架構師的定義?

  個人覺得架構師需要具有以下幾特點:

  知識廣度:需要知道主流技術為什麼誕生,能解決什麼問題?如果同一種業務用不用的技術來實現,會有什麼哪些優缺點?比如:流行的ORM框架Mybatis 和 hibernate ,他們之間的優缺點是什麼?要有清晰的認識會能在技術造型時做出正確的決定。

  抽象能力:對業務和技術進行抽象。業務抽象就是對需求進行分析後,能夠建立完美的實體類以及他們之間的聯絡。技術抽象是對整體架構進行一個分層,各層之間的互動。這至關重要,如果技術抽象能力不足,這會導致整個系統的架構不靈活,難以維護和擴充套件。

  知識的深度:至少是某個領域的專家,比如訊息佇列,activeMQ熟悉其原始碼,知道其實現。

  優秀的學習能力:對新的技術和前沿性的技術進行學習,使用它來解決工作中的業務問題。

  

  那麼你該如何去做呢?我覺得可以從以下幾個步驟開始:

  1: 紮實的JAVA 基礎,Think in java上介紹的內容都能理解,做到這一步恭喜成為了程式設計師。

  2:熟練使用主流框架,如:mybatis,spring 等。

  3:研究過至少一種以web框架的原始碼,如spring mvc ,struts 等。

  4:架構過或者參與過高併發系統設計,知道如何應對突發情況。

  5:對自己所處的業務能夠根據自己的知識維度,提出優化建議或者預測其風險點。

  其實能否成為架構師跟機遇有很大關係,比如一個程式設計師,以上都做到了,但是公司並沒有給他這個機會去做,一個真正架構的機會。因為之前的架構師不離職他就沒有機會,這就是現實!

  很多人不知道該怎麼去學習架構師所需的知識,在此我分享給你成為架構師的學習路線

  以下五大知識體系是我從業多年總結出來的經驗,都是當前最主流的技術。想學習這些技術的朋友可以加群:697579751。群裡會分享這些技術知識點供大家學習免費下載

  分散式學習路線

  

  微服務學習路線

  

  效能優化學習路線

  

  經典設計模式與原始碼分析

  

  開發必備工具

  

  動手實踐專案

  

  以上六大知識體系是我從業多年總結出來的經驗,都是當前最主流的技術。想學習這些技術的朋友可以關注我,回覆“架構”即可獲取以下資料: