别再问我“阿里架构师和普通程序员的区别了!”看完这篇文章之后你就知道自己差在哪了!
总听到有开发者谈论这个问题,我相信是不少人的痛点:
作为一名普通的开发者,看到别人不是进阿里就是当高管。心里难免有一些艳羡,不甘于现状。想上进的心思是强烈的,却不知道到底该选择什么样的技术深入学习。
这个问题主要是开发者的发展方向问题,在我看来解决这个问题一般有以下 4 种方向:
基于产品本身
要记住公司招人是解决问题的,基于现有问题出发,大家一般心里会有一个大致的解决方案,而这个解决方案通常是由若干种技术组合而成。
比如说,当单机遇到性能瓶颈而单纯升级硬件的成本太高时,我通常会选择分布式技术,而分布式之下又有 zookeeper、dubbo 等具体技术。
总而言之,针对性地学习比“多而不精”好得多,好钢使在刀刃上。
现有技术的拓展
如果你是开发者,你一定有在用某种技术了。那么想深入学习,最行之有效的办法就是深入现有的技术,并进行拓展学习,形成自己的技术栈。
比如我现在在做视频编解码,那像 ffmpeg 、OpenH264、WebRTC 等等,都可以学。
一段时间后,你会发现自己也能独当一面。
市场需求状况
大部分人都不能免俗,如果你想赚钱,得到更好的发展,可以根据市场需求选择自己的学习方向。
比如现在人工智能的需求较多,前景不错,那你就可以选择 Python、TensorFlow 等。
无论是选择运用最为广泛的 Java 还是在人工智能方面表现不俗的 Python,或者其他语言,都要深思熟虑,一旦决定,绝不轻易回头。
兴趣爱好驱动
如果你有感兴趣的技术,那跟着兴趣走就好了,兴趣是最好的老师。
无论你最终选择哪个方向,何种技术,最重要的还是坚持不懈,只有持续不断的学习、实践,才能让你真正精通某种技术。
我在这里也给那些想拔高自己的高度却不知道如何选择方向的程序员们提供一份进阶路线图,主要针对 1 到 5 年及以上工作经验的 Java 开发人员,从广度到深度来说还算比较全面的,里面的技术包涵了 Java 高并发、分布式、微服务、源码分析、高性能等技术,这些也是目前互联网企业比较常用的技术,那么来详细看看。(图片可以保存)
一:常见模式与工具
学习 Java 技术体系,设计模式,流行的框架与组件
常见的设计模式,编码必备 Spring5,做应用必不可少的最新框架 MyBatis,玩数据库必不可少的组件
二:工程化与工具
工欲善其事必先利其器,不管是小白,还是资深开发,玩 Java 技术体系,选择好的工具,提升开发效率和团队协作效率,是必不可少的:
Maven,项目管理 Jenkins,持续集成 Sonar,代码质量管理 Git,版本管理
三:分布式架构
高并发,高可用,海量数据,没有分布式的架构知识肯定是玩不转的:
分布式架构原理分布式架构策略分布式中间件分布式架构实战
四:微服务架构
业务越来越复杂,服务分层,微服务架构是架构升级的必由之路,Java 技术体系,和微服务相关的技术有哪些呢?
微服务框架 Spring CloudDocker 与虚拟化微服务架构
五:性能优化
任何脱离细节的 ppt 架构师都是耍流氓,向上能运筹帷幄,向下能解决一线性能问题,Java 技术体系,需要了解:
性能指标体系 JVM 调优 Web 调优 DB 调优
六:底层知识
从架构设计,到应用层调优,再深入了解底层原理,扎实的 Java 基本功才能让自己变为扫地神僧:
内存模型并发模式线程模型锁细节
以上是自己收集总结的 Java 架构技术图谱,自己因为比较喜欢技术,所以收集了一些 Java 高并发、分布式、JVM、spring、源码分析和 kafka 等架构技术资料,如果你也对技术感兴趣麻烦一键三连+评论,然后添加 VX(tkzl6666)即可免费领取
分享给喜欢 Java,喜欢编程,有梦想成为架构师的程序员们,希望能够帮助到你们。
评论 (1 条评论)