五年Java外包转型大数据架构,就是这么霸气

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 五年Java外包转型大数据架构,就是这么霸气

前言


乔二爷(化名)是我学习群的元老,我们去年就认识,他是五年Java经验的老鸟。去年年底他刚开始学大数据的时候给我打过电话,咨询一些学习路线上的问题,那时刚转型大数据的我给了他几点不太成熟的建议,并提供了一些我自己整理的资料,今年年初就成功转型了,并且从数据开发到现在的架构,实属牛逼。

个人介绍
我乔二爷,专科,坐标二线城市。14年8月毕业开始从事Java开发,月薪3800,在外地驻场两年多,17年初开始接触大数据,18年底开始系统学习,今年开始正式全职做大数据相关的开发和架构工作。薪资涨幅40%,当前年薪20万+。



为什么想转大数据


今天距离去年下决心从上家公司要离开时差不多有一年的时间。这一年来,自己的心智和心态都发生了不小的改变。这一节的主题是为什么我要想转大数据?


其实在在遇到锋哥之前,在2017年初,我在云南出差驻场的时候就开始在接触大数据。我记得那是从元旦节开始的,当时是买的黑马2016年的几块几包邮那种。了解到大数据的时候,简直开启了我的新世界的大门,从薪资的角度来讲,普遍比Java 高,也是我无法拒绝的。当初看这个很大程度就是看到薪资去的。



转型之前的工作


在17年年中回到成都总公司到18年4月份左右,陆陆续续的进入到公司的其他业务线,但是工作内容跟大数据并没有沾边,没有用上。这段时间内,时不时的晚上也在回来看看视频学习,那时候学习习惯不好,很多内容就看看,并没有去写一些代码,做一些笔记去理解它们。当然了,吸收的效果也就比较差了。


这段时间其实是有个业务有实时计算的问题,当时先从前台定时任务去触发请求过来再到后台从数据库里面查询,跑了一段时间,越来越慢,因为很多页面时一分钟一次,一次要读取十来个接口,页面才能拼装完成。


由于这是数据都有时间的特性,也就是可以通过时间维度来组装,日数据可以从小时统计,月的可以从天累计,年的可以从月累计。就这样,请求进来,只需要当天的数据从数据库里面拉以外,其他的时间段的数据都从缓存里面取出来拼装。这一次改造,基本上解决了频繁查库,还有慢的问题。但是冷启动的时候这个缓存怎么做,是个问题,当时我们很简单,访问一遍页面。


然后我不满足,在一天看文章的时候发现了 Storm 这个东西,第一次接触实时计算的东西。这个时候学的那个大数据课程,没有看到这里来,然后就去翻,发现里面有这个的讲解。新世界的大门,又看了一点点。


看了一遍,很爽,想去改造我们上面的那个功能,老大让我去搞了。此时采用的方案是 Kafka+ Storm ,也是比较平常的方案,但是这些东西在我们公司都是第一次用。很多人只听过kafka ,没用过,更别说 Storm 了。数据源到Kafka 这一层,要么是通过写一个应用程序部署到客户那边从别人数据库采集好通过Kafka 的api 写到 Kafka 中,要么就是用canal 去解析人家的binglog 日志,往Kafka 里面送。


接下来就是写storm 的代码了,当时我记得写完了一个业务以后跟他们介绍这些东西的时候,包括当时的技术总监在内的都比较懵逼。因为它们没接触过大数据相关的组件。


但是这个事情没有结尾,因为中途我被调到其他的业务线去支撑去了,这个事情他们没有接起来,一是没人会整,第二就是前面的那一遍改造已经完全够用了,速度啥的都满足要求。但是这个事情对我来说还是有不小的收获,给后面要决心去做大数据埋下了伏笔。



18年5月份的样子,接又手了公司的一个跟大数据沾边的业务线,下面有差不多12个人的样子。工作内容更多是在协调管理上。技术上的事情基本上没有太多。这个项目组的特点就是收集三方数据,然后内化为我们的大屏应用。


