《1-5年的JAVA程序员该怎么规划自己的职业》看完你就知道了

很多小伙伴从一踏上JAVA程序员这条路开始,总是感觉Java多线程在实际的业务中很少使用,以至于不会花太多的时间去学习,技术债不断累积!整日深陷在创造Bug和修改Bug的无限循环中,上班来得最早的是你,下班走得最晚的还是你,经常回家之后还得继续加班,偶尔遇上赶项目的时候还要在公司打地铺。但是过了几年之后却发现自己依然奋斗在开发的第一线,依然是开发团队中可有可无的一角。

相信很多人都听说过一万小时定律,即要成为某个领域的专家,需要一万小时,按比例计算就是:如果每天工作八个小时,一周工作五天,且不算上加班时间,那么成为一个大牛至少需要五年。那么很多人敲了五年的代码却还是一个码农,这到底是什么原因呢?原因就是一年的工作,你不过是重复了五年而已。

程序员职业的几个坎:

三年:

我个人认为程序员的第一个坎就是做了三年开发的人,比如说Java,这些人基本对于增删改查非常的熟练。可以应对大部分常规的项目开发,完成公司给布置的任务,这个时候就是一个标准的初级程序员。但三年之后如果还是这个样子,那这个人基本就废了。有的人会利用工作之外的空余时间来学习自己没有接触过的技术,去啃技术性书籍的底层原理。在这三年之中让自己的技术提升很多。而还有一部分程序员在这三年内的技术水平基本没有得到提升。三年后,这两批程序员的差距就会显现出来分为两个层次。

五年:

作为一个五年的程序员,项目已经做了不少。这个时候就应该往架构师或者项目经理这块发展,而不仅仅是个普通的程序员。其实我认为程序员也是一个体力工作者,每天不停的写代码,如果公司项目多,还需要不断的加班。时间久了自己的身体肯定是撑不住。所以应该给自己定一个目标,利用能用的一切时间,把自己的技术水平达到架构师的技术水平,职位的提升对于一个人的事业帮助很大。
程序员规划好自己的职业规划:

首先先给自己定一个目标,就是做这个行业要在几年内达到一个什么岗位,这是一个比较长的时间。所以我建议大家先给自己定一个薪资的目标,比如一年后跳槽达到15K。想要进入什么公司这些比较短期的目标。当我们把这些目标定下之后,就去严格的执行,在工作之余的时间来提升自己的专业技术。多去跟大神交流,毕竟有人带要比自己摸索强的多,不妨从以下几点来改变自己的工作方式:

有价值的反思总结

反思才有进步。面对重复的工作,你能不能总结出点什么,比如一个小功能的实现是否能把它模块化以便下次直接调用。每天下班前,不妨思考下今天写的代码问题所在,如何整改,是否有更高效的实现方法,然后写下来,一定要写下来,而不是想想而已。

有目的的优化代码

优化代码,实质是在提升自己。程序的正常运行,只是最基本的要求,更多的,还要考虑程序的性能,运行效率,组织结构,和重用性等等,这才是一个大牛应该具备的能力。

定期增加技能点

现代项目的开发,是一个非常复杂的构成,很少说只用到一两种技术的。所以自己的技术面更广,思考的问题更多,将会使你的职位更上一层楼。

如何提升技术、学习方法应该注意什么、以及如何才能提升薪资或者缺少比较新的Java学习资料,从现在开始,不是简单的重复1万遍,而是有目的的、有意识的、带着要给超出期望的结果,去反思、去优化、去处理。让每一行代码,每一个项目都成为是你提升自己的机会。

原文地址:https://blog.51cto.com/14257001/2412151

时间: 2024-10-09 08:53:56

《1-5年的JAVA程序员该怎么规划自己的职业》看完你就知道了的相关文章

Java程序员应该了解的10个面向对象设计原则

面向对象设计原则: 是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton.Decorator.Observer这样的设计模式,而不重视面向对象的分析和设计.甚至还有经验丰富的Java程序员没有听说过OOPS和SOLID设计原则,他们根本不知道设计原则的好处,也不知道如何依照这些原则来进行编程. 众所周知,Java编程最基本的原则就是要追求高内聚和低耦合的解决方案和代码模块设计.查看Ap

To Java程序员:切勿用普通for循环遍历LinkedList

