撰写我对java后端开发工程师选择方向的想法,写给在java后端选择转方向的人

背景

看到一些java开发工程师,对java后端薪酬太悲观了。认为换去大数据领域就会高工资。觉得java后端没有前途。我从事java后端开发,对大数据领域工作有些了解,但不深入。本文描述一下我对java后端和是否转大数据开发的个人见解。

目的

分析大数据领域分类

分析大数据工作工资高的原因

分析造成觉得java后端开发不够前景的原因

java后端转大数据工作做什么

转去大数据领域的各类方向与java后端比较衡量

一、大数据领域工作我认为分4类

类别业务开发架构组

1数据处理ETL、爬虫未知

2数据统计实时流式计算、离线流式计算、Elastic-search分词统计架构研究spark hadoop源码开发数坊系统、shuffle优化。

3数据分析基于mahout、sparkStream 做机器学习、自然语言性能优化

4数据算法/建模推荐算法、用户画像、风控建模未知

二、大数据领域工资高的原因

大家看到大数据工资高,其实是大数据领域包含了建模或者算法工程师那部分。高工资的就只有推荐算法、用户画像、风控建模、自然语言这些工作,职位为算法或者建模工程师。

然而大数据领域的大部分工作,都是上图表中,第1、2类的工作,如:etl、爬虫、实时离线流式计算,es、顶多就机器学习。即使这些工作也只是工程级的应用(换句话说就是写业务代码,搬砖),如果工资高也是有架构能力(提升spark性能之类),而不是大数据应用开发。

三、分析造成觉得java后端开发不够前景的原因

有人觉得java后端开发工资低,没有前景,没有适应时代。第一、大数据时代很久了,很早就开始招大数据了,不是需求火爆的状态,如安卓工程师一开始火,如现在做的人多了,像安卓变多了,大数据的应用开发就不像2014年刚开始的时候那么高工资了,但是大数据中算法、建模工程师依然高薪,那种要求高质量高的工作都是10个人里面只有1个会的那种。第二、很多java后端开发都是业务开发,写好业务没bug渡过一天又一天,没有遇到好项目或者没有自主学习,导致做了很久的java开发工程师,都是做业务,写CRUD、redis、mq等,会写代码是一回事,但是有没有好的技术方案就是另外一回事。

四、Java后端转大数据工作做什么

java换去做大数据其实只能做etl、爬虫、实时离线流式计算,es、顶多就机器学习这些工程级的应用,也就换套工具写业务代码,换套工具搬砖而已。因为Java开发人员多数是使用、应用程度,而不是研究程度,所以Java工程师转大数据很少有人会做到第3、4类的工作,如果做第3、4类估计是重新开始了。其实第1、2类这些工作薪酬跟java后端没什么区别,毕竟两个领域都有纯业务搬砖和自带技术体系的人。

这些大数据工程级应用(第1、2类),也有架构组,如同java后端一样,也有业务架构和基础架构。其实如果积累经验java后端和这些大数据晋升我认为是一样的。

举例

假如表中的第2类,大数据工程级应用做spark、hadoop,一种是做应用开发,如双11在页面显示华为、小米等品牌实时出货量多少,就用实时流式计算。另一种属于架构工作,如开发个数坊系统(也叫数据仓库、DataWareHouse)出来让大数据应用开发同事在上面做 OLAP。这些架构组的人,一般需要对hadoop、spark、presto源码有过研究,或许会在上面二次开发,或者进行性能优化工作。前者是换套工具搬砖,后者是架构组。如同java也有些业务代码和架构设计。

五、转去大数据领域的各类方向与java后端比较衡量

考虑方向

要么转做大数据架构,如研究spark、hadoop、presto,搞个数坊系统、shuffle调优等,毕竟属于架构组,工资会高一点。

要么转做推荐算法、用户画像、建模/算法类。而这部分工作都是有要求的,算法过硬、研究生、985、211 、数学专业,这些工作也会更高。数据挖掘与分析不止会mathot、spark streaming,还有SAS/SPSS 。

如果转做大数据应用做实时流式计算、离线流式计算、es分词统计,其实是相当于业务码农,如果有java后端开发经验的话,这种那还不如在java后端继续深耕,毕竟换去做大数据应用开发深耕也是一样的。