部分项目的数据量,有些表也是上亿的。符合一些大数据的特点。完全可以用大数据的套路来做,如果让我今天来做。我会采用大数据这一套来做采集、处理、和收集这一套来做。以前都在一个Java 项目里面来做的,收集回来的数据直接就处理成了需要的结果数据。后面的改需求,从新计算数据这些还得从新取数据回来,去改代码,然后重新部署。


有个印象比较深的项目,处理这个数据加班了一个周末,一直搞到周一的凌晨三点半才回去,这还是常态。那时候吧,其实是有点数仓的概念,但是怎么落地不知道。想找人去取经,咩有。


差不多时间来到了10月份,带团队这几个月,基本上在加班中度过,但同时我也意识到技术上的欠缺,加上每天处理各种项目上的协调事宜,很多东西加班加点出来,只是做些假数据(客户的意思)出来让各种项目的领导看一看而已。对我们技术来说,真的,浪费你的青春。


可能有人会说走管理不好么?不也管了十来个人了么?确实,管理是后来想要去做的方向。只是当前来说,一来心智不成熟,怕带坏别个,二来,技术管理,首先是技术,然后才是管理。这点我是在公司呆了十年的一个大哥身上看到的,他最开始是公司技术部门的经理,但是没有什么技术能力,我也是他招进去的。不是说他不好,而且技术这方面不太能够管理一个技术研发部门。


四年过去了,到现在,我以前的那个组长,现在带了公司的研发部门50多人的样子,他的管理技能是最近两年才学习的,而待了十年的那个领导,边缘化了,非核心部门。其实从这一点来说,我看到了一个技术公司的管理,什么技能才是最重要的?


大家可以想想看,如果公司因为一些因素要减员,会首先考虑什么样的人?


其实在未来的职业发展上的考量,我认为我在30岁之前,应该重要积累的是技术能力。而那时候离30岁,还有5年。


考虑到这些方面的问题,还有就是快要装修了,一旦装修得去贷款,又会花一大笔钱,按照现在的薪资水平还不起,后面想摆脱这些去做大数据可能又得往后推迟,时间就是钱呀。


终于,在2018年12月5号,我裸辞了,还是在这种到处裁员的环境下。但是大家千万千万不要学我,如果你的经济实力不能满足你未来六个月的开销,那就别这样做,因为你会面临非常大的心里压力。



开启转型之路


从公司出来的那天中午,天很蓝,银杏儿颜色也很好看,直接去的媳妇儿学校,她在那里准备二次考研。


当天晚上,我就跟媳妇儿一起坐在他们学校的图书馆了,感觉真好。


其实前面两天我在刻意的去练习我的注意力不集中问题,也就是浮躁,想静静心。如果你静不下来,浮躁的话,你做不好任何事情。


然后复盘了一下这几年来自己的不足。有两个比较大的问题就是学习方式问题,没有记录知识(这里的记录是说自己写的,自己整理的,不是你收藏、剪切别人的)和形成知识体系的习惯。然后就是浮躁,这也想学,那也想学,这里看一下,那里看一下。到头来,没有一个做好了的。


通过番茄时钟和冥想的帮助,我能够集中一些注意力了。然后开始学大数据的内容,计划还是跟到课程走,还是黑马那一套。但不是说全部走完,因为时间确实不是太充足,我是计划到年后三月份的样子,能够先搞定面试。


学习方式跟之前有了改变,说一点比较明显的就是在学习原理的时候,我会在晚上复习的时候把图自己画一遍,当然了画的时候回去思考他,然后所有的代码都敲一遍。那些自己画的原理图到现在都能记得到。


大概一个星期左右,在星球遇到了锋哥,跟他大概介绍了一下情况,聊了聊,给了一些建议。虽然给的路线我没有完全按照那个走,但是他提供的路线和资料对我很有借鉴意义,最重要的是给到我「信心」,让我确定了这么做下去是正确的。


