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