资深大牛分享:一个合格的Java程序员如何成长为优秀的架构师 ...

教程大全  / 只看大图  / 倒序浏览   ©

#楼主# 2019-7-21

跳转到指定楼层

马上注册,分享更多源码,享用更多功能,让你轻松玩转云大陆。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
踽踽独行上下求索总是痛苦,假如有良师益友陪伴点拨必能事半功倍。从新手码农到高级架构师,要经过几步?要多努力,才能成为为人倚重的技术专家?本文将为你带来一张程序员发展路径图,但你需要知道的是,天下没有普适的道理,具体问题还需具体分析,实践才能出真知。
u3tHHyUHIt33hzHs.jpg

我认为,架构师的内功主要包含三部分:判断力、执行力、创新力,简单解释如下:
判断力:能够精确判断系统的复杂度在哪里,就像武侠高手一样,能精确地看出对手的破绽和弱点。
执行力:能够使用合适的方案处理复杂度问题,就像武侠高手一样,能选择合适的招式或方法打败对手。
创新力:能够创造新的处理方案处理复杂度问题,就像武侠世界里,小一些的创新是创新招式,而武学宗师能够创建新的武学或心法,例如张三丰创建太极拳一样。
因而,要成为一个优秀的架构师,就需要不断地提升自己这几方面的内功,而这三方面的能力主要来源于经验视野思考
经验:设计过的系统越多、系统越复杂,架构师的内功也就越强,不管是成功的架构,还是失败的架构,不管是踩坑的经验,还是填坑的经验,都将成为架构师内功的一部分。
视野:掌握的知识和技能越多、越深,架构师的内功也就越强,他山之石可以攻玉,站在巨人的肩膀上会看的更高更远。
思考:经验和视野都是外部输入,相似于我们吃的食物,但光吃还不行,还要消化,将其变为我们自己的营养,这就是思考的作用。思考能够将经验和视野中的模式、判断、选择、技巧等提炼出来为我所用,思考也能促使我们产生新的创意和灵感。
结合上面的分析,从程序员到架构师的成长之路,总的指导原则是:积累经验,拓宽视野,深度思考。按照这个总的原则为指导,接下来我们看看从程序员到架构师的成长过程中,具体如何实践。
合格的工程师需要 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 小时的练习,我认为技术人员成长也基本遵循这个定律,最关键的还是技术人员对技术的热情以及持续不断地投入,包括学习、实践、思考、总结等。
接下来为大家提炼一条通用的成长路径供你参考
hQxuqsuw8sgDSgGg.jpg


dSyxmlbKY3bkLS45.jpg

无论你在哪里。技术的提高都是靠自己。现在是互联网时代,即便你在深山,你依然与世界同步。
想要学习以上课程
想要学习以上课程同学可以加Java群:1017599436就可免费获取以上内容资料​
(假如你想跳槽换工作 但是技术又不够 或工作上遇到了
瓶颈 我这里有一个JAVA的免费直播课程 讲的是高端的知识点
基础不好的误入哟 只需你有1-5年的开发经验
可以加Java群:1017599436,找我要课堂链接 注意:是免费的 没有开发经验误入哦)
1、具有1-5工作经验的,面对目前流行的技术不知从何下手,
需要突破技术瓶颈的。
2、在公司待久了,过得很安逸,
但跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪的。
3、假如没有工作经验,但基础非常扎实,对java工作机制,
常用设计思想,常用java开发框架掌握熟练的。
4、觉得自己很牛B,一般需求都能搞定。
但是所学的知识点没有系统化,很难在技术领域继续突破的。
6.阿里Java高级大牛直播讲解知识点,分享知识,
多年工作经验的梳理和总结,带着大家全面、
科学地建立自己的技术体系和技术认知!
就以这段话共勉吧。越努力、越幸运,假如你不是官二代、富二代、红二代,那么请记住:勤奋才是改变你命运的唯一捷径。

作者:leonardc
来源:CSDN
原文:http://blog.csdn.net/leonardc/article/details/89555839
版权公告:本文为博主原创文章,转载请附上博文链接!
分享淘帖
回复

使用道具

您的回复是对作者最大的奖励

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于作者

Foever丶yang

新手猿

  • 主题

    3

  • 帖子

    3

  • 关注者

    0

Archiver|手机版|小黑屋|云大陆 | 赣ICP备18008958号-4|网站地图
Powered by vrarz.com!  © 2019-2020版权所有云大陆