首页 文章详情

我33岁,从国企主管零基础转型大数据开发,年薪涨了20W

程序源代码 | 361 2021-10-21 20:34 0 0 0
UniSMS (合一短信)

点击上方 "大数据肌肉猿"关注, 星标一起成长

后台回复【加群】,进入高质量学习交流群

2021年大数据肌肉猿公众号奖励制度

学习群里的一个在国企工作的大哥,33岁零基础在职学习大数据的知识,经过几个月的学习在北京拿了几个大家耳熟能详公司的大数据offer,薪资都在33-37W之间,比他现在薪资整整多了20个W.



一、 转行背景


1.温水煮青蛙的八年  

男,1989年生,211理工科。家庭条件一般,从小没啥追求,人比较怂。2013年本科毕业留在上学的二线城市,到2021年,在一家国企里干了8年,分别干过培训,行政,后勤,从专员干到主管,工资从3K一点点升到9K,日子过得虽然省吃俭用,但是时间久了,周围的人都这样,我也就习惯了,正所谓温水煮青蛙。

2.转折点

转折点在结婚后,我傻眼了,发现钱根本不够用,房贷车贷,因为经济原因,不敢生孩子,家庭矛盾频发,公司亏损要降薪,月薪过万遥遥无期。中年危机像一头犀牛撞向我,33岁的我眼冒金星。而我感觉最要命的时候还没来,等有了孩子,等父母老了没法劳动了,那时候才是真正的危机。

3.从初选java到决定大数据

于是从2021年初,我开始自学java,想着转行IT能多挣点钱,哪怕多挣3k,那也比降薪强多了。2021年3月,逛知乎的时候看到了锋哥的一篇回复,里面说到了他当时在本科的时候,如何自学成功转行到大数据的,当晚加了锋哥微信。

当时的我自学java有两个月了,但是对大数据仍然一无所知。我又从网上,以及行业内同学那里了解了下大数据行业的薪资,确实比同年限的java开发要高不少。大概高出30%-50%。于是决定转行到大数据。

 
二、转行难不难

由于我转行的过程中还需要养家糊口,因此,我只能利用工作之余的时间进行。好在国企比较闲,朝九晚五加双休,因为疫情,还时不时50%在家办公。对于零基础来说,学习编程就像学骑自行车,开头的时候是没有方向感的,也是比较着急的。

但是锋哥比较有耐心,在他的指导下,我少走了不少弯路,等到入了这个行,回过头来才发现,大数据或者说编程,它难但又不太难。

难在于,它跟所有的有一定难度的事一样,入门需要个过程,这个过程,不管有多厉害的人指导你,这个心路历程是少不了的,聪明的人早开窍,一般的人晚开窍,但应该极少有人第一天就开窍。

不太难在于,大数据入门和大数据开发,它还没有到达一个吃天赋的地步。只要上过本科,甚至是专科,都可以学会,在目前这个市场上都可以找到相应的工作。这里我不是说没上过本科或者专科的人就笨,学不会,而是没上过本科专科的情况太复杂,这里没法去准确地断言。


本质上,大数据的各个组件也好,编程语言也好,甚至计算机本身也好,它们本身都是工具,作为普通的程序员,只需要学会这类工具基本的使用,就能进行开发,走上工作岗位。有了这样一个认识,我相信对于不少人客服畏难心理是有一定帮助的。

最终是用了6个月,在9月找到了工作,在国庆后跳槽了,跳槽拿到的offer公司都还不小。他们的app在手机上都是比较常见的,薪资都是在20多k。我因为是边上班边学,加上有一定年龄了,用了6个月。

如果是能全天候学习,缩短一半时间是毫无问题的。在这里非常感谢锋哥的指导和规划学习路线,自己摸索和有人指点,差别还是很大的。不说别的,时间成本耗不起。
 

 
三、学习的重点

写在罗列重点之前:

在真正转行到大数据之前,一直有一个误区,就是认为所有的重点都需要掌握,这是广度。但是事实上,走上工作岗位才更深刻体会到,深度比广度更重要。

很少有人掌握所有的重点,但是优秀、能够独当一面的大数据开发工程师,一定在某一方面比较熟练精通。锋哥的公众号里有许多转型成功的案例,随便找一篇,看看其中所列出的重点都可以。


我来说说我的学习路线,以及各个部分之间的关系:

1. java基础,重要程度⭐⭐⭐

这个是必须掌握,能够理解面向对象,看懂多线程代码,看懂jdbc。因为大数据的组件大都是java语言开发的,我们使用这些组件,虽然不一定需要我们自己造轮子,但是轮子是怎么造的,我们能看懂,还是很有好处和必要的。

零基础的同学建议花上3-4周好好学习,练习一下。即使后续做大数据的离线方向,不经常接触java了,但学会了忘掉了,比起没学会还是要强上不少的。之所以是三颗星,而不是四颗星,是因为大部分离线数仓的开发人员,后续接触java的频率还是很少的,尤其是数据分析的人员。实时开发和平台开发会经常用到,接触到。

2. shell,重要程度⭐⭐
了解一下基本语法,和python了解其中一个就可以了。不要花太多时间在上面,用2-3天了解一下,动手敲敲就行了。要求后续能看懂,能在原有的基础上改。


