3年Java开发转型大数据开发,如何跳出CRUD舒适区?

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 3年Java开发转型大数据开发,如何跳出CRUD舒适区?

自我介绍


我是Fan义,不是科班出身,大学学的是生物工程,后来也是自学加培训入的行,入行就做了 3年的Java 开发,后来觉得大数据前景更好一些,就想着转型大数据,经过疯哥指导后,在今年 7月份成功入职了一家大数据公司。


公司一般,不是大厂,不过目前我感觉还行吧,薪资涨了8K,而且我也算是大龄开发了,即将奔 3 ,工作前两年光顾着玩了,没想着规划,导致落下了很多东西,现在跟着大家一起努力,搞好大数据。


image.png


转型前


在做大数据之前,我做了快三年的 Java 后台开发,第一家公司也算是一家中规中矩的公司,没啥复杂业务场景,常年的 CRUD,基本也用不上算法跟数据结构的优化,常规的 Java Api 就足以应付日常需求了。


我想学大数据的想法萌生在去年国庆节那段时间,具体也没啥原因 就是感觉大数据未来可能会更好一些,同时也觉得转大数据有 java 基础会好转些,于是便在去年工作之余自学大数据了,当然 Java 未来也不差,最近火的微服务那一套掌握了也够吃得开了。


为什么转型


其实要说到为什么转型,这个还真没啥理由,可能是有些受当时热门技术的影响和薪资方面的影响吧。


在刷 Boss 招聘的时候,总感觉一般的大数据岗位比一般 java 岗位薪资要高,另外就是前些年的大数据热,各大高校也开了大数据课,时间也是成本啊,万一等新一届的大数据专业的大学生毕业了,到时候我就是再想转可能都没机会转了。


刚开始转型的行动和心理


说到刚开始转型的时候,其实心里特别没底的,最先的就是去网上找了某谷的大数据视频,一边看视频,一边学,要知道看视频效率是非常低的,但是没办法,总归人家视频中有一套体系,按着体系来学习总不会差太多,于是便开始了漫长的视频学习,整个视频看完大概花了3~4个月的时间,都是下班 或者 周末时间看的,说实话看完记住的真是不多,当时也没有什么好的办法,好在视频里也有对应的小项目可以做做,一来二去,跟着视频就到了年后。


最开始转型的时候最苦恼的就是没有规划,也没人问,不知道自己处于什么位置,漫无目的的跟着视频走效率也不高。转型过程


过年的时候一次巧合我在星球里刷到了疯哥的帖子,那上面公众号说有大数据的学习方法,一开始我是抱着怀疑的态度试试的,因为视频看的差不多了,打算就今年要出去面试了。之后要了份面经,边上班边刷面经,差不多一个月的时间吧,面经上那些简单的面试题算是掌握了,而那些源码级别的问题说实话我到现在也没弄明白。


之前光顾着按部就班地看视频,不知哪些是重点哪些是可以跳过的,看完也觉得似懂非懂,看项目视频的时候抓不到重点,无法与真实场景连接在一起。要说准备转型的过程中的我觉得比较困难的点还是自己学习的时候没有方向感,没有重点。


每个人的经历不一样,学的知识可能有很大差别,找到适合自己的才是最好的,知道自己的进度如何,知识体系差在哪,及时补充,这点非常重要。 面试过程


在今年7 8 月份的时候我面试了几家大数据公司,由于我是从 java 转过来的,侧重点包括了 java 和 大数据 ,面试对 java 基础和大数据的框架考察的比较详细,hadoop 读写、spark分区机制等是常问的面试题。


当然面试也肯定离不开项目,我是把自己工作经历加上了大数据的知识,这边感谢大疯哥帮忙整合项目,给了我一些方向和思路,结合自身项目的业务场景,离线、实时都有涉及。


由于我面的不是大厂,可能考察的知识并不是很深入,疯哥规划的知识体系基本上覆盖了考察的知识点,剩下的就是结合业务场景来说说为什么使用某种技术,解决了啥问题之类的了。最后也是比较幸运,找到了比较合适的公司。


转型后日常工作


新入职的这家公司是做舆情分析的,到现在也差不多入职3个月了,我所在的组就叫数据组,主要负责两方面的工作:


1 实时数据的处理与落地,实时这块用的还是比较老的 jstorm+ rabbitMQ 的技术,整个数据处理过程包括 数据采集+数据预处理+NLP属性+搜索引擎,我就处于数据预处理的环节。


技术上相对来说并不是很难,但刚入职还是得多花时间,一般的问题通过百度都能找的到。难就难在处理的业务上,到现在我也还在熟悉业务,业务上有很多语义、舆情上的东西,随着工作的深入,业务熟悉也在加深吧。


2 离线数据的再分析,计算,我们这叫做数据回溯,就是用旧数据做一些 sql统计,没啥复杂的逻辑, hive 常规操作就搞定了,不会像专门搞数仓的那种各种连接,各种函数的。


3 还有就是各种集群的常规维护吧,多少要会点集群维护的东西,我们这是没有专门的数据运维,所以一些集群操作,都是我们组的自己来弄的。


其实,说到日常工作,对我来说还是比较有挑战性,毕竟技术栈都是新的,接下去还要接入一些新框架Flink这些来替代现在的框架。公司业务也很深,不过我觉得业务这东西对现阶段的我来说可能还不是硬实力,但多少得懂点,所以未来我还是想再学学技术,先把技术弄扎实了,到哪都能混下去嘛



经验总结


1.要说经验的话,如果你还是学生的话,抓紧在学校学习的机会,打好基础最重要。要是你是已经工作的兄弟的话,咱本来就没多少时间学习,如果自己学习效率不高的话,赶紧找人给做个适合自己的计划,时间成本也是很高的啊,有人带跟自己憋完全就是两个世界。


2.另外学习要注重平时积累,最好别搞突击战,不管是视频也好,文档也好,耐心跟着进度学下去,平时努力了,结果应该不会太差。


3.别裸辞,能在职学尽量在职,学的差不多再离职集中面试不迟。


4.转型成功不代表一劳永逸,而是新阶段的开始,要做好终生学习的准备。
--end--

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
5月前
|
传感器 Java 大数据
Java 大视界 -- 基于 Java 的大数据实时数据处理在车联网车辆协同控制中的应用与挑战(197)
本文深入探讨了基于 Java 的大数据实时数据处理在车联网车辆协同控制中的关键应用与技术挑战。内容涵盖数据采集、传输与实时处理框架,并结合实际案例分析了其在车辆状态监测、交通优化与协同驾驶中的应用效果,展示了 Java 大数据技术在提升交通安全性与效率方面的巨大潜力。
|
4月前
|
存储 供应链 数据可视化
Java 大视界 -- 基于 Java 的大数据可视化在企业供应链风险预警与决策支持中的应用(204)
本篇文章探讨了基于 Java 的大数据可视化技术在企业供应链风险预警与决策支持中的深度应用。文章系统介绍了从数据采集、存储、处理到可视化呈现的完整技术方案,结合供应链风险预警与决策支持的实际案例,展示了 Java 大数据技术如何助力企业实现高效、智能的供应链管理。
|
4月前
|
存储 SQL Java
Java 大视界 -- Java 大数据在智能医疗手术风险评估与术前方案制定中的应用探索(203)
本文探讨了Java大数据技术在智能医疗手术风险评估与术前方案制定中的创新应用。通过多源数据整合、智能分析模型构建及知识图谱技术,提升手术风险预测准确性与术前方案制定效率,助力医疗决策智能化,推动精准医疗发展。
|
5月前
|
机器学习/深度学习 Java 大数据
Java 大视界 -- Java 大数据在智能政务公共资源交易数据分析与监管中的应用(202)
本篇文章深入探讨了 Java 大数据在智能政务公共资源交易监管中的创新应用。通过构建高效的数据采集、智能分析与可视化决策系统,Java 大数据技术成功破解了传统监管中的数据孤岛、效率低下和监管滞后等难题,为公共资源交易打造了“智慧卫士”,助力政务监管迈向智能化、精准化新时代。
|
5月前
|
数据采集 机器学习/深度学习 Java
Java 大视界 -- Java 大数据在智能体育赛事运动员体能监测与训练计划调整中的应用(200)
本篇文章聚焦 Java 大数据在智能体育赛事中对运动员体能监测与训练计划的智能化应用。通过构建实时数据采集与分析系统,结合机器学习模型,实现对运动员体能状态的精准评估与训练方案的动态优化,推动体育训练迈向科学化、个性化新高度。
|
5月前
|
机器学习/深度学习 分布式计算 Java
Java 大视界 -- Java 大数据机器学习模型在遥感图像土地利用分类中的优化与应用(199)
本文探讨了Java大数据与机器学习模型在遥感图像土地利用分类中的优化与应用。面对传统方法效率低、精度差的问题,结合Hadoop、Spark与深度学习框架,实现了高效、精准的分类。通过实际案例展示了Java在数据处理、模型融合与参数调优中的强大能力,推动遥感图像分类迈向新高度。
|
5月前
|
存储 Java 大数据
Java 大视界 -- Java 大数据在智能家居能源消耗模式分析与节能策略制定中的应用(198)
简介:本文探讨Java大数据技术在智能家居能源消耗分析与节能策略中的应用。通过数据采集、存储与智能分析,构建能耗模型,挖掘用电模式,制定设备调度策略,实现节能目标。结合实际案例,展示Java大数据在智能家居节能中的关键作用。
|
Java 开发工具 git
Java开发初级6.24.3
5.在Git使用过程中,进行Git配置的操作命令是哪个() A. config B. config -g C. config -a D. git config 相关知识点: 在git中,经常使用git config 命令用来配置git的配置文件,git配置级别主要有:仓库级别 local 【优先级最高】、用户级别 global【优先级次之】、系统级别 system【优先级最低】 正确答案:D 10.RDBMS是什么? A. Rela Database Management Systems B. Relational Database Management Systems C. Relation
217 0
|
SQL 前端开发 JavaScript
Java开发初级6.24.2
3.Java网站src/main/java目录保存的是什么资源? A. Java源代码文件 B. 测试代码 C. JavaScript、CSS等文件 D. 图片资源 正确答案:A 4.什么是索引Index? A. SQL数据库里的表管理工具 B. SQL数据库里的查询工具 C. SQL数据库里的目录工具 D. SQL数据库用来加速数据查询的特殊的数据结构 正确答案:D
296 0
|
Java
Java开发初级6.24.1
1.下面关于泛型的描述中错误的一项是? A. “? extends 类”表示设置泛型上限 B. “? super 类”表示设置泛型下限 C. 利用“?”通配符可以接收全部的泛型类型实例,但却不可修改泛型属性内容 D. 如果类在定义时使用了泛型,则在实例化类对象时需要设置相应的泛型类型,否则程序将无法编译通过 相关知识点: https://edu.aliyun.com/course/35 正确答案:D 2.下列选项中属于SVN中控制鉴权用户访问版本库的权限默认权限的是() A. write B. read C. none D. null 相关知识点: auth-access:取值范围为"writ
329 0