从 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,喜欢编程,有梦想成为架构师的程序员们,希望能够帮助到你们!

八年 Java 老鸟,写给 1-3 年程序员的几点建议,满满硬货指导相关推荐

  1. i love java怎么写编程_专属于程序员的浪漫-Java输出动态闪图iloveyou

    代码测试可用使用的,运行结果非常辣眼睛,有种二十一世纪初流行于广大中小学生之间的失落非主流的感觉! 还是比较有参考网上卖的,获取当前日期时间,日期类格式化,图形界面的开发等. java awt实现小程 ...

  2. android开发浏览器!写给1-3年安卓程序员的几点建议,聪明人已经收藏了!

    前言 作为一个程序员,如果你在新知识.新技术面前仍一无所知,依然吃着十多年前的老本,那你在知识技术上肯定落伍,如果又未能进入管理层面,那你肯定就会被长江的后浪拍在沙滩上了. 而不少与时俱进.善于学习的 ...

  3. 写给1-3年安卓程序员的几点建议,内容太过真实

    开头 相信大多数互联网的从业者都有着这样一个梦想:进大厂,获得丰厚的薪酬,和更优秀的人一起共事,在技术上获得更快的成长. **然而部分人其实一直都陷入了"穷忙"的困局,觉得自己每天 ...

  4. 写给新入行程序员的10条建议

    1. 想清楚,再动手写代码 刚入行的新手,为了展示自己的能力,拿到需求迫不及待地就开始上手写代码,大忌! 2. 不交流,就会头破血流 不爱说话和沟通,需求都理解错误了,最后做出来才发现,只能加班返工. ...

  5. 安卓软件开发基础教学!写给1-3年安卓程序员的几点建议,跳槽薪资翻倍

    前言 这份Android面试真题涵盖了图片,网络和安全机制,网络,数据库,插件化.模块化.组件化.热修复.增量更新.Gradle,架构设计和设计模式,Android Framework .Androi ...

  6. java双引号的转义字符_好程序员Java教程分享常见的转义字符

    原标题:好程序员Java教程分享常见的转义字符 好程序员Java教程分享常见的转义字符,在Java字符常量中,反斜杠(\)是一个特殊的字符,被称为转义字符,它的作用是用来转义后面一个字符.转义后的字符 ...

  7. Java程序员的职业生涯规划建议

    Java程序员的职业生涯规划建议 第一部分:零基础或基础薄弱的同学 这部分主要适用于尚未做过Java工作的同学,包括一些在校生以及刚准备转行Java的同学. 一.Java基础 首先去找一个Java的基 ...

  8. 精通C语言Java怎么样_作为一个优秀的程序员,真的需要精通C语言吗?

    从事嵌入式开发多年,使用C语言开发已经超过十个年头,除了C语言还用C++,java,python做过项目,程序员的优秀编程语言仅仅占据一部分,而且也不会只是针对C语言,现在很多的编程高手也不懂的C语言 ...

  9. python是c语言写的吗-先学C语言还是Python?资深程序员往往是这样建议的!

    编程是一门手艺, 学习编程首先要有目的,w3cschool先带大家了解一下自己需要学习什么吧! 0.学一门语言 其实学什么语言都可以,因为语言都是互通的,C语言也好, 对于初学者来说,Python 也 ...

  10. AI可以写软件了,所以程序员要下岗?

    文章讲的是AI可以写软件了,所以程序员要下岗,早在1990年,便有人提出创建会学习的软件的想法,很多电影中也有机器人自我进化,最后妄想统治世界的剧情,自从AlphaGo打败李世石之后,人工智能,深度学 ...

最新文章

  1. 【风之语】至贱城市之苏州
  2. Python命令行补全设置
  3. linux下JDK的安装
  4. ORACLE系列异常总结ORA
  5. 浏览器预连接性能测试
  6. python线下课程厦门_厦门python课程
  7. python测试用例管理模块_python-selenium并发执行测试用例(方法一 各模块每一条并发执行)...
  8. LVS负载均衡-NET、DR模式配置
  9. PHP实现前台页面与MySQL的数据绑定、同步更新
  10. 查询 oracle_ORACLE数据库查询语句
  11. ASP.NET Web API 入门 (API接口、寄宿方式、HttpClient调用)
  12. 防止浏览器嗅探音视频--blob对象在audio和video标签中的使用
  13. 手把手教你软件著作权申请(全流程)(不花一分冤枉钱)
  14. 使用MATLAB进行多元非线性回归拟合预测
  15. MATLAB机器人工作空间三轴机器人scara
  16. 制作 macOS High Sierra 正式版 USB 启动盘的方法 (亲测可用)
  17. 计算机如何安装无线网络适配器,无线网卡驱动怎么安装?电脑无线网卡驱动2种安装方法...
  18. 成就更好的自己,就是不停地做减法
  19. C++ 重载左移运算符
  20. 求求大佬救救孩子吧。按照书上敲的python爬取百度网盘权利的游戏案例,结果报错,其他都不报错,生成的txt文件也没有内容

热门文章

  1. 牛客寒假基础集训营 | Day1 D题—hanayo和米饭
  2. 创建Oracle数据库和表
  3. 黑客利用SSH弱密码攻击控制Linux服务器,潜在目标约十万IP天
  4. 【原创】Visio软件绘图功能极佳----记我的第一次Visio软件绘制时序图
  5. 吃鸡ios和android灵敏度,2021吃鸡最佳灵敏度
  6. 写给大忙人看的_软件测试简历范文
  7. 网易云课堂---布尔教育《8小时学会html》 笔记
  8. CentOS 安装Vim 编辑器
  9. 【转】ASCII码十进制、十六进制对照表
  10. php海报/合同图片生成类