我看很多小伙伴在讨论群或者私信里向我抱怨说,想学习大数据技术,想通过实践来提高自己的实战水平,但是无奈自己只是一个普通后端开发,或者纯写SQL的,工作中接触不到真正的大数据技术,没有实践的机会。如果你真的一直这么认为,那么我估计你想后续转行做大数据开发,是一件非常难的事情。因为毕竟,如果你没有相关的实战经验,在当下的求职环境里,别人几乎不可能给你这样的工作机会。
即便你看了很多相关的书籍、视频,背了非常多的技术八股文,但是如果你没有用这门技术去解决过实际的生产问题,在用人单位眼里,你会的这些近乎一堆破铜烂铁,没有什么价值。
因为你眼中所谓的掌握,只不过是一些太表面、太肤浅的【技术表皮】,别人只要稍微把你背过的知识点下沉一点点、拓宽一点点,你大概率就懵逼了。
而这些东西,你如果不经历实际项目的捶打、历练、甚至痛苦挣扎,你是不可能领悟到这些技术的精髓的,你的简历永远就只能干巴巴的写一些似是而非的熟悉这个、熟悉那个,或者了解这个、使用过那个等等。
整个求职简历散发出的气质,透露着一股浓浓的不自信,连你自己都这么心里没底,你说这份简历,面试官怎么可能让你通过呢。虽然说简历内容都需要进行包装,但前提是你得有一些自己的东西啊,你什么都不会,什么解决实际问题的经验都没有,总不能尬吹吧,你要知道,那种明明肚子里无货,却强装厉害,结果被面试现场拆穿,可是一件特别丢人的事情。
我知道现在对于刚入行大数据开发的小伙伴们,会感觉很痛苦,想实践找不到机会,觉得没有资源,而大数据技术想在没有实践的情况下去提高,那简直就是做梦。
那么,作为一个曾经半路转行的大数据开发,来给你支几招如何快速找到实际项目经验的方法:
这一条专门针对那种已经是程序员,但是想转大数据开发的小伙伴。这里的资源,既指业务资源,也指硬件资源。怎么理解?就是你当前公司肯定有数据处理需求对不对,你甭管现在用的处理手段是什么,比如编程语言用C、纯Java、SQL、PHP等,数据库只用到了MySQL、Oracle、PG等等。
你完全可以把当前的业务场景,找一个方便你理解的切面,用大数据手段来实现,比如很多人抱怨自己只是个SQL boy,一天到晚反复捣鼓那几个SQL,没劲!那么你完全可以把当前用SQL处理的数据,用spark或者flink代码来实现一遍,然后对比一下这两种在效率、数据正确性、以及稳定性方面有哪些异同。
这样一来,对你来说,业务场景有了,实现目标也有了,剩下的就看你愿不愿意去做了。
你只要执行力够强,这个事情一定是可以实现的,而且很有意义,说不定在这个过程中你还会发现当前公司技术实现上的一些问题,而你说不定在这个思考的过程中,就可以解决这些问题。而且如果你的技术方案足够好,说不定还能推动部门的技术变革,让领导对你刮目相看,从而更加器重你,这是非常有可能的。代码写完了,往哪跑,完全可以在公司服务器上运行对不对,但是建议最好在测试环境,且在不忙的时间段,一定不要影响到正常业务代码的运行。
有些刚工作不久的小伙伴可能不敢,觉得这样是不是不道德,大可不必这么想,你只要不影响正常工作,额外这种学习技术的事情是值得被鼓励的。
一直以来,我团队的小伙伴都有人这么干,只要你在保证干好本职任务的前提下,用业余时间提升下技能是完全可以接受的。
对于另外一些同学来说,可能当前没有上面那些条件,比如还是在校学生,还没有找到正式工作等等。这个时候,咱虽然没有在公司中的那些便利条件,但是学习这个事情是不可以因此耽误的,没有条件,创造条件也要上。
找台配置好点的电脑,这里的配置好,主要体现在CPU和内存上,然后在上面建几个节点的虚拟机(具体可以参考你要的大数据实战项目,来啦!),把大数据集群给部署起来(我看有的小伙伴干脆租起了云服务器来构建集群)。集群建起来了,自然是要跑任务的,具体跑什么,怎么跑,也可以参考我之前发的大数据项目文章,已经更新了好几篇,有现成的数据和代码(数据量过亿),需要的同学可以找我要,免费提供。当年我为了锻炼Hadoop的实战经验,专门跑去香港花重金买了台当时性能还不错的笔记本,建了4个节点的虚拟机集群,因为使用频繁,2年时间内换了4块硬盘。
我最初的大数据实战经验就是靠跑废的这4块硬盘换来的,现在想想,真的超值,在投资学习这块,一定不要过于抠门。
提供给大家的大数据项目其实都不难,但是却都比较经典,而且非常的实用,你看着代码好像都不难,但是如果你自己来写,你未必写的出来,不信你试试看。
所以我建议你拿到我的项目代码后,先大概看一遍,然后最好自己来实现,看你的实现跟我的有哪些区别,为什么我的可以这么简洁,而你的代码却有那么多的冗余。
这种可实践式的知识点学习才是最有效的、记忆最深刻的,否则你只是把代码拉下来运行一遍,就算过了,说实话,基本没有什么意义,该不会的还是不会。
而且提供给你的,那么大的数据量,你是可以做非常多的事情的,你可以做非常多的技术验证实验,比如看到一个新的技术观点,如果你对它有怀疑,或者认为它说的不对,那么用具体的案例验证一下,是学习技术的最佳手段。

最后
所以,不要再说什么没有实际项目练手的机会,不要去找各种蹩脚的借口,资源和机会其实一直都在你身边,就看你能不能发现它们,或者愿不愿意去发现它们。
越早行动,越早实践,你就能快人一步。
你可以添加我的私人微信,拉你入技术讨论群,跟一群热爱技术的小伙伴一起成长...
