经常有人问,我想学习开发,到底是学Java好还是学大数据好?或者是,学习大数据还有必要学Java吗?
依我说,这个提问的标准答案是:两者都学。
先来甩两张图。
一张是腾讯的大数据开发工程师的JD,
还有一张是我随意找的某个猎头职位,
可以看到,无论是哪个职位,都要求了Java的开发经验,并且,腾讯的大数据职位明显要求了需要有Java后台开发三年经验。
所以,我说一个武断点的结论:一个不会写Java程序的大数据工程师,不是一个好的老司机~~
1:Java与大数据的关系
从事大数据工作,必须要掌握一门编程语言。我们所知道的,大数据开发中的一个重要工具Hadoop,就是使用Java开发的。当然,这并不是说只有Java才能做大数据,其它语言也能做。c#、scala、python,都可以,但是,学习Java的性价比更高。Java在当前环境中,一直稳坐编程语言头把交椅。
还有一点要提的是,企业用人当中,做数据分析,都希望是有一定工作经验的人来做,比如上文腾讯的职位中就可以看到,它希望招聘一个具有3年后台开发经验的大数据工程师。那什么是后台开发语言,跟scala和python比起来,Java几乎是那个唯一可能做了3年开发的工程师会用的语言。
同时,让我们反过来说,学了Java,我们可以去做大数据开发,但是,只学了python的大数据库开发,只能做这个。所以,想要做好大数据开发,就首先得熟练开发传统企业级或互联网平台。
2:“钱”途
看看职友集的数据,
Java工程师
大数据分析工程师,
可以看到30K以上的比率,大数据开发比Java工程师要高。
但是我们也注意到一个问题,大数据的样本远远低于Java工程师。这一方面说明Java工程师的群体要大于大数据工程师,但从另外一方面来说,大数据工程师的供求比要低于Java工程师,所以现在入行,能快速进入到一个公司的核心。
另一个值得注意的地方是,入行3-5年,大数据的薪水已经冲破25K,上探30K,但是Java工程师还停留在20K左右。所以,大数据的薪水上升将会更快。
3:行业趋势
如果一个企业还停留在传统互联网开发阶段,未来的发展将会越来越窄。举个不好听的例子,现在一搜索就是“大数据杀熟”的例子,这个大数据杀熟,说白了,就是一个企业利用大数据分析,在原来的客户基数没有增大的基础上,增加利润点。企业失去利润增长点是很可怕的,当利用传统模式不可能再给自己体量增大的基础上,谁能用好大数据,谁就能走到最后。
再从国家的层面上来讲,2015年,是中国“大数据开发”发展、落地之年。中国一线的云计算巨头,如阿里云、腾讯云等,在2015年数据中心的服务器数量纷纷超过50万台。在2016年,数据中心建设将进入高峰期,有云计算厂商的服务器数量将会突破100万台。
经*总理签批,2017年国务院、工业和信息化部发文《推动大数据产业发展》,系统部署“大数据”发展工作。党的十九大报告指出,“加快建设制造强国,加快发展先进制造业,推动互联网、大数据、人工智能和实体经济深度融合”。
所以说,大数据的行业趋势当然没问题了。但是要看到,所谓趋势,就是未来大概率会火,但是目前体量并没有那么大。这一点,我们从职友集的样本中就可以看到,Java的样本有4万多,而大数据样本是800多一点。
4:零基础的你该怎么选择?
从上面的阐述来看,聪明的你一定已经知道该怎么选择了。那就是立足Java,学好大数据,这样,就能在保证你目前吃饱(有海量offer)的基础上,有可能在不久的将来吃好(未来大数据职位可能井喷)。
感谢关注“码农星球”。本文版权属于“码农星球”。我们提供咨询和IT培训服务,关于本文有任何困惑,请关注并联系我们。