这是大数据入门常识第二篇,主要讨论大数据工作的方向问题。第一篇没看的同学可以补一下:
3000字长文教你大数据该怎么学!
有不少刚入门的同学在后台会问类似这样的问题
看招聘网站上,大数据相关的方向好多,不知道自己适合哪个怎么办?
关注我公众号的同学应该有不少是刚入门的,所以我把内容好好地整理总结了发出来希望能帮到更多人。
大数据开发工程师
大数据开发,大数据平台开发,大数据系统开发,大数据应用开发等等好多种排列组合的说法其实都是类似的,都是同一种大数据猿类,只是各个公司的描述不同而已。为了更具有说服力,我在招聘网站上找了个比较通用的任职要求,大家先来看看。
首先,这种猿类对开发能力有比较高的要求,而且其实在实际工作中,大数据开发和Java后端开发是有一些关联的(因此有后端的朋友问我转方向事宜我都会建议这个方向),大数据开发需要提供接口服务,但是服务端的实现不同的是会对接更多的是大数据技术,也就是说需要用大数据的技术去实现一些需求然后通过接口的方式把数据返回给业务方。涉及分布式存储,分布式批/流计算,分布式调度,分布式协调等等大数据技术。
这个方向的活会比较多,在规模不大的公司,可以说是涵盖了除了算法相关以外所有的我下面提到的工作内容。大数据技术选型,数据仓库建设,ETL链路设计,报表系统数据支持,用户画像系统,任务调度系统,BI系统等等还有好多系统都是需要大数据开发去建设的。
所以入门的同学会很烦恼,大数据技术真的是太多了,Hadoop生态圈这一套东西就已经学到头晕了,学了这个忘了那个,学完之后还是感觉没入门,确实其实学这些技术组件只是开始,真正有价值的是我们用这些组件技术去搭建各种系统为业务服务,解决各种问题。
大数据架构师也要简单说一下,招聘网站上也是有不少需求的,这个职称听起来有点牛逼,其实简单点说就是上面说的大数据开发这种猿类加上了经验和能力buff的产物。
大数据架构师需要做的事情其实更多,他不仅仅需要设计技术架构,还需要掌控公司的整个大数据平台的所有细节,任何一个地方出了问题,没人能解决的话,都需要他在第一线解决问题,还有平台的发展方向,任务的分工,团队技术能力的培养,大数据产品的推广等等,小到码代码bugfix,大到发展方向,哪里需要他,他就在哪里,所以并不是大家想的只指挥人工作的角色。
老读者应该知道这个也是我目前的工作方向,后续的文章我也会围绕这个方向展开,做大数据架构其实是一件非常有意思的事情,有空我会分享一下我的一些经验给大家。
数据分析工程师
数据仓库的建设也是数据分析工程师工作的一部分,所以数据仓库工程师我就不分开讨论了,直接来看看要求。
这个方向python是常规武器,同时很考验业务能力,相比大数据开发的代码能力更重要的是写"高级"SQL的能力,传闻中上万行的SQL大多来自数据分析师之手。这种猿类主要干一些能体现数据本身价值的事情。包括数据建模,数据治理,血缘分析,数据分析等内容,目的是让数据充分发挥价值,和业务部门会有比较多的交集。
在入门级别可能可以不需要有算法能力,但是因为会接触到很多的业务场景,而做算法是需要场景的,所以后期很多人都是会往数据挖掘的方向转(毕竟工资更高)。
数据挖掘工程师
刚才提到了数据挖掘,那就来讲讲这个神秘的“高工资”物种。
数据挖掘工程师是搞算法的,工程能力也有一定要求,但是没有大数据开发那么高的要求。所以,数学不太好且本科学历的同学,建议谨慎选择这条路,除非真的是兴趣浓厚,学习能力强。如果你说是为了钱多,非要选择这条路,那我劝你再慎重想想,数据挖掘普遍工资高是因为高段位的同学把平均数拉高了,高段位的同学也就是你的竞争对手大部分都是研究生和博士。
如果你不是我说的这种情况,那么数据挖掘确实是一个非常好的方向。
ETL / BI / ... 工程师
把这些都写在一块并不是说这两种工作内容是一样的,其实差别还是挺大的,不过 ETL 和 BI 的活其实是大数据开发工作的一部分(传统架构的 ETL 就不讨论啦)。这种专项的招聘要不就工资非常高,需要这方面的专家,来引导大方向;要不就很低,招聘的主要目的是为了能解决掉一些比较繁琐的且其他人不想干的活。
之前老有同学问我 “做 ETL 或者 BI 或者其他 xx 工程师是不是就不用学spark或者其他的技术了?” 类似这种问题。我想说的是如果你想当一条咸鱼而且碰巧还能找到个工作,那你确实可以什么都不学,学点皮毛就行了,但是 “啥也不学” 的后果是会直接体现在工资上的。所以,还是自己好好想想吧。
一般情况下,大数据学习想要“精”之前你必须先“通”,要知道了整体是什么样子的,才能更好地在一个方向深入下去。当然也是可以把这种专项的工作当做是一个过度,从局部看整体,但是不变的是最终你肯定是要看清整体全貌的。这只是我的一点小建议。
工资
最后想聊聊工资,因为这是大家最在意的部分,具体多少不好讨论,因为各个城市的生活成本不同,也会造成工资水平不同。我只排个序,而且这个顺序肯定也不是绝对,算是个平均值吧。
总的来说,数据挖掘的工资水平最高,因为做算法的大多都是硕士博士的学历,起点就比一般的工程师高,拉高了平均水平。
其次是大数据开发,需要很强的工程能力和学习能力,学得多,干的活也多,烦恼也多,问题也多,唯一少的可能就是头发了。
然后是大数据分析,工程能力要求相对较低,入门的门槛也相对低一点,很多小公司需要会SQL即可,晋升路线建议可以尽量往数据挖掘上靠,同时尽量培养自己的业务能力,虽然最后可能比不上算法大佬的工资水平,但是高级的数据分析工资水平也是相当可观的。
最后就是 ETL/BI 这种专项的工程师,高可很高,低可很低,如果不幸你很低,建议往大数据开发方向发展。
推荐阅读
3000字长文教你大数据该怎么学!
还没看过瘾?更多内容扫下面二维码关注下公众号吧。