從普通開發(fā)晉升到架構(gòu)師,不僅是薪資、技術(shù)能力的提升,更是個人發(fā)展最重要的一環(huán)。而怎么快速成為一名架構(gòu)師,也就成為大家最關(guān)心的問題。
提升技術(shù)沉淀,打好底子是關(guān)鍵
1?? 先開闊視野,具備行業(yè)里各個解決方案上的淺層次認知,知道解決什么場景需要什么技術(shù)。
Tips:這里不需要了解太多的技術(shù)細節(jié)。你需要的是對業(yè)界領(lǐng)域里可用的技術(shù)方案做一個索引,遇到合適的場景時能想到它。
2?? 根據(jù)你所看重或者從事的行業(yè)、場景,選定要深入使用的幾門技術(shù)點。
Tips:深入學習這些選定技術(shù)的特性,各種高級應用和配置,學習它底層的原理,出現(xiàn)問題時能快速找到癥結(jié)所在,功能不滿足時便于未來二次開發(fā)或自己定制。
結(jié)合業(yè)界多名架構(gòu)師的成長經(jīng)歷,其實,階段式訓練才是最合理的捷徑。
【需要具備的基礎(chǔ)】
熟悉Java開發(fā)語言,對Java語法、Java基礎(chǔ)能夠熟練使用
熟悉Java Web開發(fā),對常用Spring Boot等Web開發(fā)框架有使用經(jīng)驗
對分布式系統(tǒng)、Dubbo,Spring Cloud等微服務體系有所了解
了解常用的緩存、消息隊列、搜索引擎、NoSQL等中間件
具備2-3年Java相關(guān)經(jīng)驗,想要進一步深入學習,達到架構(gòu)師水平的同學
【 起步階段 - 從日常開發(fā)下探】
做事情要由淺入深,不能一口吃個胖子,從日常最熟悉的內(nèi)容出發(fā)……
必要性:
打開全局視角,從軟件系統(tǒng)四個層面的發(fā)展歷史來看架構(gòu)體系的演進
小試牛刀,從日常開發(fā)中最熟悉的內(nèi)容下手,柿子撿軟的捏
初步下探,從簡單使用層面開始探究底層的原理
階段目標:
從業(yè)務、數(shù)據(jù)、應用、部署四個層面理解軟件架構(gòu)體系的演進過程
初步脫離開發(fā)視角,站在全局角度來審視軟件體系
從日常用的開發(fā)框架、分布式體系的應用層面轉(zhuǎn)向探究原理和自主設(shè)計
具備一定前瞻性,了解云原生與下一代微服務
內(nèi)容詳解:
從單體業(yè)務到中臺業(yè)務系統(tǒng)演進
數(shù)據(jù)存儲層的發(fā)展
應用開發(fā)和項目架構(gòu)的演進
從人肉運維到容器化自動化運維的發(fā)展
從Dubbo看經(jīng)典RPC設(shè)計原理、如何手寫一套RPC
Netty - 網(wǎng)絡(luò)通訊的必選方案
Spring Cloud體系及Spring Cloud Alibaba微服務時代
Service Mesh,微服務2.0
【架構(gòu)師進階 - 從應用到掌握原理】
開始進入快速充電階段,從基本的用,到掌握原理,徹底掌控并用得好……
必要性:
開發(fā)框架的背后將是大量必須掌握的中間件、存儲層、部署層
架構(gòu)師要挖掘各層的原理,從會使用到用的好
工欲善其事必先利其器,必備工具是提升效率的法寶
階段目標:
掌握各層中間件的高階使用和設(shè)計原理,能達到完全掌控的水平
熟練掌握各種各樣的存儲系統(tǒng),并了解存儲設(shè)計的細節(jié)
掌握容器化和底層的基礎(chǔ)設(shè)施
熟練使用各種工具,任何時候都可以拿來就用
內(nèi)容詳解:
業(yè)界著名的三大消息隊列:Kafka、RabbitMQ、RocketMQ
關(guān)系型數(shù)據(jù)庫MySQL的擴容實戰(zhàn)
各種各樣的存儲:緩存Redis、NoSQL MongoDB、搜索ES、NewSQL TiDB、文件存儲FastDFS
【架構(gòu)師深入 - 探究底層關(guān)注性能】
具備日常技術(shù)的掌控力,架構(gòu)師要具備精益求精魄力,深挖源碼并追求極致的性能壓榨……
必要性:
架構(gòu)師需要透過源碼看透上層運行的本質(zhì)
經(jīng)典源碼中蘊藏著大師的智慧
常見的調(diào)優(yōu)環(huán)節(jié)是架構(gòu)師必須掌控并不斷探索的
架構(gòu)師必須理解并掌握常見算法和數(shù)據(jù)結(jié)構(gòu),具備解決通用問題的思維和視角
階段目標:
掌握日常所用的框架、容器、JDK等各種核心源碼及其編程思想
掌握代碼、數(shù)據(jù)庫等常見層面的性能優(yōu)化手段
掌握常見的算法和數(shù)據(jù)結(jié)構(gòu)
內(nèi)容詳解:
Tomcat源碼 - 熟到不能再熟的web容器
Spring源碼 - 公認的業(yè)界標桿
Spring Boot源碼 - 新時代的寵兒
MyBatis源碼 - 經(jīng)典的持久層框架
JDK源碼 - 學了多年的Java還有那么多秘密
多線程、JVM內(nèi)核調(diào)優(yōu)
超高性能的內(nèi)存隊列,設(shè)計超出你的想象
MySQL數(shù)據(jù)庫調(diào)優(yōu)
各種各樣的算法與數(shù)據(jù)結(jié)構(gòu)
【升華 - 思索并改造這個軟件世界】
架構(gòu)之路漫長而修遠,吾將上下而求索。架構(gòu)的本質(zhì)是思考并改造這個軟件世界,讓開發(fā)變得更便捷……
必要性:
架構(gòu)師必須要有獨立思索的能力,形成自己對軟件行業(yè)的世界觀,并確保理念的前瞻性
架構(gòu)師要具備業(yè)界通用場景下的一系列解決方案
階段目標:
掌握基本的軟件設(shè)計與理念、對前面的內(nèi)容具備選型能力
理解并遵守軟件設(shè)計的某些規(guī)范與規(guī)則
具備各種上層應用級別的算法思想,和這些思想下解決問題的思路
了解軟件管理之道
掌握業(yè)界通用的一系列解決方案
內(nèi)容詳解:
編碼必須遵守的代碼規(guī)范,架構(gòu)師日常Review必備手冊
設(shè)計模式,軟件設(shè)計思想的精華
UML,架構(gòu)師設(shè)計語言的表達
應用級別的算法思想?yún)R總
從敏捷看項目和軟件團隊的管理
【學無止境 - 學的越多越渺小】
學無止境,深度決定了你的現(xiàn)在,廣度決定了你的將來……
必要性:
架構(gòu)師的世界永不止步
除了深度,必須具備行業(yè)內(nèi)寬廣的視野
對未來的技術(shù)發(fā)展動向要有前瞻性
階段目標:
了解相關(guān)行業(yè)的內(nèi)容
了解未來軟件的技術(shù)動態(tài)
內(nèi)容詳解:
人工智能領(lǐng)域
數(shù)據(jù)挖掘領(lǐng)域
機器學習領(lǐng)域
區(qū)塊鏈……
|