如何成為理想的java架構(gòu)師?如何三年內(nèi)成為java架構(gòu)師?
工作前三年是職業(yè)生涯中成長最快的幾年,在這段時間里你會充滿激情,做事專注,也容易養(yǎng)成良好的習(xí)慣。在我們公司有些同學(xué)在前三年中就快速成為某一個領(lǐng)域的技術(shù)專家,有些同學(xué)也可能止步不前。本文和大家一起探討下如何在三年內(nèi)快速成長為一名技術(shù)專家。
一:學(xué)習(xí)方法
1.1 空杯心態(tài)
首先要有空杯的學(xué)習(xí)心態(tài),而不是傲嬌自滿,故步自封,空杯子才可以裝下更多的東西。首先要學(xué)會取百家之長,帶著欣賞的眼光看團隊的同事或?qū)W校的同學(xué),欣賞每位同事或同學(xué)的優(yōu)點,然后吸取他們的優(yōu)點,每個同事都有其擅長的能力,比如有的同事技術(shù)能力強,那么可以觀察下他如何學(xué)習(xí)的(或者找他請教學(xué)習(xí)方法),有的同學(xué)擅長解決線上問題,那么觀察他是如何解決線上問題的,解決思路是什么?如果他解決不了時,他是如何尋求幫助。有的同學(xué)擅長使用IDE或MAC的快捷鍵,那么可以向他學(xué)習(xí)提高工作效率。有的同學(xué)能快速理解業(yè)務(wù)知識,觀察他是如何做到的,自己如何達到他的程度。溝通能力,解決問題能力以及規(guī)劃能力都可以向同事學(xué)習(xí)。
1.2 挑戰(zhàn)權(quán)威
從書上看到一個知識點,或者從別人那里聽到一個知識點,一定要去挑戰(zhàn)和質(zhì)疑這個知識點的正確性,否則學(xué)到的知識點可能是錯誤的。先用邏輯思維推測下,再實戰(zhàn)檢測下,一定要記住實踐是檢驗真理的唯一標準。比如同事說這個SQL加這個索引是最快的,首先要思考同事的結(jié)論是如何得出的,是靠歷史經(jīng)驗還是測試過,如果我們沒有經(jīng)驗,就加上這個索引跑下SQL,看看執(zhí)行計劃和執(zhí)行時間,再換下其他索引試試會不會更快。依次類推,并發(fā)一定比串行快嗎?無鎖一定比加鎖快嗎? 很多結(jié)論都是在特定的場景下才會產(chǎn)生的,一定要自己親手實踐驗證下。
1.3 堅持學(xué)習(xí)
有的同學(xué)可能工作了五年,但是學(xué)習(xí)的時間可能一年都不到。學(xué)技術(shù)不能急于求成,只要學(xué)習(xí)方法正確,量變一定會引起質(zhì)變。我在大學(xué)剛學(xué)JAVA時,怎么都學(xué)不會,但是堅持學(xué)習(xí)了幾個月,每天看張老師的JAVA視頻教學(xué),買書按照書里的代碼一行一行的敲代碼,白天睡覺,晚上學(xué)習(xí)和寫代碼,寫到宿舍關(guān)燈時就去避風塘呆一晚上,早上6點鐘回宿舍睡覺,學(xué)到一定時間后,突然恍然大悟,才入了門。
在工作中,我曾經(jīng)花了一個月的時間學(xué)習(xí)AOP的實現(xiàn)原理,學(xué)習(xí)了各種方式來實現(xiàn)AOP的原理,并寫了幾種實現(xiàn)方式的代碼,雖然花的時間很多,但是到現(xiàn)在仍記憶猶新,對于排查問題和學(xué)習(xí)其他知識都非常有幫助。
要做到堅持學(xué)習(xí),學(xué)習(xí)的環(huán)境非常重要。如果你想學(xué),但是又不在學(xué)習(xí)狀態(tài),可以考慮換個學(xué)習(xí)環(huán)境,我經(jīng)常會去星巴克看書和學(xué)習(xí)。我聽說有的同事會周末抽一天去大學(xué)教師上自習(xí)。
1.4 把事情做精
對自己要求越高,進步越快。要有強烈的把事情做完美的心態(tài),我剛開始工作的時候,總是快而不精,做事做的不夠細致,總希望快速拿出結(jié)果證明自己,但是反而證明不了什么,技術(shù)能力也得不到提升,缺少技術(shù)亮點,在團隊中也沒什么影響力,后面就開始鍛煉一次就把事情做對的心態(tài)和方法。我觀察過,很多人都擅長快速做事情,但是把事情做好做精致的人會比較少,但是結(jié)果卻是 在精益求精的路上才會快速提高自己的能力 。比如用100行代碼實現(xiàn)的功能,思考下是否可以用10行來實現(xiàn),以便于降低運維成本,提高下次的編碼效率。引用GUAVA等類庫,提取公共方法,和使用JDK8新特性等。系統(tǒng)的方法壓測過后,單機只能承受1700QPS,可以思考和實踐能否優(yōu)化下程序提高QPS,減少服務(wù)器數(shù)量。
把事情做精,一定是要強迫自己多花心思多花時間在這件事情上。有位技術(shù)牛人給我分享了一個心得,我覺得說的非常好,老板給你布置了一個任務(wù), 你要花百分之150的精力做到100分,這樣在老板那里你就能拿到80分或者60分 。
1.5 掌握系統(tǒng)化的學(xué)習(xí)方法
如果學(xué)習(xí)到的知識不成體系,那么遇到問題時就會非常難解決。有些同學(xué)會出現(xiàn)這些情況,比如編碼時遇到問題百度搜索,如果百度上找不到答案,這個問題就解決不了。再比如,在開發(fā)中要用到某個技術(shù)點,就學(xué)習(xí)下API,程序調(diào)通后就不再深入研究,淺嘗輒止,如果程序遇到其他問題也不知道如何解決。
以上情況我認為叫 點狀學(xué)習(xí) 。遇到一個問題,解決一個問題,需要一項技術(shù),學(xué)習(xí)一項技術(shù)。那么如何由點到面,由面到體,形成系統(tǒng)化學(xué)習(xí)呢。
首先要確定學(xué)習(xí)的知識領(lǐng)域,需要達成的學(xué)習(xí)目標,針對目標制定學(xué)習(xí)計劃,就像你要寫一本書一樣,先把目錄寫出來,然后根據(jù)目錄上的知識點逐步去學(xué)習(xí),最后把這些知識點關(guān)聯(lián)起來,形成一個系統(tǒng)化的知識體系。學(xué)習(xí)的時候,可以制定一個計劃,以周為單位,比如第一周學(xué)什么,第二周學(xué)什么。
1.6 廣度和深度的選擇
技術(shù)人員的學(xué)習(xí)路徑有兩個維度,深度和廣度。很多程序員都有這個疑問,是先深后廣,還是先廣后深呢?
通過這么多年的學(xué)習(xí)和思考,我的建議先深后廣,因為當技術(shù)學(xué)到一定深度后,就會有觸類旁通的能力,自己掌握的廣度也自然有了深度。但是在實際學(xué)習(xí)過程中,深度和廣度相互穿插著學(xué)習(xí),比如學(xué)習(xí)并發(fā)編程時,首先學(xué)習(xí)JDK源碼,然后學(xué)進去之后,開始看JVM源碼,最后看CPU架構(gòu),在技術(shù)點逐漸深度研究的過程中,廣度也得到了完善。
所以無論哪種學(xué)習(xí)方式,學(xué)習(xí)態(tài)度才是最重要的,在廣度學(xué)習(xí)的時候有深入研究的態(tài)度就能達到一定的深度,在深度學(xué)習(xí)的時候,主動學(xué)習(xí)相關(guān)的技術(shù)點,廣度也得到拓寬。
本文鏈接:
本文章“如何成為理想的Java架構(gòu)師”已幫助 2656 人
免責聲明:本信息由用戶發(fā)布,本站不承擔本信息引起的任何交易及知識產(chǎn)權(quán)侵權(quán)的法律責任!
本文由賦能網(wǎng) 整理發(fā)布。了解更多培訓(xùn)機構(gòu)》培訓(xùn)課程》學(xué)習(xí)資訊》課程優(yōu)惠》課程開班》學(xué)校地址等機構(gòu)信息,可以留下您的聯(lián)系方式,讓課程老師跟你詳細解答:
咨詢熱線:4008-569-579