这个是老话题了,Java程序员远远没有饱和,年薪10万+元是很正常的一个薪酬水平。现在Java程序员挺多的,但是职位需求量更大,特别是能干实干或优秀的程序员是相当缺乏的,没存在饱和一说。
从经验来说,如果你是一位实干,又有强烈改变际遇的意志力的人,我建议可以做,做Java技术开发,至少你的付出会有收获(技术领域内相对公平) !
近20年来Java程序员的工资一直是在稳中有升的状态,极端点的反例来说明,就算那些具有3~5年开发经验的中下水平(注意:中下,负能)的工程师,拥有年薪10万+元是很正常的一个薪酬水平。
百度了下09年(现在已经2019年了)就有一贴子说他觉得Java方面的程序员已经是严重过剩,一个在职岗位大概有543人来竞争,行业人才竞争状况更是恶性的之类的云云。
现实却不是如此,快十年过去了(2019),在未来5年内合格软件人才的需求将远大于供给。
如果你想做Java程序员,先打个预防針,先说点不好的方面:
程序这行技术不断刷新,需要不断学习,各种辛苦等等。
类似30岁以后,就要时刻准备被淘汰了的种种话题。
有人说把身体,青春全部献给程序,一天1-2小时来骑行,跑步这个总能实现的吧?
高档的衣服鞋子,去高档餐厅这些消费,程序员可以去体验,提升自己的商业头脑,生活方式的选择在于自己,然后动力十足,有往上发展的资本及欲望。
眼界决定高度,技术有深度,更要有广度
如果将程序当做爱好,你会发觉跟20岁的年轻人精力差不多,熟练可靠,敏锐的捕捉到新技术的应用点。
曾经NB的程序员,例如马化腾是写程序出身的,史玉柱的确是靠写程序赚了第一桶金,比尔盖茨是搞程序的。
既然如此,我们下决定去做,如何成为那位不饱和的Java程序员呢?
在入行后开始规划好1年,2年,3年甚至5年10年后的目标,清楚地知道自己应该做那些事情,让自己不再迷茫,做到更优秀。
如果喜欢技术,职业上就往架构师,技术总监方面发展,这些都需要5,10年的积累。
当你学会了Java的基础知识以后,你还不足以参加工作,你还需要继续深造。
学会Java开发框架,会使用一些Java Web框架。目前比较主流的是SSM框架,即spring、springmvc、mybatis。学会这三个框架的搭建,并用它们做出一个简单的增删改查的Web项目。
工作0-1年之间,Java程序员必须要做得事儿
先体会,在实践中去了解那些配置都是什么含义,以及为什么要这么做,用有道云或云笔记之类的记录下你第一次搭建的过程。
记住有个技巧,先体会再深入(要不然太费时了),一些高端的用法随着你工作经验的增加会逐渐接触到的。
还熟悉了一些前端知识的具体应用等等,html+css+JavaScript,ajax,bootstrap等等。
工作1-2年之间,Java程序员必须要做得事儿
还是直白一点来说吧,基于已经对Java有了一个更加深入的了解,代码,设计模式,并发,类库的使用,选择深入的方向。
了解设计模式,阅读一些关于代码编写优化的书,核心是提高你的代码能力,要能写出一手优雅的代码。
在工作当中,或多或少接触过并发,你应该去更加深入的了解并发相关的知识。
对于Java的类库也有了更深入的了解,去看一些JDK中的类的源码,使用的框架的源码。
目标是:深入了解Java底层和Java类库,JVM和JDK的相关内容。实现方式推荐看源码或者看官方文档。
3-4年工作经验,选择精通一两项,形成自己的优势
这个阶段的提升已开始有点难度了及面临多样化的选择,明显感觉时间不够用。
接触到更多的技术,比如大数据、分布式缓存redis,mongoDb、分布式消息队列服务、分布式计算、软负载均衡等等。
每一项技术,若能精通任何一项,都将是你未来巨大的优势,建议从感兴趣的技术开始,深入去研究一下,这项技术不一定是你工作所用到的,通常是相关的,可以假设将来某个业务场景会使用到,这时学习的动力十足,代入感也很强,消化能力不在言下,当然你得花心思坚持投入。
工作4-5年,在领域有自己一定的见解,提高影响力,突破瓶颈
在自己所钻研的领域已经有了自己一定的见解,单纯直接去提高技术通常会碰到一些瓶颈。是时候提高你的影响力了,你可以尝试去一些知名的公司去提高你的背景光环。
你可以发表一些文章去影响更多的人,Github创建一个属于你的开源项目,去打造自己的产品。更多的是影响力可以给你创造更多的机会,同行的反馈让你的信息面更广。
所以在这个阶段,你最大的任务是提高自己的影响力,为自己未来的十年工作生涯那一天做准备。
最后.....
再往后的发展呢?我相信美国的风向就是接下来的未来几年中国的情形,程序员养家糊口不成问题的,去年人工智能毕业专业的新人起薪20W起,而且全球人工智能人才有 40%是华裔,包含的机遇不在言说中,现在去做真的还不迟。
我做开发十多年的时间,如果大家对于学习java的学习方法,学习路线以及你不知道自己应该是自学还是培训的疑问,都可以随时来问我,大家可以加我的java交流学习qun:615741636。qun内有学习教程以及开发工具。