我把程序员到架构师的技术成长之路分为几个典型的阶段:工程师 - 高级工程师 - 技术专家 - 初级架构师 - 中级架构师 - 高级架构师,总的成长原则是每个阶段都需要“积累经验、拓宽视野、深度思考”。今天我将结合我的专栏《从0开始学架构》,跟你聊聊不同阶段具体如何实践才能更高效。
工程师阶段
工程师阶段是最原始的“基础技能积累阶段”,主要积累基础知识,包括编程语言、编程工具、各类系统的基本使用。工程师阶段需要积累的经验和技能有:
此阶段必备知识:
高级工程师
从普通工程师成长为高级工程师,主要需要积累方案设计经验并能独立完成开发,包括需求分析、方案设计、编码实现,其中需求分析和方案设计已经包含了“判断”和“选择”,只是范围相对来说小一些,更多是在已有架构下进行设计。比如对于存储技术来说,需要掌握:
此阶段必备知识:
技术专家
从高级工程师成长为技术专家,主要需要“拓展技术宽度”,因为一个“领域”必然会涉及众多的技术面。以 Java 后端开发为例,要成为一个 Java 开发专家,需要掌握 Java 多线程、JDBC、Java 虚拟机、面向对象、设计模式、Netty、Elasticsearch、Memcache、Redis、MySQL 等众多技术。对于技术专家来讲,需要宽广的技术面,比如对于开源项目,需要深入了解:
此阶段必备知识:
初级架构师
能够独立完成一个系统的架构设计,可以是从 0 到 1 设计一个新系统,也可以是将架构从 1.0 重构到 2.0。架构师是基于完善的架构设计方法论的指导来进行架构设计,而技术专家更多的是基于经验进行架构设计。专栏给出了完整的架构设计方法论,你可以参考:
此阶段必备知识:
中级架构师
能够完成复杂系统的架构设计,包含高性能、高可用、可扩展、海量存储等复杂系统,例如设计一个和 Kafka 性能匹敌的消息队列系统、将业务改造为异地多活、设计一个总共 100 人参与开发的业务系统等。比如对于高可用架构来说,专栏涵盖了存储高可用、计算高可用和业务高可用等内容。
此阶段必备知识:
高级架构师
成长为高级架构师需要 10 年以上时间,其典型特征是“创造新的架构模式”,例如:
高级架构师与中级架构师相比,典型区别在于“创造性”,高级架构师能够创造新的架构模式,开创新的技术潮流。
此阶段必备知识:
专栏简介:
每个程序员都有成为架构师的梦想,程序员成长也绕不开架构设计。
《从 0 开始学架构》专栏作者是资深技术专家李运华,目前带领多个研发团队,承担架构设计、架构重构、技术团队管理、技术培训等职责,曾就职于华为和 UCWeb,写过《面向对象葵花宝典》一书。
在专栏中,作者从架构基础、三大架构模式和实战的角度分享一整套架构设计方法论。照着做,你也能成为架构师。
专栏共 50 期,已更新完毕。目前有超过 3 万人加入学习,互动留言字数超过 20 万。期待你的加入!点击这里试看或订阅《从0开始学架构》
评论