如何3年內成爲java架構師

如何三年內成爲java架構師

工做前三年是職業生涯中成長最快的幾年,在這段時間裏你會充滿激情,作事專一,也容易養成良好的習慣。在咱們公司有些同窗在前三年中就快速成爲某一個領域的技術專家,有些同窗也可能止步不前。本文和你們一塊兒探討下如何在三年內快速成長爲一名技術專家。java

一:學習方法

1.1 空杯心態

首先要有空杯的學習心態,而不是傲嬌自滿,故步自封,空杯子才能夠裝下更多的東西。首先要學會取百家之長,帶着欣賞的眼光看團隊的同事或學校的同窗,欣賞每位同事或同窗的優勢,而後吸收他們的優勢,每一個同事都有其擅長的能力,好比有的同事技術能力強,那麼能夠觀察下他如何學習的(或者找他請教學習方法),有的同窗擅長解決線上問題,那麼觀察他是如何解決線上問題的,解決思路是什麼?若是他解決不了時,他是如何尋求幫助。有的同窗擅長使用IDE或MAC的快捷鍵,那麼能夠向他學習提升工做效率。有的同窗能快速理解業務知識,觀察他是如何作到的,本身如何達到他的程度。溝通能力,解決問題能力以及規劃能力均可以向同事學習。程序員

1.2 挑戰權威

從書上看到一個知識點,或者從別人那裏聽到一個知識點,必定要去挑戰和質疑這個知識點的正確性,不然學到的知識點多是錯誤的。先用邏輯思惟推測下,再實戰檢測下,必定要記住實踐是檢驗真理的惟一標準。好比同事說這個SQL加這個索引是最快的,首先要思考同事的結論是如何得出的,是靠歷史經驗仍是測試過,若是咱們沒有經驗,就加上這個索引跑下SQL,看看執行計劃和執行時間,再換下其餘索引試試會不會更快。依次類推,併發必定比串行快嗎?無鎖必定比加鎖快嗎? 不少結論都是在特定的場景下才會產生的,必定要本身親手實踐驗證下。編程

1.3 堅持學習

有的同窗可能工做了五年,可是學習的時間可能一年都不到。學技術不能急於求成,只要學習方法正確,量變必定會引發質變。我在大學剛學JAVA時,怎麼都學不會,可是堅持學習了幾個月,天天看張老師的JAVA視頻教學,買書按照書裏的代碼一行一行的敲代碼,白天睡覺,晚上學習和寫代碼,寫到宿舍關燈時就去避風塘呆一夜,早上6點鐘回宿舍睡覺,學到必定時間後,忽然恍然大悟,才入了門。服務器

在工做中,我曾經花了一個月的時間學習AOP的實現原理,學習了各類方式來實現AOP的原理,並寫了幾種實現方式的代碼,雖然花的時間不少,可是到如今仍記憶猶新,對於排查問題和學習其餘知識都很是有幫助。架構

要作到堅持學習,學習的環境很是重要。若是你想學,可是又不在學習狀態,能夠考慮換個學習環境,我常常會去星巴克看書和學習。我據說有的同事會週末抽一天去大學教師上自習。併發

1.4 把事情作精

對本身要求越高,進步越快。要有強烈的把事情作完美的心態,我剛開始工做的時候,老是快而不精,作事作的不夠細緻,總但願快速拿出結果證實本身,可是反而證實不了什麼,技術能力也得不到提高,缺乏技術亮點,在團隊中也沒什麼影響力,後面就開始鍛鍊一次就把事情作對的心態和方法。我觀察過,不少人都擅長快速作事情,可是把事情作好作精緻的人會比較少,可是結果倒是 在精益求精的路上纔會快速提升本身的能力 。好比用100行代碼實現的功能,思考下是否能夠用10行來實現,以便於下降運維成本,提升下次的編碼效率。引用GUAVA等類庫,提取公共方法,和使用JDK8新特性等。系統的方法壓測事後,單機只能承受1700QPS,能夠思考和實踐可否優化下程序提升QPS,減小服務器數量。運維

把事情作精,必定是要強迫本身多花心思多花時間在這件事情上。有位技術牛人給我分享了一個心得,我以爲說的很是好,老闆給你佈置了一個任務, 你要花百分之150的精力作到100分,這樣在老闆那裏你就能拿到80分或者60分 。學習

1.5 掌握系統化的學習方法

若是學習到的知識不成體系,那麼遇到問題時就會很是難解決。有些同窗會出現這些狀況,好比編碼時遇到問題百度搜索,若是百度上找不到答案,這個問題就解決不了。再好比,在開發中要用到某個技術點,就學習下API,程序調通後就再也不深刻研究,淺嘗輒止,若是程序遇到其餘問題也不知道如何解決。測試

以上狀況我認爲叫 點狀學習 。遇到一個問題,解決一個問題,須要一項技術,學習一項技術。那麼如何由點到面,由面到體,造成系統化學習呢。優化

首先要肯定學習的知識領域,須要達成的學習目標,針對目標制定學習計劃,就像你要寫一本書同樣,先把目錄寫出來,而後根據目錄上的知識點逐步去學習,最後把這些知識點關聯起來,造成一個系統化的知識體系。學習的時候,能夠制定一個計劃,以周爲單位,好比第一週學什麼,第二週學什麼。

1.6 廣度和深度的選擇

技術人員的學習路徑有兩個維度,深度和廣度。不少程序員都有這個疑問,是先深後廣,仍是先廣後深呢?

經過這麼多年的學習和思考,個人建議先深後廣,由於當技術學到必定深度後,就會有舉一反三的能力,本身掌握的廣度也天然有了深度。可是在實際學習過程當中,深度和廣度相互穿插着學習,好比學習併發編程時,首先學習JDK源碼,而後學進去以後,開始看JVM源碼,最後看CPU架構,在技術點逐漸深度研究的過程當中,廣度也獲得了完善。

因此不管哪一種學習方式,學習態度纔是最重要的,在廣度學習的時候有深刻研究的態度就能達到必定的深度,在深度學習的時候,主動學習相關的技術點,廣度也獲得拓寬。


若是有小夥伴苦於尋求資料而不得,能夠看下方圖自取資料。

相關文章
相關標籤/搜索