一个资深Java程序员从码农到大牛的进阶之路

一个资深Java程序员从码农到大牛的进阶之路

在未来,我们享受良好的服务的同时,也会为别人提供更良好的服务,需要在技能上还是服务质量上的要求会更高更严格。平时要注意提高自己,不要被时代淘汰掉。

在程序界流行着一种默认的说法叫“黄金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创建一个属于你的开源项目,去打造自己的产品。技术学到这个阶段,很容易遇到瓶颈,而且往往达到一定程度后,你再深入下去的收效就真的微乎其微了,除非你是专门搞学术研究的。然而很可惜,大部分程序猿做不到这一步,那是科学家做的事情。这个时候提高影响力不仅仅是因为技术上容易遇到瓶颈,更多的是影响力可以给你创造更多的机会。所以,在这个阶段,你最大的任务是提高自己的影响力,为自己未来的十年工作生涯那一天做准备。

想学习交流HashMap,nginx、dubbo、Spring MVC,分布式、高性能高可用、redis、jvm、多线程、netty、kafka、的加群:71859422

如果你能够把每个阶段的事情做好,那么最少你的工薪够让你在一二线城市买车买房了。

下面我们挑选出几个有代表性企业对Java岗位的招聘要求来说明Java工程师职责以及所需的知识技能知识。

一、京东

初级Java工程师的岗位职责:

一个资深Java程序员从码农到大牛的进阶之路

需要具备以下知识技能:

  • 熟练掌握Java基础,熟练掌握多线程开发技术,熟悉软件开发流程;
  • 熟悉主流Java开源框架如struts、hibernate、spring;
  • 熟练掌握HTML/CSS/Javascript/jquery/Ajax;
  • 熟悉Oracle/ SQL Server/MySQL其中的一种,并能熟练编写SQL和存储过程;
  • 熟悉Linux系统,掌握Linux命令。

最课程Java就业班所学习的内容不仅包含了初级Java工程师所需要掌握的知识技能,还额外教授高级的Java技术,比如面向测试开发、JAVA企业级开发安全架构、JAVA企业级开发高性能可扩展。

二、网易

一个资深Java程序员从码农到大牛的进阶之路

简单来说,初级工程师常扮演着代码的搬运工,是螺丝刀的角色,而进阶中级Java工程师,所需要的不仅仅精通基础的知识,还有编程思想的运用以结合实际的项目的解决问题的能力和想法。

以网易中级Java工程师岗位职责为例:

根据以上的任职要求,所需要掌握的就不仅仅的知识的熟练,而是精通,精通的概念就是更加深入的研究和认识,拥有很好的问题解决能力。

对技术的要求:

  • 精通java,熟练运用SpringBoot、SpringMVC、Hibernate、Mybatis、struts、struts2等技术,能练使用JQuery或相关的JS框架,精通面向对象设计;
  • 熟悉mysql/sqlserver数据库,了解相关的数据库维护和性能优化,熟悉Tomcat、weblogic等服务器的配置与发布;
  • 全面扎实的软件知识结构(操作系统、软件工程、设计模式、数据结构、数据库系统、网络安全等);
  • 熟练SQL语句的编写;思维活跃,具备一定的软件设计能力及良好的软件工程思想;
  • 通俗来讲,中级Java工程师可以负责一个模块的开发,拥有一定的软件工程思想,可以自己解决问题。

三、百度

高级的Java工程师岗位职责

一个资深Java程序员从码农到大牛的进阶之路

高级的Java工程师是纵观全局的掌控者,这个层次很熟悉开发,有多年的开发工作经验,并且也有架构设计经验,熟悉架构理念,精通面向对象的设计思想,精通java语言,在高并发,高性能方面有相关开发经验。

转载请注明:《一个资深Java程序员从码农到大牛的进阶之路