如何从程序员到架构师?
程序员到架构师的技术成长之路分为几个典型的阶段:工程师 - 高级工程师 - 技术专家 - 初级架构师 - 中级架构师 - 高级架构师,总的成长原则是每个阶段都需要“积累经验、拓宽视野、深度思考”。
工程师阶段工程师阶段是最原始的“基础技能积累阶段”,主要积累基础知识,包括编程语言、编程工具、各类系统的基本使用。
工程师阶段需要积累的经验和技能有:此阶段必备的知识:架构到底指什么架构设计的历史背景更多架构知识点,点击订阅专栏,即刻get!架构师各个阶段应该怎么学?
△新用户首单优惠,仅19.9元!△△限时秒杀79,即将涨价至129元!高级工程师从普通工程师成长为高级工程师,主要需要积累方案设计经验并能独立完成开发,包括需求分析、方案设计、编码实现,其中需求分析和方案设计已经包含了“判断”和“选择”,只是范围相对来说小一些,更多是在已有架构下进行设计。
比如对于存储技术来说,需要掌握的:此阶段必备的知识:高性能数据库集群:分库分表高性能NoSQL高性能缓存技术专家从高级工程师成长为技术专家,主要需要“拓展技术宽度”,因为一个“领域”必然会涉及众多的技术面。
以 Java 后端开发为例,要成为一个 Java 开发专家,需要掌握技术 Java 多线程、JDBC、Java 虚拟机、面向对象、设计模式、Netty、Elasticsearch、Memcache、Redis、MySQL 等众多技术。
对于技术专家来讲,需要宽广的技术面,比如对于开源项目,需要深入了解:此阶段必备的知识:单服务器高性能模式:PPC与TPC单服务器高性能模式:Reactor与Proactor接口及故障处理开源项目选择初级架构师能够独立完成一个系统的架构设计,可以是从0到1设计一个新系统,也可以是将架构从1.0重构到2.0。
架构师是基于完善的架构设计方法论的指导来进行架构设计,而技术专家更多的是基于经验进行架构设计。
专栏给出了完整的架构设计方法论,你可以参考:此阶段必备的知识:架构设计目的架构设计三原则互联网架构模板中级架构师能够完成复杂系统的架构设计,包含高性能、高可用、可扩展、海量存储等复杂系统,例如设计一个和Kafka性能匹敌的消息队列系统、将业务改造为异地多活、设计一个总共100人参与开发的业务系统等。
比如对于高可用架构来说,专栏涵盖了存储高可用、计算高可用和业务高可用等内容。
此阶段必备知识:业务高可用的保障:异地多活架构异地生活设计4大技巧想成为架构师,你必须知道的CAP理论高级架构师成长为高级架构师需要 10 年以上时间,其典型特征是“创造新的架构模式”,例如:高级架构师与中级架构师相比,典型区别在于“创造性”,高级架构师能够创造新的架构模式,开创新的技术潮流。
此阶段必备的知识:技术演进方向【作者:李云华,《从0开始学架构师》作者】