架構師的工作包羅萬象,從開發(fā)基礎框架到設計軟件架構,從優(yōu)化系統(tǒng)性能到修復重要Bug,從新技術選型到做出關鍵技術決策,從指導工程師開發(fā)到溝通、協(xié)調各種內外部關系。想要成為一個優(yōu)秀的軟件架構師,需要經過漫長的修煉,構建起自己的軟件開發(fā)技術體系。但是一切看似紛繁復雜的技術技巧,均有其核心和基本的原理。 本書對架構師在職業(yè)進階道路上必須牢固掌握的各項技術技能進行了梳理,涵蓋基礎知識、程序設計、系統(tǒng)架構、溝通管理4大方面。 本書包含38章,每一章都用一個軟件開發(fā)中常見又經典的問題引出,深入淺出地剖析這個技術點背后的核心原理與外延擴展,進而幫助讀者建立起自己的架構師知識體系。第1部分是架構師的基礎知識修煉。軟件的基礎知識原理主要是操作系統(tǒng)、數據結構、數據庫原理等,書中會從常見的問題入手,直達這些基礎技術本質的原理,并覆蓋這些基礎技術的關鍵技術點,幫助讀者理解這些基礎技術原理和日常開發(fā)工作的關聯關系,對這些基礎技術有一個全新的認知。第2部分是架構師的程序設計修煉。講述如何設計一個強大靈活、易復用、易維護的軟件,在這個過程中,應該依賴哪些工具和方法,遵循哪些原則和思想,使用哪些模式和手段。第3部分是架構師的架構方法修煉。圍繞目前主要的互聯網分布式架構以及大數據、物聯網架構分析這些架構背后的原理,詳解它們都遵循了怎樣的驅動力和設計思想,以及如何通過這些技術實現系統(tǒng)的高可用和高性能。第4部分是架構師的思維修煉。軟件開發(fā)是一個實踐性很強的活動,如果只是學習技術,那就是在紙上談兵。只有將知識技能應用到工作實踐中,才能真正體會到技術的關鍵點在哪里。如何在工作中處理好各種關系,得到充分的授權和信任,在工作中實踐自己的技術思想,并為公司創(chuàng)造更多的價值,使自己的技術成長和職業(yè)發(fā)展進入互相促進的正向通道,也是架構師需要修煉與提升的。