架构师的工作包罗万象,从开发基础框架到设计软件架构,从优化系统性能到修复重要Bug,从新技术选型到做出关键技术决策,从指导工程师开发到沟通、协调各种内外部关系。想要成为一个优秀的软件架构师,需要经过漫长的修炼,构建起自己的软件开发技术体系。但是一切看似纷繁复杂的技术技巧,均有其核心和基本的原理。 本书对架构师在职业进阶道路上必须牢固掌握的各项技术技能进行了梳理,涵盖基础知识、程序设计、系统架构、沟通管理4大方面。 本书包含38章,每一章都用一个软件开发中常见又经典的问题引出,深入浅出地剖析这个技术点背后的核心原理与外延扩展,进而帮助读者建立起自己的架构师知识体系。第1部分是架构师的基础知识修炼。软件的基础知识原理主要是操作系统、数据结构、数据库原理等,书中会从常见的问题入手,直达这些基础技术本质的原理,并覆盖这些基础技术的关键技术点,帮助读者理解这些基础技术原理和日常开发工作的关联关系,对这些基础技术有一个全新的认知。第2部分是架构师的程序设计修炼。讲述如何设计一个强大灵活、易复用、易维护的软件,在这个过程中,应该依赖哪些工具和方法,遵循哪些原则和思想,使用哪些模式和手段。第3部分是架构师的架构方法修炼。围绕目前主要的互联网分布式架构以及大数据、物联网架构分析这些架构背后的原理,详解它们都遵循了怎样的驱动力和设计思想,以及如何通过这些技术实现系统的高可用和高性能。第4部分是架构师的思维修炼。软件开发是一个实践性很强的活动,如果只是学习技术,那就是在纸上谈兵。只有将知识技能应用到工作实践中,才能真正体会到技术的关键点在哪里。如何在工作中处理好各种关系,得到充分的授权和信任,在工作中实践自己的技术思想,并为公司创造更多的价值,使自己的技术成长和职业发展进入互相促进的正向通道,也是架构师需要修炼与提升的。