前言php
为什么要写这篇文章呢?IT行业一直是一个多金的行业,2019年依然保持着足够的吸引力,吸引着无数的年轻人想踏入该行业。前端
做为一名IT职场老人,常常有同窗问题,想进入该行业,该如何去作?若是你有幸是一名计科系的学生,而且在一开始就知道出来之后要作什么,而且有重点的去学习,毕业后说不定能够应聘一份某软件公司的实习生的工做,今后踏入该行业。可是,这条路过于辛苦,我见过的进入该行业的人,将近有80%的人,都是经过IT培训,通过系统和高强度的学习,才进入软件公司,进入该行业【为了避嫌,不聊培训机构的事儿】。java
可是培训机构中不一样方向的学科,对于一个对这个行业只知其一;不知其二的人来说,选择真是困难,老有人问我:闫哥,我选择哪一个方向比较好?Java,UI,Python,H5,大数据,云计算,Android,IOS,AR&VR?web
个人答案只有那么一个--Java!数据库
正文内容编程
本人从事软件行业已经有十余年了,从小兵开始,作过一线开发人员,组长,项目经理,技术经理,技术总监,自主创业过,也当过培训讲师,经历还算丰富。这期间我是先作的Java,也搞过PHP,安卓,H5,数据库以及大数据【自始至终,java一直都没有丢】,对于各个学科也有必定的发言权。后端
为何建议学习Java呢?缘由有这么几个,如说的不对,请见谅。服务器
1、Java语言优点明显前端工程师
若是你只是一个小白,想学一门编程语言,那么推荐学习Python,由于全球都公认,Python是最适合入门的语言,不少国家的中小学少儿编程使用的都是Python,我也用Python作过项目,确实该语言简单易懂,非常好用,但你若是不是为了学习玩玩,而是为了经过编程找一份工做,那仍是Java吧。不少人都说Java火,是由于简单,跨平台,各类软件都能开发,我不能说不对,只能说几年前这么说,这话没毛病,如今再这么说,只能说有点扯。并发
看一下2019年7月份的编程语言TOP20排行榜:
这个榜单我看了十几年,几乎每次看,Java一直在NO.1的位置,无人撼动!看着其余语言起起伏伏,Java和C/C++犹如两位智者看着后面的年轻人打打杀杀,甚是热闹!
Java从语法设计来说,不是很优秀,PHP号称史上最优秀的语言,Python号称人工智能第一语言,C#一直是桌面之王,Scala语言是Java语言的升级版,谷歌的GO语言如日中天,一骑绝尘...... ,从Java的学习难度来说,框架之多,配置繁琐,臃肿,犹如一个肥头大耳的大胖子。
那Java到底好在哪儿?归纳一句话:功力深厚,无人撼动!
Java诞生于互联网蓬勃发展的时期,那时C语言一家独大,称霸武林,Java凭借语法优点以及自带虚拟机【一处编 译,到处运行】占据一席之地,后来就一直稳坐老大的位置,各个公司只要是作大型的应用都纷纷选择Java。
阿里巴巴,如今在国内几乎是Java开发人员的光明顶,几乎全部技术都是Java,但淘宝网前期但是用的php,请国际顶尖Java团队SUN公司的人修改为了Java。
国内第二电商巨头:京东,早起用的是.net框架,但后来也是用的Java,举个小例子:在2011年11月1日京东商城的图书促销活动中,因为促销活动仅限时 1个小时,消费者疯狂抢购致使服务器不堪重负,最终瘫痪。为平息消费者的抱怨,刘强东在微博上表示:“重搞活动,增长3倍服务器,活动时间不能低于3小时。”尽管刘强东的危机公关作得很到位,即便京东商城增长了三倍服务器,技术问题依旧没有解决。 后来,强哥痛下决心,对整个京东进行一次完全的技术转型,选择了Java。
在国内最具表明性的两大电商巨头都使用的是Java,后来的互联网项目,基本都不怎么考虑其余语言了,纷纷投入Java的怀抱。在传统应用软件领域,好比税务系统,公安系统,银行系统,毫无例外,都是使用Java开发的。
为何是Java,Java不那么优秀,为何要选择它呢?仍是一句话--语言优不优秀,不看什么语法设计,而要看生态,它带来的整个生态体系!
举个例子:大家公司用的是PHP开发的一个应用平台,忽然大家公司的这个平台频频出问题,多是用户愈来愈多,致使并发量愈来愈大,或者数据量愈来愈大,老板就说:咱公司才多少数据量啊,你看人家阿里是怎么解决的,京东是怎么解决的,不会学习一下吗?!这个时候你欲哭无泪,对老板说:我固然知道他们是怎么解决的,他们使用的那些技术是Java语言开发的,咱用不了啊!老板内心想:是啊,这也用不了,那也用不了,难道让公司的开发人员使用PHP开发一个,算了吧,这比登天还难!项目达到必定的峰值,其余语言开发出来的项目都变成了玩具!
由于Java是开源的,并且历史悠久,使用java语言开发出来的各类高性能的开源软件数不胜数,使用Java语言提供的各类高难度问题的解决方案不胜枚举,使用Java,就意味着大家公司能够在最短的时间里开发出来高性能的应用平台,即便未来技术遇到瓶颈,大量的java高手等你高薪聘请,其余学科可能你拿着钱都找不到能够解决问题的人!
2、Java需求大,不怕找工做
Python很火,大数据很热,处处宣传H5,岗位需求说话!如下数据来自于51Job,北上广深杭五大热门城市岗位数量!
Python数据24091个
大数据岗位30804个:
Web前端工程师岗位12680个:
Java软件工程师岗位高达43141:
你会发现无论任什么时候候查询,Java的需求量一直都是最多的。
3、职业发展前景广阔
Java工程师的需求量自诞生之日起一直保持高速的增加,真的须要这么多软件工程师吗?还有同窗问,闫哥,大家十几年前都学习Java,如今咱们还学习,怎么竞争的过大家呢?
一、Java软件工程师是需求量最大的工种
以一个初创团队为例,须要一个UI设计师,一个Web前端工程师,一个安卓开发工程师,一个IOS开发工程师,可是却须要至少5个java工程师。为何呢?由于前面的工做都是作一个外表,一个皮儿而已,真正让程序运行起来是要后端开发工程师的,Java是当先后端语言的王!并且开发工做繁多,因此需求量最大,基本Web工程师和Java工程师的配比是1:5
二、如今的Java已经不在是当初的Java
以前咱们那个时代,几个JSP页面就能够写个项目,会SSH走路都目中无人,Spring还正慢慢革着EJB的命,整个行业都处于一个懵懵懂懂的混沌状态。
技术不断日新月异,老人要么都转入管理岗位,要么早就失去了昨日的奋发图强,守着老旧技术安稳度日。如今大家应该做为一个新派的Java工程师出现,为各个软件公司注入新鲜血液。常常看到一个新人,什么都想学,看见一个Java技术的名词都赶忙看看,怕到时候公司用,而本身不会,其实大可没必要这样。大家是新人,是公司中新的血液,应该为公司带来更新更高效的技术,不该该陷入陈旧的Java技术的泥潭中。好比,老人喜欢用Eclipse,新人用IDEA,老人喜欢用SVN,新人用Git,老人喜欢JSP,新人用VUE,老人用SSH或者SSM,新人用SpringBoot,老人用Dubbo搭建分布式,新人用Spring Cloud或者 Spring Cloud Alibaba......
Java是开源项目,每一个年轻人或者年轻的团队均可觉得此贡献高效便捷的技术,技术就这样滚滚向前,永无止境,但人的精力是有限的,须要不断有新人接了前辈手中的交接棒,继续追赶新技术!
三、当技术总监的,永远是搞后台开发的!
工做这么多年,也当过几家公司的技术总监,发现一个规律,作项目经理或者技术总监的,永远是搞后端开发的或者是写SQL的。这个也不难理解,好比做为一个项目的负责人,是否是应该知道每一个人都在干什么,评估一下他们的工做量,从而才能更好的管理项目,只有后台开发人员知道UI,H5,安卓,IOS工程师天天都在干吗,难度系数怎么样,更能把握团队中占比最高的Java工程师,他们每一个人的水平,进度,从而更好的把控全局!
四、Java学科,水很深,一个学科就够咱们玩好久
Java软件工程师的薪水浮动比较大,新人最低的每月给个三千五千都有,高的每月给5万6万的也不是什么难事儿。为什么中间浮动如此之大,由于会的东西不同,经验不同,给的薪水天然不一样!
java学科历史悠久,长期占据霸主地位十余载,市面光流行的技术都不少,即便工做多年,依然以为本身是个小白,功力深厚的大拿级人物比比皆是,让咱们可望不可即,惟有虚心请教,默默追赶。
而其余学科,发展时间短,也许你虚心学习几年,也就达到了该学科的一个顶,你也许以为这是好事儿,技术到了顶,也就意味着薪资到了顶,你花费3年功夫到了顶,后面的时光如何在这个行业继续提高薪资呢?
4、学习路线自由切换,为所欲为
java语言底蕴深厚,虽有不少问题,但流行这么多年,积聚了大量的开发人员,新的技术出现,该技术团队为了让本身的框架或者技术学习起来更简单容易,通常都会选择使用Java语言进行开发,若是你Java Web玩的有些烦,随时切换其余学科,毫无压力!
一、切换Andriod学科
之前,移动互联网火爆的时候,移动端开发人员急缺,我在那个时候就开始自行学习Android,毕竟安卓也是用java进行开发的,我基本用了一个星期的时间,看了整个Android的全部技术点,第二周开始使用它作公司的项目,毫无压力!
二、切换大数据学科
大数据这个名词很热,其实当前技术也比较成熟,我认为大数据学科就是Java学科的一个延伸,当你作Java Web项目的时候,遇到了大数据量的存储问题,天然会去找什么技术可以解决,最后就找到了所谓大数据学科的一些工具或者框架,大数据中不少技术都是使用Java语言开发的,学习大数据开始也是先学习Java基础语言,我也是工做多年后接触大数据,并开始学习,使用,有Java基础,上手仍是比较快的。在招聘网站常常看到一个招聘java工程师的岗位后面要求会Hadoop,Spark,Flink,Flume等大数据技术,说白了,招聘人员仍是认为这都是java工程师的活。钱给到位,咱就学,咱就干!
三、前端的事儿,顺带手就作了
在咱们那个时候,根本就没有前端开发工程师,谁的功能,谁写前端和后台,因此每一个java web工程师,基本都会前端的开发,偶尔有几个java Web工程师,很是痴迷页面的展现,在团队中就让他们写页面多一些。后来界面讲究的愈来愈好看,愈来愈炫酷,兼容性也考虑多了,前端的工做量就起来了,就开始单独把这个工种给独立出来,可是到目前为止,一些公司仍是从不招前端,仍是Java工程师去写页面,并且如今的第三方页面框架那么多,基本作起来也好作。
四、DBA的事儿,也顺带作了吧
SQL因为其自己技术发展缓慢,几年前的SQL怎么写,如今依然怎么写,这个特色也吸引了很多想转型的java工程师,自己公司中能请的起DBA的仍是比较少的,并且日常DBA工做量也不大,发着钱挺亏的,Java工程师日常也须要写一些SQL,只须要稍加培养,基本就把数据库这个事儿给作了,若是你哪天干累了,作个专职的DBA也不错,工资仍是挺高的!
五、切换运维工程师
因为java工程师常常与服务器打交道,编写代码,上线项目,因此Linux仍是玩的比较好的,加之当今的Java工程师都会学一些Docker,K8S等,长此以往,在企业作个专职运维人员也能够,高级运维,工资也不低啊!
六、切换技术售前工做
若是干了几年,不想写代码了,喜欢与人交流,能够考虑技术售前的工做,该工做确定不是一个小兵说干就能干的,因为须要一出场就给对方一个沉稳,专业,老练的感受,通常不会找一个年轻人作售前,因此也为咱们老人留下了机会,去网上查查,技术售前的工做,工资不低呦!
总结
目前互联网概念层出不穷,开发技术和语言也是铺天盖地,但就目前来说,Java永远像一棵松柏同样,四季常青,默默成长,即便哪天它轰然倒下,由他开发出来的软件也够后辈的Java工程师吃上好多年【软件须要运维,添加新需求,修改新Bug】。若是你有一个编程梦想,也想经过本身的努力,提高一下生活品质,也想长久的在编程行业中作个弄潮儿,别犹豫,选Java!