考虑晋升机会

考虑另一部分,能晋升到领导位置的,一般是伴随公司成长的核心员工。公司成长,开始是业务,一般都是java后端业务代码。等到中期、后期做报表才会用上大数据业务开发(第1、2类),有性能问题就会有架构组,再后期才到推荐算法这些让app更好体验的东西,如淘宝首页推荐。所以业务架构在前期就比较容易晋升。

等公司成长起来了,公司有钱自然就会招很好的算法、建模工程师做真正有价值的部分。

而实时流式计算、elastic-search这些业务码农,也只是搬砖,现在做的人像安卓一样多了,就不像2014年刚开始的时候那么高工资了。

考虑所在城市的岗位数量

如第3、4类工作,岗位比较少,换公司换工作是否方便,有些公司如:中国移动 的第3类大数据工作就有外包出去,不是正式编制。画好跳槽路线,因为转行第一间不一定是你的终点,所以要看其他的更上流的企业的要求是否能匹配自己。

BackUp作用

多学大数据只是防止当前公司业务停止,没有业务开发时,java后端开发工程师可能被裁员掉,学大数据和前端React.js类只是对于java后端开发另谋活路的backup。因为有些职位就希望你全栈,但现在很多都前后端分离的。

而被淘汰掉的java后端只是写业务代码,用用redis、mq。

java后端人人都会写,java后端技术领域还是很广的,但有没有写出好的技术方案就另外一回事。

总结

大数据、前端页面开发对于java后端开发工程师来讲,我觉得了解就可以了,知道有解决办法,不必每个领域都精通,况且没办法每个领域都精通。

如果后端开发转去做大数据、项目经理、产品经理岗位,估计都是java后端技术没做上去(本身不喜欢做程序员的也有可能),或者是只会做纯业务代码这些被淘汰掉了,所以就换领域了,还有转hr的。不过同级别的java后端开发和产品经理薪资确实有差距,估计一两千。

我觉得大数据工程级应用开发(第1、2类)和Java后端开发薪资就没什么差距,以前java后端能转大数据应用开发,是因为那时候还缺人,现在不缺人了,要招都是招有真实经验的。如果你从事java后端开发几年了,要转大数据领域,相当于你有一个升高级java开发工程师的机会,还是选择中级大数据应用开发工程师的机会,反正都是写业务代码的。如果你的条件过硬,如985/211学历、数学专业、算法研究经验,如果要转算法/建模工程师就早点转,大数据领域高工资的就是这类人。如果java后端开发工作经验4以上年了,没有硬性条件,建议继续深入后端学习。如果java后端开发工作一两年,你想怎么转都可以。

如想了解薪酬,可以在招聘网站搜大数据工程师(一般就是指第1、2类的),和算法工程师、风控建模工程师、推荐算法工程师、用户画像工程师。我所知道有个风控建模经理三万多。