ArrayList与LinkedList的普通for循环遍历 对于大部分Java程序员朋友们来说,可能平时使用得最多的List就是ArrayList,对于ArrayList的遍历,一般用如下写法: public static void main(String[] args) { List<Integer> arrayList = new ArrayList<Integer>(); for (int i = 0; i < 100; i++) arrayList.add(i);

Java程序员的Golang入门指南(上)

Java程序员的Golang入门指南 1.序言 Golang作为一门出身名门望族的编程语言新星,像豆瓣的Redis平台Codis.类Evernote的云笔记leanote等. 1.1 为什么要学习 如果有人说X语言比Y语言好,两方的支持者经常会激烈地争吵.如果你是某种语言老手,你就是那门语言的"传道者",下意识地会保护它.无论承认与否,你都已被困在一个隧道里,你看到的完全是局限的.<肖申克的救赎>对此有很好的注脚: [Red] These walls are funny.

10招让你成为杰出的Java程序员(转)

如果你是一个热衷于技术的 Java 程序员, 那么下面的 10 个要点可以让你在众多 Java 开发人员中脱颖而出. 1. 拥有扎实的基础和深刻理解 OO 原则 对于 Java 程序员,深刻理解 Object Oriented Programming(面向对象编程)这一概念是必须的.没有 OOPS 的坚实基础,就领会不了像 Java 这些面向对象编程语言的美.光学习 OO 原则的定义用处不大,关键是要学会如何应用这些原则用一种 OO 的方式去设计解决方案.因此,我们应该对对象建模.继承.多态.设

当世界上只剩下一个Java程序员

公元2050年,世界上只剩下了一个Java程序员. 你可能要问了,别的人都去哪儿了?原因很简单, Java没落了. 大约在2030年左右,出现了一个叫做X的语言,它既能做系统级开发(操作系统.数据库.编译器),也能做服务器端的开发,手机端,Web端都不在话下. 更为重要的是,这个新的编程语言和人类的自然语言很接近,无论大人小孩,稍微一学,很快就可以来编程.于是排名前100的语言统统消失了, 程序员们都失业了. Java也不例外,这个昔日的霸主在留下了一堆庞大而复杂的系统以后就不见了. Java程

[转] Java程序员学C#基本语法两个小时搞定(对比学习)

Java程序员学C#基本语法两个小时搞定(对比学习) 对于学习一门新的语言,关键是学习新语言和以前掌握的语言的区别,但是也不要让以前语言的东西,固定了自己的思维模式,多看一下新的语言的编程思想. 1.引包 using System;java用import2.构造函数和java语法相同3.析构函数  变量和类的对象都有生命周期,生命周期结束,这些变量和对象就要被撤销.  类的对象被撤销时,将自动调用析构函数.一些善后工作可放在析构函数中完成.  析构函数的名字为~类名,无返回类型,也无参数.Per

十个JAVA程序员容易犯的错误&#187;

十个JAVA程序员容易犯的错误 ▉1. Array 转 ArrayList 一般开发者喜欢用: List<String> list = Arrays.asList(arr); Arrays.asList() 会返回一个ArrayList,这是Arrays里内嵌的一个私有静态类,而并不是java.util.ArrayList 类java.util.Arrays.ArrayList 有set(), get(), contains()方法,但并支持添加元素,所以大小是固定的,想要创建一个真正的Arr

Java程序员常犯的10个错误

本文总结了Java程序员常犯的10个错误. #1. 把Array转化成ArrayList 把Array转化成ArrayList,程序员经常用以下方法: List<String> list = Arrays.asList(arr); Arrays.asList() 实际上返回一个ArrayList,但是这个ArrayList是Arrays的一个内部私有类,而不是java.util.ArrayList类.这个私有类java.util.Arrays.ArrayList有set(), get(), c

高级Java程序员值得拥有的10本书

Java是时下最流行的编程语言之一.市面上也出现了适合初学者的大量书籍.但是对于那些在Java编程上淫浸多时的开发人员而言,这些书的内 容未免显得过于简单和冗余了.那些适合初学者的书籍看着真想打瞌睡,有木有.想找高级点的Java书籍吧,又不知道哪些适合自己. 别急,雪中送炭的来了:下面我将分享的书单绝对值得拥有.ps,我也尽力避免列出为特定软件或框架或认证的Java书,因为我觉得那不是纯Java书. 1.<Java in a Nutshell>(Java技术手册) 与其说是必读书籍,还不说是参