一个合格的Java程序员如何成长为优秀的架构师_极悦注册
专注Java教育14年 全国咨询/投诉热线:444-1124-454
极悦LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 一个合格的Java程序员如何成长为优秀的架构师

一个合格的Java程序员如何成长为优秀的架构师

更新时间:2019-09-20 13:52:00 来源:极悦 浏览2229次

 

 

  我认为,架构师的内功主要包含三部分:判断力、执行力、创新力,简单解释如下:

 

  判断力:能够准确判断系统的复杂度在哪里,就像武侠高手一样,能准确地看出对手的破绽和弱点。

 

  执行力:能够使用合适的方案解决复杂度问题,就像武侠高手一样,能选择合适的招式或者方法打败对手。

 

  创新力:能够创造新的解决方案解决复杂度问题,就像武侠世界里,小一些的创新是创新招式,而武学宗师能够创立新的武学或者心法,例如张三丰创立太极拳一样。

 

  因此,要成为一个优秀的架构师,就需要不断地提升自己这几方面的内功,而这三方面的能力主要来源于经验、视野、思考。

 

  经验:设计过的系统越多、系统越复杂,架构师的内功也就越强,不管是成功的架构,还是失败的架构,不管是踩坑的经验,还是填坑的经验,都将成为架构师内功的一部分。

 

  视野:掌握的知识和技能越多、越深,架构师的内功也就越强,他山之石可以攻玉,站在巨人的肩膀上会看的更高更远。

 

  思考:经验和视野都是外部输入,类似于我们吃的食物,但光吃还不行,还要消化,将其变为我们自己的营养,这就是思考的作用。思考能够将经验和视野中的模式、判断、选择、技巧等提炼出来为我所用,思考也能促使我们产生新的创意和灵感。

 

  结合上面的分析,从程序员到架构师的成长之路,总的指导原则是:积累经验,拓宽视野,深度思考。按照这个总的原则为指导,接下来我们看看从程序员到架构师的成长过程中,具体如何实践。

 

  合格的工程师需要1~3年时间,其典型特征是“在别人的指导下完成开发”。工程师阶段是最原始的“基础技能积累阶段”,主要积累基础知识,包括编程语言、编程工具、各类系统的基本使用。

 

  高级工程师需要2~5年时间,其典型特征是“独立完成开发”,包括需求分析、方案设计、编码实现,其中需求分析和方案设计已经包含了“判断”和“选择”,只是范围相对来说小一些,更多是在已有架构下进行设计。

 

  从普通工程师成长为高级工程师,主要需要“积累方案设计经验”,简单来说就是业务当前用到的相关技术的设计经验。包括:表设计经验、缓存设计经验、业务流程设计经验、接口设计经验等。当接到一个业务需求的时候,高级工程师能够组合这些设计经验,最终完成业务需求。

 

  技术专家需要4~8年时间,其典型的特征是“某个领域的专家”,通俗地讲,只要是这个领域的问题,技术专家都可以解决。

 

  从高级工程师成长为技术专家,主要需要“拓展技术宽度”,因为一个“领域”必然会涉及众多的技术面。要成为一个Java开发专家,需要掌握Java多线程、JDBC、Java虚拟机、面向对象、设计模式、Netty、Elasticsearch、Memcache、Redis、MySQL等众多技术。

 

  初级架构师需要5~10年时间,其典型特征就是能够“独立完成一个系统的架构设计”,可以是从0到1设计一个新系统,也可以是将架构从1.0重构到2.0。初级架构师负责的系统复杂度相对来说不高,例如后台管理系统、某个业务下的子系统、100万PV量级的网站等。

 

  初级架构师和技术专家的典型区别是:架构师是基于完善的架构设计方法论的指导来进行架构设计,而技术专家更多的是基于经验进行架构设计。简单来说,即使是同样一个方案,初级架构师能够清晰地阐述架构设计的理由和原因,而技术专家可能就是因为自己曾经这样做过,或者看到别人这样做过而选择设计方案。

 

  从技术专家成长为初级架构师,最主要的是形成自己的“架构设计方法论”

 

  中级架构师需要8年以上时间,其典型特征是“能够完成复杂系统的架构设计”,包含高性能、高可用、可扩展、海量存储等复杂系统,例如设计一个和Kafka性能匹敌的消息队列系统、将业务改造为异地多活、设计一个总共100人参与开发的业务系统等。中级架构师与初级架构师的典型区别在于系统复杂度的不同。

 

  从初级架构师成长为中级架构师,最关键的是“技术深度和技术理论的积累”

 

  高级架构师需要10年以上时间,其典型特征是“创造新的架构模式”

 

  高级架构师与中级架构师相比,典型区别在于“创造性”,高级架构师能够创造新的架构模式,开创新的技术潮流。

 

  关于如何在专业领域内提升,有条著名的“10000小时定律”,简单来说要成为某个领域顶尖的专业人才,需要持续不断10000小时的练习,我认为技术人员成长也基本遵循这个定律,最关键的还是技术人员对技术的热情以及持续不断地投入,包括学习、实践、思考、总结等。

 

  接下来为大家提炼一条通用的成长路径供你参考

工程.png

分布.png

微服.png

性能.png

源码.png

QQ截图20190801094801.png

  以上就是极悦java培训机构小编为大家介绍的“一个合格的Java程序员如何成长为优秀的架构师?”的内容,希望对大家有帮助,更多java资讯请继续关注极悦java培训机构官网,每天会有精彩内容分享与你。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>