数据分析 vs 数据科学 vs 数据工程:如何选择最适合你的数据岗位?
众所周知,数据工程师、数据科学家和数据分析师都是当今许多人关注并希望获得的热门职位。普华永道称这三个职位都是“美国最受欢迎的职位”,而数据科学家和数据工程师在领英发布的《2020年新兴工作报告》(2020 Emerging Jobs Report)中分别位列第3位和第8位。
事实上,这些角色是非常密切相关的,许多公司甚至可以互换使用这些术语。因此,如果你正在考虑进入数据世界,选择合适的角色似乎是一项听起来很难的任务。与此同时随之而来许多问题,比如:我没有博士学位,能成为一名数据科学家吗?如果我想成为一名数据分析师,我需要了解Python或R吗? 等等。
作为一个曾经的数据科学家、现在是数据分析师,并且在这两种工作中都与许多数据工程师密切合作过的人,我会试着为你们分析这些角色其中的差异,并指出正确的方向。
概述:宏观的差异和重叠
如果我们粗略地将公司分为两个方面——工程方面和业务方面——我们可以使用下面的维恩图来说明角色和公司任何一方之间的关系和重叠。请注意,这种区别适用于大多数中型和大型公司;然而,在小型初创公司,这些角色之间的界限通常变得模糊;大多数情况下,这些角色可能是三者的混合体。
数据工程师(Data Engineers)是这三个角色中最接近典型工程师角色的,也是离业务端最远的。数据工程师把大部分时间花在设计、构建、构建和维护数据库上。大多数公司通常有很多来自公司内部或外部的数据来源,数据工程师的工作就是建立和维护数据库,使数据易于访问和便于公司其他部门使用。不同的数据表如何相互连接?每个表的主键应该是什么?这些是数据工程师在工作中需要做出的决策的一些例子。数据工程师偶尔会与公司的业务部门协作来定义表的结构,因为业务团队通常是数据工程师构建的许多表的最终用户。
数据科学家(Data Scientists)可能是这三个职位中最知名和被提及最多的一个。关于这个角色的一个误解是,你必须有机器学习或类似领域的博士学位。这对于数据科学家们中的一部分人来说是这样的,他们的工作需要专注于建模和算法。这些数据科学家(约30%,任职于大型公司)通常拥有非常强大和高度量化的学术背景,在高级机器学习领域有广泛的理论知识和实践经验。然而,大多数的数据科学家(约70%)来自更多样化的背景。他们将大部分时间用于进行A/B测试和分析不同业务指标,他们建立的模型将可能用于需求预测或特定用途的分析,而不是强化学习或深度神经网络。
数据分析师(Data Analysts)这一职位,在许多公司中是可以与数据科学家可以互换使用的。因为他们都在密切关注业务指标和进行分析。如果必须做出区分,那么很可能是数据分析师更多地在解释可度量的业务指标和数据可视化上,而数据科学家则花费大量时间对业务指标进行统计分析。
这三个角色之间的重合是很常见的。每个做数据科学项目的人都知道,通常约80%的时间花在数据清理上,而完成回归或分类最终只需要20%的时间,甚至更少。这就是为什么数据科学家和数据分析师与数据工程师的密切合作是如此重要,这可以让数据进入分析之前预先对数据进行结构化处理和清洗,从而将所有人从凌乱的数据中解救出来。
为了更好地说明这三个角色是如何一起工作的,我来举一个例子。
假设有一家公司想要在他们的应用上推出一个新功能,就需要进行一次A/B测试。数据科学家将负责决定实验规模,并决定如何划分控制组和实验组;数据工程师在后台建立数据库,确保A/B测试启动时记录所有用户活动和事件,确保数据以正确的格式和结构入数据库。实验结束后,数据科学家和数据分析师将对A/B测试的结果进行统计分析,深入研究一些重要的指标,并为最终的报告完成数据可视化。
技术要求
这三个职位都要求具备一定的编程能力,但是三者分别需要具体学会哪种编程语言和哪个分析平台呢?
数据工程师(Data Engineers)是不同数据仓库和云计算平台的专家,他们还懂得如何构建提取/转换/加载(ETL)数据管道。他们每天工作会使用AWS,Google Cloud,Snowflake和许多其他工具。数据工程师会熟悉SQL和Python,有些耶擅长C ++和Java。
数据科学家(Data Scientists)深入了解统计知识,对SQL、R和Python等软件也并不陌生。一位优秀的数据科学家还会整体了解一些机器学习的基本算法,以及如何进行应用。
数据分析师(Data Analysts)是SQL的专家,并且具有实用的统计知识。他们知道如何快速将商业问题转换为分析性问题,并利用Tableau和Looker等工具来进行数据可视化。
其他重要技能
养成使用Google的习惯。要知道Google是数据行业最好的老师。知道如何使用Google是非常重要的技能。你一定会在工作中遇到困难,而当你遇到这种情况时,Google和StackOverflow就是会成为你最有力的武器。
在工作中学习。这与最后一点有些联系。很多人通过谷歌或与同事交谈来持续在工作中学习。每个公司都有不同的数据库和工具,不同的数据文化(并非总是完美的),工作流程和实践技巧。因此,开放性和不断学习工作的能力对于在公司数据领域的任何人都至关重要。
利益相关者管理。所有分析工作最终都将用于推动商业决策。因此,数据方向人才工作的重要内容就是向商业利益相关者解释分析结果和概念,并将其与商业成果联系在一起。优秀的数据人才是具有足够的分析知识,同时又具有商业头脑的人。
那么,如何做好职业方向的选择呢?有两个问题需要考虑:
1. 你想做什么?
2. 根据你当前的技能和经验,你有资格担任什么样的角色?
你想做什么?
本文讨论的三个职位在不同程度上与商业决策产生联系,这意味着它们需要不同程度的利益相关者管理。具体来说,就是更多人与人之间的互动和Zoom会议,这其实是许多内向的分析师所惧怕的。但另一方面,更多的与商业联系也意味着更大可见的实际影响以及和决策者交流联系。
也许一种心理实验能够帮助你找到答案,想象一下A/B测试的几个示例:
你进行彻底的统计分析以解决控制组中的偏差,或者建立模型以避免网络效应对A/B测试结果的影响(数据科学家)
你花费数周的时间对Data Pipeline进行编码和调试,但最终看到数据魔力般整齐的流向结构化的数据库中(数据工程师)
你平时密切监视数据指标,帮助确定业务并利用数据可视化帮助企业做出商业决策创造新功能,你的朋友们在谈论应用程序时非常喜欢这个新功能(数据分析师)
以上哪种情况是你觉得最喜欢、最满意的情景呢?
你有资格担任哪个角色?
或者说,你有时间来建立哪个职位的必备技能呢?在忽略你无法改变或弥补多年工作经验的情况下(优点在于,大多数与数据相关的角色对学校的背景或专业没有非常严格的要求),职位描述和简历之间大多数的差异都可以由在线课程和面试准备来不断缩短。数周的SQL、R /或Python基础在线课程以及麦肯锡式案例研究的实践将帮助你通过技术筛选和商业敏锐度的面试,从而使你踏入数据分析师角色的大门。但是,如果你想成为具备足够编程和ETL能力的数据工程师,或者想成为统计和建模专家以担任更高级的数据科学家,你可能需要数月或数年的时间来学习和准备。
但是好消息是,大多数公司在不同数据角色之间的转换上都非常容易。而且由于数据技能的可移植性,你几乎永远不会陷入错误的职业道路。所以……如果你真的不知道想要去做三者中的哪个职业,可以先从任何与数据相关的角色开始做起,尝试一下,然后进行调整。
免责声明:上述内容仅代表发帖人个人观点,不构成本平台的任何投资建议。


