本文作者:陈睿|mikechen,优知学院创始人
这是架构师系列的第二篇文章
前文谈到架构师核心技能架构设计的重要性,如果你对架构师这个职位从技能的角度有比较清晰的认识,本篇文章将为你继续揭示架构师这个职位的成长周期。
在国内架构师需要多年的实战经验和个人修炼,一名优秀的架构师,离不开个人的努力和公司的机遇,挑战和机遇并存。
首先,架构师大部分人的成长都是伴随公司的发展需要从而演变而来,需要大量时间的实践以及不断的经验积累。
结合企业架构师的需求,以及我个人的架构实际经验,我把架构师的成长分为如下四个必经之路:
1 架构师胚胎(程序员)
工作年限1-3年左右,掌握程序相关的基础知识:语言编程开发、基本的数据结构、基本的算法掌握、对熟练使用常用的语言开发环境:java、c#、c++、go、groovy、php、python等相关的开发环境、基本的数据库知识(还到不了性能调优)、基础的设计模式(eg:工厂模式等 )、常用的通讯协议等。
2、架构师萌芽(高级程序员)
工作年限一般3-5年,如果你做研发超过了5年还是处于重复搬砖的节奏,还没有考虑代码效率以及避免重复造轮的情况,还不能算到高级。
这个阶段需要掌握的知识,比如:掌握更多的设计模式、操作系统原理、分布式系统原理、常见的性能调优方案:数据库端(事务超时、索引如何优化、高效sql等)、应用端、web端(静态分离怎么做)等、高并发基础场景..
3、架构师幼苗
工作超过5年,身经百战的同时,我的标准是必须参与过至少一次中、大型项目,这个阶段你还不能完全操盘一个大项目的架构设计,但至少对整个架构设计整体有一定的了解,比如:单点登录、分布式缓存的场景、异步消息场景…典型的基础架构设计怎么实现。以及从理论的角度,透彻领会应用设计模式、JVM的原理、listener、filter等为什么要这样设计…有一定的洞察力,有兴趣深入去了解技术的核心原理。
4、架构师
如果你经历了上述3个步骤阶段的项目操练,如果在这个阶段,你能独自带队操盘一个中型、大型项目的架构设计,并且从架构设计的角度:效率、可维护性、可扩展、容错…能胜任这个项目并且成功上线,这是一个标志性的架构师节点,独立胜任中、大型项目架构设计操盘手。
架构师是很多技术人的职业目标,好的架构师来源于机遇(公司)、个人努力(吃得苦、肯专研)、天分(真的热爱)的三者协作的结果,实践+机遇+努力才能助你成为优秀的架构师。