从 13年毕业到现在也从业八年了,普通本科毕业,现在一家互联网公司担任 Java 部门总监,摸爬打滚,坑坑洼洼也经历了不少。思绪很久决定还是写下这篇,希望对后进的小伙子少走一点弯路。

很多人把职场想得太美好,其实不然。如果你没有规划好,你就会难免遇到各种各样的问题:工作不开心;没有前进的动力;工作不是自己想像的那么好;自己的才能无法发挥;看到以前的同学待遇如何如何,便受不了刺激,急切地想跳槽;当初为了生存而找的工作,根本就不适合自己……

这些问题通常会在步入职场的 1-3 年之内最明显(3 年之后之所以不明显,是因为你已经被现实折磨得太久了,已经被种种不平现象同化了,因此也就习惯了。你曾经的种种抱负被现实碾得粉碎。于是,你也从一个志向远大的年轻人一下子变成了一个碌碌无为、甘于平庸、成天为了生计而奔走的普通打工者)。如果不及早解决这些问题,那么,你就会荒废这 3 年的时间(有的人可能会更长),而对于一个职场新人来说,这 3 年至关重要,是锻炼能力、积累资本的黄金 3 年!一旦错过,则要花费更多的时间,从头再来,重新弥补!更有甚者,可能一辈子都无法弥补!这绝对不是危言耸听!

为什么要清楚自己的目标?因为,有了目标,才有行动的指南。知道自己想干什么,喜欢干什么,这才是你前进的最终动力。工作不开心、动力不足、盲目跳槽的最根本原因是职业目标不清晰。

作为 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 年的过程中,你肯定或多或少接触过一些其它的技术,比如大数据、分布式缓存、分布式消息服务、分布式计算、软负载均衡等等。这些技术,你能精通任何一项,都将是你未来面试时巨大的优势,因此如果你对某一项技术感兴趣的话,这个时候可以深入去研究一下。这项技术不一定是你工作所用到的,但一定是相关的。

分布式架构思维

分布式协调分流

异步与消息中间件

缓存和 NoSQL

高可用数据存储

分布式场景解决方案

海量数据下的性能调优

参加工作 4-5 年之间,Java 程序员必须要做得事儿

参加工作 4 年到 5 年的同学,相信你在自己所钻研的领域已经有了自己一定的见解,这个时候,技术上你应该已经遇到瓶颈了。这个时候不要着急提高自己的技术,已经是时候提高你的影响力了,你可以尝试去一些知名的公司去提高你的背景,你可以发表一些文章去影响更多的人。当然,你也可以去 Github 创建一个属于你的开源项目,去打造自己的产品。技术学到这个阶段,很容易遇到瓶颈,而且往往达到一定程度后,你再深入下去的收效就真的微乎其微了,除非你是专门搞学术研究的。然而很可惜,大部分程序猿做不到这一步,那是科学家做的事情。这个时候提高影响力不仅仅是因为技术上容易遇到瓶颈,更多的是影响力可以给你创造更多的机会。所以,在这个阶段,你最大的任务是提高自己的影响力,为自己未来的十年工作生涯那一天做准备。

项目实战

以上就是作为 Java 程序员前五年你必须要去努力达到的,这是一个路线提升的方向,更加详细的路线图这里没办法展现出来,如果需要可以文末免费领取

Java 高级工程师核心面试 1080 题解析

Java 高级架构核心面试解析整理

Java 面试知识点笔记整理

领取资料只需要点赞关注后【戳这里】免费获取资料!

分享给喜欢Java,喜欢编程,有梦想成为架构师的程序员们,希望能够帮助到你们!