前面说到了体系的东西,说一个点,就是JVM 的知识,因为这一块是以前不敢想的东西,觉得太难了。确实也很难,不是你背一点面试题就能搞定的。当时我看了网上的讲解JVM的 知识课,这个课是买的一个架构课里面的一个章节,老师讲得不错,然后结合《深入理解JVM虚拟机》这本书,看了内存布局、垃圾回收等几个被常常问问题的几个章节,整理了几篇文章,一个多星期后,发现不少的 JVM 面试知识点都能回答上来了。而且脑子里面能够关联起来这些东西,这是以前完全没有的感觉。


不光是JVM ,任何一项技术,都希望大家能够体系化的去学习。这点在大厂面试的时候,相信你有深刻的体会。


后面大概在图书馆呆了一个多月的样子,从她学校那边回自己住的这边来了,然后还是坚持早上九点开始学习,中午从十二点休息到一点半,晚上到10点左右,基本上按照大学的作息时间来的。


持续到3月份的样子,其实在4月份入职之前,不去面试的时间,都会按照学习时间来,但是早上也会时不时去小区篮球场打一个小时球,缓解压力。要么早起去外面公园转转,保持清醒,思考问题。


面试,说实话,我效果不太好。后来请教锋哥这位面试老鸟,帮我从简历书写投递到面试完的复盘都梳理了一下,不得不说经验是实实在在的财富,这些方法对我后面的面试帮助非常大。


今年的行情对于低学历的人来讲,是真的太难了,不过只要坚持,还是有机会的。有好几个公司,去面试聊一个多小时都没结果。很多直接丢垃圾桶,机会都没得。但是最终还是收到了两个,虽然感觉还可以拿到更好的offer,但是还是去了,因为实在拖不起了,必须得回血。薪资算下来,在之前的基础上上涨了40% 的样子,现在差不多一年有20来万。


虽然没有太好,但是我进入到这个行业了呀,后面可以继续积累,往自己想去的地方冲啊。



 当前的状态


现在的情况稍微轻松一点,只是比较意外的是,具备系统开发能力的只有我一个人,其他的小伙伴是做数据治理,建模和数据开发的。因为我们是数据服务部分,很多对外提供接口开发这些东西也落到我头上了,但是还是可以搞定,没加过班!


除开公司的那八个小时以外,现在基本每周差不多学习时间在15~20个小时左右。基本上晚上回来会学习两个小时,因为我的目标是去互联网公司。前面那段时间学的东西是达到了普通公司的需求,但是如果你没有成体系的知识,是不得行的,现在也在一块一块的去补充。


贴一个链接,我今年的#阿里一面#的经历。知乎专栏上「记一次阿里巴巴一面的经历」(https://zhuanlan.zhihu.com/p/60828766) 有差不多1.2K 的赞,大家感受一下里面的流程。内容很简单,但是没有深厚的积累,还是不行的,我就是反例。



一些感想和建议


1.如果你想好了要转大数据,那就立即开始吧。路线没思路的,可以请教请教过来人。当然了跟网上的培训课程走,哔哩哔哩上面多得一匹,只要你想你就能找得到。关键是你别只是观望呀,得去做呀,去学呀。


2.对于转型的人来说,简历上的项目非常重要,可以说是敲门砖。网上的项目虽然很多,但你得根据你实际来,这里求精不求多。
3.除了知识实力之外,简历书写以及整个面试过程也都是整体实力的一部分,刚开始没重视面试这块,以为有实力就行,导致浪费了很多机会。


4.不管怎么样,都希望大家能够花时间好好想想以后要怎么走,自己需要具备什么样的能力才不会被这个高速发展的社会抛弃,才不会有所谓的多少岁危机。


5.别在自己的舒适区待太久,不然出不来,出来「混」,迟早是要还的!想好了就立马行动,别找借口!


