一般来说技术团队的金字塔顶尖往往是技术最牛的人做架构师(或TL)。所以架构师在广大码农中的占比大概平均不到 20%。而架构师也可以分为初级、中级、高级,江湖上真正高水平的架构师就更少了。
所以,80%码农干上许多年,还是做不了架构师,正在辛苦工作的程序员们,你有没有下面几种感觉?
①我的工作就是按时完成领导交给我的任务,至于代码写的怎样,知道有改进空间,但没时间去改进,关键是领导也不给时间啊。
②我发现我的水平总是跟不上技术的进步,有太多想学的东西要学,Swoft用的人最近比较多啊,听说最近Swoole比较火,还有微服务,听说PHP又更新了……
③我发现虽然我工作5年了,除了不停的Coding写业务代码,Ctrl+c和Ctrl+V更熟练了,但编码水平并没有提高,还是一个普通程序员,但有人已经做到架构师了。
④工作好几年了,想跳槽换个高薪工作,结果面试的考官都问了一些什么数据结构,什么垃圾回收,什么并发架构、协程编程之类的东西,虽然看过,但是平时用不着,看了也忘记了,回答不上来,结果面试官说我基础太差……
如果有以上问题,那么你绝对进入学习误区走了弯路;如果我们要成为架构师,我们自己要面临的三大问题:
找准定位:我是谁、我在哪里?
怎样做好架构师:我要做什么?
如何搭建架构师知识体系:我该怎么做?
我在这里给那些想达到这个高度甚至想往架构师发展的程序员提供一份进阶路线图,主要针对2到5年及以上工作经验的Java开发人员,从广度到深度架构图还比较全面的,里面的技术包涵了Java高并发、微服务、源码分析、源码分析、高性能、分布式等技术,这些也是目前互联网企业比较常用的技术,那么来详细看看。
一:常见模式与工具
学习Java技术体系,设计模式,流行的框架与组件
—— 常见的设计模式,编码必备, Spring5,做应用必不可少的最新框架,MyBatis,玩数据库必不可少的组件......
二:工程化与工具
工欲善其事必先利其器,不管是小白,还是资深开发,玩Java技术体系,选择好的工具,提升开发效率和团队协作效率,是必不可少的:
Maven,项目管理
Jenkins,持续集成
Sonar,代码质量管理
Git,版本管理
三:分布式架构
高并发,高可用,海量数据,没有分布式的架构知识肯定是玩不转的:
分布式架构原理
分布式架构策略
分布式中间件
分布式架构实战
四:微服务架构
业务越来越复杂,服务分层,微服务架构是架构升级的必由之路,Java技术体系,和微服务相关的技术有哪些呢?
微服务框架
Spring Cloud
Docker与虚拟化
微服务架构
五:性能优化
任何脱离细节的ppt架构师都是耍流氓,向上能运筹帷幄,向下能解决一线性能问题,Java技术体系,需要了解:
性能指标体系
JVM调优
Web调优
DB调优
六:底层知识
从架构设计,到应用层调优,再深入了解底层原理,扎实的Java基本功才能让自己变为扫地神僧:
内存模型
并发模式
线程模型
锁细节
七:项目实战
无需赘述,如果没有实战经验,如何成为一名架构师?
以上七大知识体系是我从业多年总结出来的经验,都是当前最主流的技术。如果对Java分布式、工程化、高并发、微服务,JVM等技术感兴趣的可以加我的架构群 705127209,里面有阿里大牛,大家一起交流分享经验。
那如何学习呢,有没有免费资料?
Java架构进阶资源
分析源码
分布式架构
性能优化
Java面试避坑指南
Java面试题集锦
可以加我架构圈子群:705127209 领取资料,群内每天更新资料,免费领取。
以上内容分享给喜欢编程,有梦想成为架构师的程序员们,希望能够帮助到你们。
网友评论