做了4年的Java程序员,转行做大数据可以吗,会有什么困难吗?

1

大数据是我的研究方向之一,同时我也是一名使用Java多年的老程序员,所以我来一下这个问题。

我在做大数据之前就是一名Java程序员,所以从Java转做大数据完全没有问题,而且现在不少做大数据研发的程序员原来都是从事Java开发的程序员,不少人的第一个Hadoop排序实验就是用Java实现的。

目前最常见的大数据平台就是Hadoop和Spark,Hadoop本身就是使用Java开发的,所以Hadoop支持Java语言。虽然Spark平台下最好使用Scala开发,但是Scala也是基于Java构建的语言,所以Java程序员转做大数据是具备一定优势的。

Java程序员转做大数据的困难并不多,通常情况下Java程序员对Linux系统比较熟悉,搭建平台和配置环境对Java程序员来说也没有什么困难,可能的一个难点在于算法的设计与实现。如果Java程序员平时主要做功能模块开发,那么接触算法的机会可能比较少,尤其是应用级程序员,要想转大数据就得熟悉一下常见的大数据算法。由于大部分Java程序员都是理工科出身,所以应该具备比较完善的数学知识结构,虽然是一个难点,但是应该并不会成为很大的障碍。

转做大数据开发以后,要以数据为中心来考虑问题,大数据的价值在于分析、判断和预测,所以大数据程序员要建立起数据价值思维而不是传统的功能性思维。

2

作为一个从Java领域转到大数据领域,并在大数据领域摸爬滚打了七八年的过来人,我想分享一下我自己的想法。

最开始的时候我做了几年的Java开发,主要是web开发,后来转的大数据。

第一,现在大数据领域很多软件都是基于Java开发的,比如Hadoop,hive等,不是Java的一般也是基于jvm语言的,比如spark和kafka。所以要想转大数据的话,你需要有一个比较好的Java基础,比如Java的集合,多线程,jvm等你都需要懂,因为如果出了问题,需要你去调试问题,没有Java基础不好弄。

第二,大数据这个领域涉及的东西很广泛,比如大数据开发,大数据运维,数据分析,数仓开发等等,这个要看你对哪个方面感兴趣,可以着重往那个方面看看,因为涉及的东西太多了,一个人不可能对所有的都精通,你根本没有那个精力,能精通一个就非常不错了。

第三,各个方向有自己的侧重点,比如开发要求你Java基础要好,运维可能shell脚本和linux知识要好一些,数仓之类的需要对sql熟悉一些。

3

4年的Java程序员,在编程方面工作经验已相对成熟,甚至可以带领一个小团队进行开发。

如果去转大数据,同样也可以使用Java,不去做数据挖掘方向,考虑做Java的大数据应用方向上手会相对较快,但是也要学习Hadoop等大数据和Java相结合的生态圈。

转大数据有个痛点就是,你有4年的web服务器开经验,但是没有过大数据工作经验,进入公司不可能担任比较有领导性的职位,更多的会被安排进行大数据的开发,要有这种落差的心理准备。

还有就是考虑你是转大数据,薪资未必会给出比你四年的Java开发更高的水平,如果你能接受,那么可行,如果你嫌工资不匹配你的工作年限,那么建议别轻易转。

4

分两种情况讨论,偏算法方向,偏应用方向

一 偏算法方向:

这个方向有一定门槛,需要玩算法,机器学习,做数据分析,判断,预测等。

如果您在这四年的空闲时间,会去撸算法,学习机器学习,可以一试。但是但部分情况貌似大家都在应用层,估计有点难度。而且现在很多高校研究生入局,公司的眼光也更高了。

二 偏应用方向:

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章