3. linux,重要程度⭐⭐⭐,花上2~3天学习一下。

4. maven,重要程度⭐⭐,1天,重点了解理解一下依赖和项目管理。

5. hadoop+zookeeper,重要程度⭐⭐⭐⭐,这是大数据的基础,又分为HDFS、MapReduce、Yarn。建议时长1周。

6. MySQL+JDBC,重要程度⭐⭐⭐,5

7. HIVE,重要程度⭐⭐⭐⭐⭐, 7

MySQL和HIVE两者用法相近,但本质不是同一个东西,先花5天学完MySQL+jdbc(MySQL增删改查即可),然后再学hive(1周左右)。HIVE是大数据开发最常用的武器,不可以不会。

哪怕你其它的都不会,就会这一个,你也能找到工作。但是这个不会,就会别的,首先不太可能,其次,性价比太低。因为MySQL/HIVE,它的学习成本较低,相对简单易学,使用范围最广,几乎没有之一。
 
8. 到这,就可以接触离线数仓项目了,(基于Hive的离线数仓项目),重要程度⭐⭐⭐⭐⭐。如果你和我一样,不是应届生,那么这是你找工作最重要的砝码。大概需要2周。

9. 辅助组件:flume, azkaban(离线数仓项目会用),sqoop(离线数仓项目会用),这些一共需要大概5的时间学习下,重要程度⭐⭐
 
到这,就可以找大数据离线这一块的工作了。
当然你也可以选择再花7~8周时间继续往下学习大数据实时部分。
 
10. Kafka,如果你选择继续往下学,重要程度⭐⭐⭐⭐,否则⭐

11. Scala+Spark或者flink,选一样,或者全部。如果你选择继续往下学,重要程度⭐⭐⭐⭐,否则⭐

12. 基于spark的实时数仓项目,或者基于flink的实时数仓项目。如果你选择继续往下学,重要程度⭐⭐⭐⭐⭐,否则⭐。

13. 在12的过程中,需要学习和使用redis,hbase,clickhouse,等等一些组件,重要程度⭐⭐⭐。

我个人的情况是学到了13,但是工作中只用到了8这一步。市面上的工作机会,70~80%只需要用到8或者9这一步即可,也就是说,离线数仓的开发占了大部分。每个人可以根据自己的情况做决定。
 
14. 附加项,算法和数据结构。

这个在应届生里面比较重要。但是如果你是社招,不太建议你在入门的时候去啃这一块。因为就算是大厂,大数据开发岗问这一块的也是少数。社招的话,还是项目经验更重要。这个可以在入门以后,作为进阶学习,以图后续更好发展。

15. 源码同上。

14、15附加项是需要时间积累的,也是能看出功底的。要想在开发行业扎根,稳定发展,这两样属于绝活。但是年龄大的话不建议在上车阶段就去搞,时间上性价比不高。

 
四、面试

1.面试问题

我面试过很多的公司,当面试面得多了之后,你会发现大家问的问题大同小异。面经网上有很多,常见问题,一定要熟练掌握,不常见问题,一般也不用去准备了。

对于常见面试问题,我总结了以下几个方面:

Hadoop的组成,shuffle的过程
Hive的优化
项目的整体流程,细节,以及优化经验
如何保证数据的准确性
数据倾斜的问题
小文件的问题
数仓分层
拉链表
数据更新方式(全量,增量,新增及变化)
各种组件挂掉的处理方式
Hbase的rowkey设计
精准一次性(kafka和flink常见)
Flink窗口,三种时间语义,CEPwatermark,exactlyonce,checkpoint。
数据量
集群规模
各种SQL

由于spark我没有涉及,因此我总结的面试问题,不包括spark及spark项目。

2.面试心态

刚开始面试的时候,心态会比较紧张,这是正常的。当面试了5场以后,就好很多了。面试的时候不会的地方没有关系,保持谦虚有礼貌,非极端情况不和面试官硬刚,一般面试官不会刁难你,我经历过数十场面试,没有遇到过面试官刁难的情况。

3.面试方式

主要分为线上和线下。线上又分为电话和视频。这些都是常见的,正常的面试方式。

4.面试周期

个人认为面试周期在2周这样为妥,如果连续面试两周,超过15场面试,没有找到工作,那么应该进行总结、巩固,1~2周后再进行面试。


五、总结

以上情况,均是基于我33岁,211,男,北京市场的2021年下半年大数据学习和找工作情况。如果你22岁,如果你在上海或者深圳,或者是杭州和成都,情况是略微有差异的。

比如我,我的特点一就是年龄大,对时间比较敏感,同时因为出了学校比较久,学起东西来没有20岁出头那时候快了。因此,像14、15,算法和源码部分我是直接暂时放弃掉了,如果年轻,对时间没那么敏感,还是建议多少掌握一些的,毕竟都是能换来真金白银的东西,也对日后学习和工作大有裨益。

种一棵树最好的时间是十年前,其次是现在,诸君共勉。

--end--

扫描下方二维码
添加好友,备注【交流
可私聊交流,也可进资源丰富学习群


更文不易,点个“在看”支持一下👇

good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter