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

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务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的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
10天前
|
Java API Maven
如何使用Java开发抖音API接口?
在数字化时代,社交媒体平台如抖音成为生活的重要部分。本文详细介绍了如何用Java开发抖音API接口,从创建开发者账号、申请API权限、准备开发环境,到编写代码、测试运行及注意事项,全面覆盖了整个开发流程。
53 10
|
16天前
|
SQL 安全 Java
安全问题已经成为软件开发中不可忽视的重要议题。对于使用Java语言开发的应用程序来说,安全性更是至关重要
在当今网络环境下,Java应用的安全性至关重要。本文深入探讨了Java安全编程的最佳实践,包括代码审查、输入验证、输出编码、访问控制和加密技术等,帮助开发者构建安全可靠的应用。通过掌握相关技术和工具,开发者可以有效防范安全威胁,确保应用的安全性。
34 4
|
17天前
|
缓存 监控 Java
如何运用JAVA开发API接口?
本文详细介绍了如何使用Java开发API接口,涵盖创建、实现、测试和部署接口的关键步骤。同时,讨论了接口的安全性设计和设计原则,帮助开发者构建高效、安全、易于维护的API接口。
46 4
|
23天前
|
SQL Java 程序员
倍增 Java 程序员的开发效率
应用计算困境:Java 作为主流开发语言,在数据处理方面存在复杂度高的问题,而 SQL 虽然简洁但受限于数据库架构。SPL(Structured Process Language)是一种纯 Java 开发的数据处理语言,结合了 Java 的架构灵活性和 SQL 的简洁性。SPL 提供简洁的语法、完善的计算能力、高效的 IDE、大数据支持、与 Java 应用无缝集成以及开放性和热切换特性,能够大幅提升开发效率和性能。
|
24天前
|
存储 Java 关系型数据库
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接创建、分配、复用和释放等操作,并通过电商应用实例展示了如何选择合适的连接池库(如HikariCP)和配置参数,实现高效、稳定的数据库连接管理。
44 2
|
17天前
|
安全 Java 测试技术
Java开发必读,谈谈对Spring IOC与AOP的理解
Spring的IOC和AOP机制通过依赖注入和横切关注点的分离,大大提高了代码的模块化和可维护性。IOC使得对象的创建和管理变得灵活可控,降低了对象之间的耦合度;AOP则通过动态代理机制实现了横切关注点的集中管理,减少了重复代码。理解和掌握这两个核心概念,是高效使用Spring框架的关键。希望本文对你深入理解Spring的IOC和AOP有所帮助。
31 0
WK
|
23天前
|
开发框架 移动开发 Java
C++和Java哪个更适合开发移动应用
本文对比了C++和Java在移动应用开发中的优劣,从市场需求、学习难度、开发效率、跨平台性和应用领域等方面进行了详细分析。Java在Android开发中占据优势,而C++则适合对性能要求较高的场景。选择应根据具体需求和个人偏好综合考虑。
WK
40 0
|
1月前
|
存储 机器学习/深度学习 分布式计算
大数据技术——解锁数据的力量,引领未来趋势
【10月更文挑战第5天】大数据技术——解锁数据的力量,引领未来趋势
|
11天前
|
存储 分布式计算 数据挖掘
数据架构 ODPS 是什么?
数据架构 ODPS 是什么?
92 7
|
11天前
|
存储 分布式计算 大数据
大数据 优化数据读取
【11月更文挑战第4天】
26 2
下一篇
无影云桌面