很多小伙伴从一踏上JAVA程序员这条路开始,总是感觉Java多线程在实际的业务中很少使用,以至于不会花太多的时间去学习,技术债不断累积!整日深陷在创造Bug和修改Bug的无限循环中,上班来得最早的是你,下班走得最晚的还是你,经常回家之后还得继续加班,偶尔遇上赶项目的时候还要在公司打地铺。但是过了几年之后却发现自己依然奋斗在开发的第一线,依然是开发团队中可有可无的一角。
相信很多人都听说过一万小时定律,即要成为某个领域的专家,需要一万小时,按比例计算就是:如果每天工作八个小时,一周工作五天,且不算上加班时间,那么成为一个大牛至少需要五年。那么很多人敲了五年的代码却还是一个码农,这到底是什么原因呢?原因就是一年的工作,你不过是重复了五年而已。
程序员职业的几个坎:
三年:
我个人认为程序员的第一个坎就是做了三年开发的人,比如说Java,这些人基本对于增删改查非常的熟练。可以应对大部分常规的项目开发,完成公司给布置的任务,这个时候就是一个标准的初级程序员。但三年之后如果还是这个样子,那这个人基本就废了。有的人会利用工作之外的空余时间来学习自己没有接触过的技术,去啃技术性书籍的底层原理。在这三年之中让自己的技术提升很多。而还有一部分程序员在这三年内的技术水平基本没有得到提升。三年后,这两批程序员的差距就会显现出来分为两个层次。
五年:
作为一个五年的程序员,项目已经做了不少。这个时候就应该往架构师或者项目经理这块发展,而不仅仅是个普通的程序员。其实我认为程序员也是一个体力工作者,每天不停的写代码,如果公司项目多,还需要不断的加班。时间久了自己的身体肯定是撑不住。所以应该给自己定一个目标,利用能用的一切时间,把自己的技术水平达到架构师的技术水平,职位的提升对于一个人的事业帮助很大。
程序员规划好自己的职业规划:
首先先给自己定一个目标,就是做这个行业要在几年内达到一个什么岗位,这是一个比较长的时间。所以我建议大家先给自己定一个薪资的目标,比如一年后跳槽达到15K。想要进入什么公司这些比较短期的目标。当我们把这些目标定下之后,就去严格的执行,在工作之余的时间来提升自己的专业技术。多去跟大神交流,毕竟有人带要比自己摸索强的多,不妨从以下几点来改变自己的工作方式:
有价值的反思总结
反思才有进步。面对重复的工作,你能不能总结出点什么,比如一个小功能的实现是否能把它模块化以便下次直接调用。每天下班前,不妨思考下今天写的代码问题所在,如何整改,是否有更高效的实现方法,然后写下来,一定要写下来,而不是想想而已。
有目的的优化代码
优化代码,实质是在提升自己。程序的正常运行,只是最基本的要求,更多的,还要考虑程序的性能,运行效率,组织结构,和重用性等等,这才是一个大牛应该具备的能力。
定期增加技能点
现代项目的开发,是一个非常复杂的构成,很少说只用到一两种技术的。所以自己的技术面更广,思考的问题更多,将会使你的职位更上一层楼。
如何提升技术、学习方法应该注意什么、以及如何才能提升薪资或者缺少比较新的Java学习资料,从现在开始,不是简单的重复1万遍,而是有目的的、有意识的、带着要给超出期望的结果,去反思、去优化、去处理。让每一行代码,每一个项目都成为是你提升自己的机会。