給迷茫的Java員一些中肯建議,你還在虛度光陰嗎?

Java團長_發表於2018-10-23

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


當前你感到迷茫嗎?


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


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


這裡分為二種人:


*混日子,過一天算一天


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


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


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


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


640


架構師的定義?


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


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


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


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


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


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


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


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


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


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


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

其實架構師並沒有想象中的那麼難,但是你要看是什麼公司的架構師,我見過一個小企業的架構師,工作八年了,但是感覺真的水平就只有阿里P6這樣的級別,其實能否成為架構師跟機遇有很大關係,比如一個程式設計師,以上都做到了,但是公司並沒有給他這個機會去做,一個真正架構的機會。因為之前的架構師不離職他就沒有機會,這就是現實!

針對以上問題,其實更多的是技術方面的東西,我自己收集整理了一套Java架構方面的路線圖,分享給目前工作2~5年左右的Java程式設計師們,可以梳理一下自己的技術,這些東西可能你們平時在工作中接觸過,但是缺少的全面系統的學習,所以掌握的都不深,希望看了路線圖以後大家知道從哪裡開始入手學習。

除了這份路線圖,自己還收集了一些關於Java高併發、分散式、JVM、spring原始碼分析等相關的技術資料一併分享在我的Java後端技術群。

640

640

640

640

640

640

大家可以通過掃碼進群下載資料,其實我自己也比較喜歡技術,群裡有一些阿里大牛,也有一線網際網路的資深HR,最近在面試的朋友或者在找工作的可以進來看看哦,點選下方的閱讀原文就可以進群啦!


↙點選“閱讀原文”檢視更多精彩內容

相關文章