6.最后希望大家都有自己的核心竞争力,也希望我的35岁危机不是因为生活压力,更不是因为怕被裁员。


--end--

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
14天前
|
大数据
【赵渝强老师】大数据主从架构的单点故障
大数据体系架构中,核心组件采用主从架构,存在单点故障问题。为提高系统可用性,需实现高可用(HA)架构,通常借助ZooKeeper来实现。ZooKeeper提供配置维护、分布式同步等功能,确保集群稳定运行。下图展示了基于ZooKeeper的HDFS HA架构。
|
1月前
|
SQL 存储 分布式计算
ODPS技术架构深度剖析与实战指南——从零开始掌握阿里巴巴大数据处理平台的核心要义与应用技巧
【10月更文挑战第9天】ODPS是阿里巴巴推出的大数据处理平台,支持海量数据的存储与计算,适用于数据仓库、数据挖掘等场景。其核心组件涵盖数据存储、计算引擎、任务调度、资源管理和用户界面,确保数据处理的稳定、安全与高效。通过创建项目、上传数据、编写SQL或MapReduce程序,用户可轻松完成复杂的数据处理任务。示例展示了如何使用ODPS SQL查询每个用户的最早登录时间。
98 1
|
1月前
|
存储 分布式计算 大数据
大数据-169 Elasticsearch 索引使用 与 架构概念 增删改查
大数据-169 Elasticsearch 索引使用 与 架构概念 增删改查
59 3
|
15天前
|
SQL 数据采集 分布式计算
【赵渝强老师】基于大数据组件的平台架构
本文介绍了大数据平台的总体架构及各层的功能。大数据平台架构分为五层:数据源层、数据采集层、大数据平台层、数据仓库层和应用层。其中,大数据平台层为核心,负责数据的存储和计算,支持离线和实时数据处理。数据仓库层则基于大数据平台构建数据模型,应用层则利用这些模型实现具体的应用场景。文中还提供了Lambda和Kappa架构的视频讲解。
【赵渝强老师】基于大数据组件的平台架构
|
15天前
|
机器学习/深度学习 运维 监控
智能运维在现代IT架构中的转型之路####
【10月更文挑战第29天】 本文旨在探讨智能运维(AIOps)如何成为现代IT架构不可或缺的一部分,通过分析其核心价值、关键技术及实践案例,揭示AIOps在提升系统稳定性、优化资源配置及加速故障响应中的关键作用。不同于传统运维模式的被动响应,智能运维强调预测性维护与自动化处理,为企业数字化转型提供强有力的技术支撑。 ####
52 0
|
1月前
|
SQL 存储 分布式计算
大数据-157 Apache Kylin 背景 历程 特点 场景 架构 组件 详解
大数据-157 Apache Kylin 背景 历程 特点 场景 架构 组件 详解
31 9
|
1月前
|
存储 SQL 分布式计算
湖仓一体架构深度解析:构建企业级数据管理与分析的新基石
【10月更文挑战第7天】湖仓一体架构深度解析:构建企业级数据管理与分析的新基石
93 1
|
1月前
|
存储 分布式计算 druid
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
55 3
|
1月前
|
存储 SQL 缓存
Apache Doris 3.0 里程碑版本|存算分离架构升级、湖仓一体再进化
从 3.0 系列版本开始,Apache Doris 开始支持存算分离模式,用户可以在集群部署时选择采用存算一体模式或存算分离模式。基于云原生存算分离的架构,用户可以通过多计算集群实现查询负载间的物理隔离以及读写负载隔离,并借助对象存储或 HDFS 等低成本的共享存储系统来大幅降低存储成本。
Apache Doris 3.0 里程碑版本|存算分离架构升级、湖仓一体再进化
|
1月前
|
消息中间件 分布式计算 druid
大数据-154 Apache Druid 架构与原理详解 基础架构、架构演进
大数据-154 Apache Druid 架构与原理详解 基础架构、架构演进
44 2
下一篇
无影云桌面