Java后端开发工程师是否该转大数据开发?的更多相关文章

  1. 从 Airflow 到 Apache DolphinScheduler,有赞大数据开发平台的调度系统演进

    点击上方 蓝字关注我们 作者 | 宋哲琦 ✎ 编 者 按 在不久前的 Apache  DolphinScheduler Meetup 2021 上,有赞大数据开发平台负责人 宋哲琦 带来了平台调度系统 ...

  2. 杭州某知名xxxx公司急招大量java以及大数据开发工程师

    因公司战略以及业务拓展,收大量java攻城狮以及大数据开发攻城狮. 职位信息: java攻城狮: https://job.cnblogs.com/offer/56032 大数据开发攻城狮: https ...

  3. BAT推荐免费下载JAVA转型大数据开发全链路教程(视频+源码)价值19880元

    如今随着环境的改变,物联网.AI.大数据.人工智能等,是未来的大趋势,而大数据是这些基石,万物互联,机器学习都是大数据应用场景! 为什么要学习大数据?我们JAVA到底要不要转型大数据? 好比问一个程序 ...

  4. Java转大数据开发全套视频资料

    大数据在近两年可算是特别火,有很多人都想去学大数据,有java转大数据的,零基础学习大数据的.但是大数据真的好学吗. 我们先来了解一下什么是大数据. 大数据是指无法在一定时间内用常规软件工具对其内容进 ...

  5. windows下大数据开发环境搭建(1)——Java环境搭建

    一.Java 8下载 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下载之后 ...

  6. Java转型大数据开发全套教程,都在这儿!

    众所周知,很多语言技术已经在长久的历史发展中掩埋,这期间不同的程序员也走出的自己的发展道路. 有的去了解新的发展趋势的语言,了解新的技术,利用自己原先的思维顺利改变自己的title. 比如我自己,也都 ...

  7. 2019春招——Vivo大数据开发工程师面经

    Vvio总共就一轮技术面+一轮HR面,技术面总体而言,比较宽泛,比较看中基础,面试的全程没有涉及简历上的东西(都准备好跟他扯项目了,感觉是抽取的题库...)具体内容如下: 1.熟悉Hadoop哪些组件 ...

  8. 大数据开发实战:Spark Streaming流计算开发

    1.背景介绍 Storm以及离线数据平台的MapReduce和Hive构成了Hadoop生态对实时和离线数据处理的一套完整处理解决方案.除了此套解决方案之外,还有一种非常流行的而且完整的离线和 实时数 ...

  9. 大数据开发实战:离线大数据处理的主要技术--Hive,概念,SQL,Hive数据库

    1.Hive出现背景 Hive是Facebook开发并贡献给Hadoop开源社区的.它是建立在Hadoop体系架构上的一层SQL抽象,使得数据相关人员使用他们最为熟悉的SQL语言就可以进行海量数据的处 ...

随机推荐

  1. 小小知识点(二十一)如何修改PPT母版上无法直接点击修改的文字

    1. 进入PPT后,选择下图右上角红色圈出的“视图”,接着选择下方红色圈出的“幻灯片母版”: 2.点击进入母版,如下图所示,最上面一栏第一个选项变成了“幻灯片母版”,在下面一栏最右边变成了“关闭母版视 ...

  2. K8S中的ingress-nginx配置

    编辑在有道云笔记中,链接如下: http://note.youdao.com/noteshare?id=8d9ae3a1643e39714b36b58f7507baa2&sub=61C8C20 ...

  3. red note8 pro谷歌套件

    谷歌核心Apps(即Google官方应用“全家桶”),包括YouTube,Google Now,Google Play store,Google Play Games,Google Maps等: 基于 ...

  4. Magicodes.IE之Excel模板导出教材订购表

    说明 本教程主要说明如果使用Magicodes.IE.Excel完成教材订购表的Excel模板导出. 要点 本教程使用Magicodes.IE.Excel来完成Excel模板导出 需要通过创建Dto来 ...

  5. 原生javascript 元素依次掉落及上升

    一.实现原理: ① 通过onoff开关,判断元素是往下走 还是往上走,并在每次清除定时器后,把onoff 设为 !onoff,以便下次点击做判断 ②move函数的运用 二.代码 <!DOCTYP ...

  6. try catch 自定义捕获异常

    当我们完成一个程序时,如果没有异常捕获的话,用户使用时会出现许多bug.而加入异常捕获之后便会提醒用户使用时避免产生不必要的错误.具体操作实现如下: 首先创造一个MyException类,继承自Exc ...

  7. docker学习1--dockerfile

    记录docker学习过程 实践启动一个redis server 命令之前 要弄懂 dockfile 镜像 容器 三者概念以及三者之间的关系 dockerfile格式 # Comment 注释 INST ...

  8. Spring学习记录6——ThreadLocal简介

    Spring通过各种模板类降低了开发者使用各种数据持久化技术的难度.这些模板类是线程安全的,所以 多个DAO可以复用同一个模板实例而不会发生冲突.在使用模板类访问底层数据时,模板类需要绑定数据连接或者 ...

  9. Docker学习(十一)Docker系列结束-新的开始K8S

    Docker学习(十一)Docker系列结束-新的开始K8S 标签(空格分隔): docke k8s Docker系列结束 上一篇讲到使用docker官方提供的容器编排工具docker-compose ...

  10. matplotlib 折线图

    1.基本要点 # 导入模块 from matplotlib import pyplot as plt # x轴数据 x = range(2, 26, 2) # y轴数据 y = [15, 13, 14 ...