更新時間:2019-09-20 13:52:00 來源:動力節點 瀏覽2590次
我認為,架構師的內功主要包含三部分:判斷力、執行力、創新力,簡單解釋如下:
判斷力:能夠準確判斷系統的復雜度在哪里,就像武俠高手一樣,能準確地看出對手的破綻和弱點。
執行力:能夠使用合適的方案解決復雜度問題,就像武俠高手一樣,能選擇合適的招式或者方法打敗對手。
創新力:能夠創造新的解決方案解決復雜度問題,就像武俠世界里,小一些的創新是創新招式,而武學宗師能夠創立新的武學或者心法,例如張三豐創立太極拳一樣。
因此,要成為一個優秀的架構師,就需要不斷地提升自己這幾方面的內功,而這三方面的能力主要來源于經驗、視野、思考。
經驗:設計過的系統越多、系統越復雜,架構師的內功也就越強,不管是成功的架構,還是失敗的架構,不管是踩坑的經驗,還是填坑的經驗,都將成為架構師內功的一部分。
視野:掌握的知識和技能越多、越深,架構師的內功也就越強,他山之石可以攻玉,站在巨人的肩膀上會看的更高更遠。
思考:經驗和視野都是外部輸入,類似于我們吃的食物,但光吃還不行,還要消化,將其變為我們自己的營養,這就是思考的作用。思考能夠將經驗和視野中的模式、判斷、選擇、技巧等提煉出來為我所用,思考也能促使我們產生新的創意和靈感。
結合上面的分析,從程序員到架構師的成長之路,總的指導原則是:積累經驗,拓寬視野,深度思考。按照這個總的原則為指導,接下來我們看看從程序員到架構師的成長過程中,具體如何實踐。
合格的工程師需要1~3年時間,其典型特征是“在別人的指導下完成開發”。工程師階段是最原始的“基礎技能積累階段”,主要積累基礎知識,包括編程語言、編程工具、各類系統的基本使用。
高級工程師需要2~5年時間,其典型特征是“獨立完成開發”,包括需求分析、方案設計、編碼實現,其中需求分析和方案設計已經包含了“判斷”和“選擇”,只是范圍相對來說小一些,更多是在已有架構下進行設計。
從普通工程師成長為高級工程師,主要需要“積累方案設計經驗”,簡單來說就是業務當前用到的相關技術的設計經驗。包括:表設計經驗、緩存設計經驗、業務流程設計經驗、接口設計經驗等。當接到一個業務需求的時候,高級工程師能夠組合這些設計經驗,最終完成業務需求。
技術專家需要4~8年時間,其典型的特征是“某個領域的專家”,通俗地講,只要是這個領域的問題,技術專家都可以解決。
從高級工程師成長為技術專家,主要需要“拓展技術寬度”,因為一個“領域”必然會涉及眾多的技術面。要成為一個Java開發專家,需要掌握Java多線程、JDBC、Java虛擬機、面向對象、設計模式、Netty、Elasticsearch、Memcache、Redis、MySQL等眾多技術。
初級架構師需要5~10年時間,其典型特征就是能夠“獨立完成一個系統的架構設計”,可以是從0到1設計一個新系統,也可以是將架構從1.0重構到2.0。初級架構師負責的系統復雜度相對來說不高,例如后臺管理系統、某個業務下的子系統、100萬PV量級的網站等。
初級架構師和技術專家的典型區別是:架構師是基于完善的架構設計方法論的指導來進行架構設計,而技術專家更多的是基于經驗進行架構設計。簡單來說,即使是同樣一個方案,初級架構師能夠清晰地闡述架構設計的理由和原因,而技術專家可能就是因為自己曾經這樣做過,或者看到別人這樣做過而選擇設計方案。
從技術專家成長為初級架構師,最主要的是形成自己的“架構設計方法論”
中級架構師需要8年以上時間,其典型特征是“能夠完成復雜系統的架構設計”,包含高性能、高可用、可擴展、海量存儲等復雜系統,例如設計一個和Kafka性能匹敵的消息隊列系統、將業務改造為異地多活、設計一個總共100人參與開發的業務系統等。中級架構師與初級架構師的典型區別在于系統復雜度的不同。
從初級架構師成長為中級架構師,最關鍵的是“技術深度和技術理論的積累”
高級架構師需要10年以上時間,其典型特征是“創造新的架構模式”
高級架構師與中級架構師相比,典型區別在于“創造性”,高級架構師能夠創造新的架構模式,開創新的技術潮流。
關于如何在專業領域內提升,有條著名的“10000小時定律”,簡單來說要成為某個領域頂尖的專業人才,需要持續不斷10000小時的練習,我認為技術人員成長也基本遵循這個定律,最關鍵的還是技術人員對技術的熱情以及持續不斷地投入,包括學習、實踐、思考、總結等。
接下來為大家提煉一條通用的成長路徑供你參考
以上就是動力節點java培訓機構小編為大家介紹的“一個合格的Java程序員如何成長為優秀的架構師?”的內容,希望對大家有幫助,更多java資訊請繼續關注動力節點java培訓機構官網,每天會有精彩內容分享與你。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習