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