JAVA程序员,4年了,迷茫了,希望由前辈可以给指出一个技术路线5年左右程序员必须要掌握的知识技能树?
在程序界流行着一种默认的说法叫“黄金5年”,也就是一个程序员从入职的时候算起,前五年的选择直接影响着整个职业生涯中的职业发展方向和薪资走向,如何走好这5年,彻底从一个刚入行的菜鸟蜕变成可以以不变应万变的职业大牛,这是一个涉及到自身专业知识储备和选择的大难题,那么,这五年里,一个Java程序员如何做才能完成从入行到大牛的晋升之路呢?
参加工作0-1年之间,Java程序员必须要做得事儿
当你学会了Java的基础知识以后,你还不足以参加工作,你还需要继续深造。你必需要学会Java开发框架。公司里为了提高开发的效率,会使用一些Java Web框架。目前比较主流的是SSM框架,即spring、springmvc、mybatis。你需要学会这三个框架的搭建,并用它们做出一个简单的增删改查的Web项目。你可以不理解那些配置都是什么含义,以及为什么要这么做,这些留着后面你去了解。
但你一定要可以快速的利用它们三个搭建出一个Web框架,你可以记录下你第一次搭建的过程,在搭建的过程中,也可以顺便了解一下maven的知识。在你目前这个阶段,你只需要在网络上了解一下maven基本的使用方法即可,一些高端的用法随着你工作经验的增加,会逐渐接触到的。
参加工作1-2年之间,Java程序员必须要做得事儿
这部分时间段的同学,已经对Java有了一个更加深入的了解。这一年,你必须对于设计模式了如指掌,此外,设计模式并不是你这一年唯一的任务,你还需要看一些关于代码编写优化的书。总而言之,这个阶段,你的核心任务就是提高你的代码能力,要能写出一手优雅的代码。
另外,在过去2年的工作当中,你肯定或多或少接触过并发。这个时候,你应该去更加深入的了解并发相关的知识,与此同时,这个阶段你要做的事情还远不止如此。这个时候,你应该对于你所使用的框架应该有了更深入的了解,对于Java的类库也有了更深入的了解。因此,你需要去看一些JDK中的类的源码,也包括你所使用的框架的源码。总而言之,这个阶段,你需要做的是深入了解Java底层和Java类库,也就是JVM和JDK的相关内容。而且还要更深入的去了解你所使用的框架,方式比较推荐看源码或者看官方文档。
参加工作3-4年之间,Java程序员必须要做得事儿。
这个阶段的同学,提升已经是很难了,而且这个阶段的学习往往会比较多样化。因为在前3年的过程中,你肯定或多或少接触过一些其它的技术,比如大数据、分布式缓存、分布式消息服务、分布式计算、软负载均衡等等。这些技术,你能精通任何一项,都将是你未来面试时巨大的优势,因此如果你对某一项技术感兴趣的话,这个时候可以深入去研究一下。这项技术不一定是你工作所用到的,但一定是相关的。
参加工作4-5年之间,Java程序员必须要做得事儿。
参加工作4年到5年的同学,相信你在自己所钻研的领域已经有了自己一定的见解,这个时候,技术上你应该已经遇到瓶颈了。这个时候不要着急提高自己的技术,已经是时候提高你的影响力了,你可以尝试去一些知名的公司去提高你的背景,你可以发表一些文章去影响更多的人。当然,你也可以去Github创建一个属于你的开源项目,去打造自己的产品。技术学到这个阶段,很容易遇到瓶颈,而且往往达到一定程度后,你再深入下去的收效就真的微乎其微了,除非你是专门搞学术研究的。然而很可惜,大部分程序猿做不到这一步,那是科学家做的事情。这个时候提高影响力不仅仅是因为技术上容易遇到瓶颈,更多的是影响力可以给你创造更多的机会。所以,在这个阶段,你最大的任务是提高自己的影响力,为自己未来的十年工作生涯那一天做准备
具有一到五年开发经验的Java程序员必须要掌握的内容列举到以下:
设计模式
设计模式是可复用面向对象软件的基础,学习设计模试是每个程序员从菜鸟走向大神的必经之路,巧妙地运用设计模式可以使我们的代码看似复杂实际简洁、复用性更高、更容易被别人理解等好处,同时也是学习软件工程的基础和必然。
深入内核,直击故障,拒绝蒙圈
开源框架解析篇
站在巨人肩膀,收获不一样的视野
高性能架构篇
成为互联网架构师,你要的都在这里
微服务架构篇
你还不知道微服务?那怎么加(zhuang)薪(bi)
团队协作开发篇
让你的团队开发效率提高十倍
B2C商城项目实战
撸起袖子干实事,项目经验那点事

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
RocketMQ概念详细之Producer
发送状态 当你发送一个消息,你将会获得包含SendStatus的SendResult。首先,我们假设消息 isWaitStoreMsgOK=true(默认true)。如果没有,我们会得到 SEND_OK,没有异常抛出的话。下面是每个状态的描述列表: FLUSH_DISK_TIMEOUT 如果broker设置 MessageStoreConfig’s 的 FlushDiskType=SYNC_FLUSH(默认ASYNC_FLUSH),在MessageStoreConfig’s 的syncFlushTimeoutbroker(默认5秒)内没有完成刷盘,你会获得此状态。 FLUSH_SLAVE_TIMEOUT 如果broker的角色是SYNC_MASTER(默认ASYNC_MASTER),在MessageStoreConfig’s 的syncFlushTimeoutbroker(默认5秒)内从Broker没有完成与主同步,你会获得此状态。 SLAVE_NOT_AVAILABLE 如果broker的角色是SYNC_MASTER(默认ASYNC_MASTER),但是配置的从Broker不存在,你...
- 下一篇
11月2日云栖精选夜读 | 33种经典图表类型总结,轻松玩转数据可视化
随着时代的发展,越来越多的数据量堆积,然而这些密密麻麻的数据的可读性较差并且毫无重点,而数据可视化更加直观有意义,更能帮助数据更易被人们理解和接受。 因此运用恰当的图表实现数据可视化非常重要,本文归结图表的特点,汇总出一张思维导图,帮助大家更快地选择展现数据特点的图表类型。 热点热议 33种经典图表类型总结,轻松玩转数据可视化 作者:技术小能手发表在:数据分析 分享我如何在7年时间里成长为阿里Java架构师(附学习路线图) 作者:技术小能手发表在:互联网架构师 面对电车难题,自动驾驶交了一张白卷 作者:技术小能手发表在:大数据文摘 知识整理 C和Go相互调用 作者:技术小能手发表在:Golang语言社区 Spring框架教程集合 作者:技术小能手发表在:Java杂记 Tensorflow系列专题(四):神经网络篇之前馈神经网络综述 作者:技术小能手发表在:磐创AI 一文深入理解 JNI实现机制 作者:技术小能手发表在:安卓巴士Android开发者门户 多种方法爬取猫眼电影并分析(附代码) 作者:技术小能手发表在:Python中文社区 美文回顾 Java反射-高级开发必须懂的 作者:技术...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- 设置Eclipse缩进为4个空格,增强代码规范