它们有何区别?数据工程师、数据科学家与分析工程师之间的职责划分

女性自由开发者在编码和编程

 

现代数据团队相当复杂。

即使是数据团队的一员,跟踪所有不同职责角色及其细微差别也会变得很混乱,对于支持或协作团队的非技术背景管理者而言更是如此。

最大的混淆之处之一是理解数据工程师、数据科学家和分析工程师职责角色之间的区别。

 

什么是数据工程师?

数据工程师负责开发和维护数据架构和管道。本质上,他们构建生成数据的程序,并旨在以一种确保输出对操作和分析有意义的方式来实现。

他们的一些主要职责包括:

  • 管理管道编排
  • 构建和维护数据平台
  • 领导任何定制数据集成工作
  • 优化数据仓库性能
  • 开发数据建模和数据生成的流程
  • 为数据管理实践设定标准

数据工程师的重要技能包括:

  • SQL 专业知识
  • 能够处理结构化和非结构化数据
  • 精通编程和算法
  • 具备工程工具和测试工具的经验
  • 具有很强的创造性思维和解决问题的能力
Mixture of Experts | 12 月 12 日,第 85 集

解码 AI:每周新闻摘要

加入我们世界级的专家小组——工程师、研究人员、产品负责人等将为您甄别 AI 领域的真知灼见,带来最新的 AI 资讯与深度解析。

分析工程师的职责是什么?

分析工程师将各种数据源汇集在一起,以便能够提供洞察分析。他们的工作是构建能够以清晰、简洁的方式反复对数据进行建模的系统,以便每个人都能持续地使用这些系统来回答问题。正如 dbt Labs 的一位分析工程师所言(ibm.com 外部链接),分析工程的关键价值在于“一次性解决复杂问题,却能持续从中获益”。

他们的一些主要职责包括:

  • 理解业务需求并定义成功的分析成果
  • 清理、转换、测试和部署数据以做好分析准备
  • 引入关键数据和数据流程的定义和文档
  • 将软件工程技术,如持续集成,应用于分析代码
  • 培训其他人使用最终数据进行分析
  • 与数据科学家和分析师协作,探讨改进脚本和查询的领域

分析工程师需要掌握的重要技能(ibm.com 外部链接):

  • SQL 专业知识
  • 深入了解软件工程最佳实践
  • 使用数据仓库和数据可视化工具的经验
  • 在维护多功能关系方面具有强大的能力
  • 数据分析或数据工程背景

数据科学家的职责是什么?

数据科学家使用高级统计分析和机器学习算法研究大型数据集。通过这种方式,他们识别数据中的模式,以推动关键的业务洞察分析,然后通常使用这些模式来开发机器学习解决方案,从而规模化地获得更高效、更准确的洞察分析。至关重要的是,他们将统计学经验与软件工程经验相结合。

他们的一些主要职责包括:

  • 将大型数据集转换和清理为可用格式
  • 应用聚类、神经网络和决策树等技术从数据中获取洞察分析
  • 分析数据,找出可能影响业务的模式和趋势
  • 开发机器学习算法(ibm.com 外部链接)以评估数据
  • 创建数据模型以预测结果

数据科学家的重要技能包括:

  • SAS、R 和 Python 方面的专业知识
  • 在机器学习、数据处理和高级数学方面拥有深厚的专业知识
  • 使用大数据工具的经验
  • 了解 API 开发和运营
  • 数据优化和数据挖掘背景
  • 很强的创造性思维和决策能力

那么究竟如何协同运作?

即便将数据工程师、数据科学家与分析工程师的职责描述并列对比,仍会令人困惑。因为这些职位在技能与专注领域上确实存在重叠。那么究竟如何协同运作?

数据工程师构建生成数据的程序,虽然他们的目标是使这些数据有意义,但仍然需要将其与其他来源的数据结合起来。分析工程师将这些数据源整合起来,构建系统,使用户能够以易于访问、可重复的方式获取洞察分析。最后,数据科学家开发出能够规模化分析所有这些数据并比任何人类更快、更好地识别模式和趋势的工具。

至关重要的是,这些角色之间必须有密切合作。但现实中却往往形成效率低下的工作模式。Stitch Fix 数据平台副总裁 Jeff Magnuson 数年前在题为 Engineers Shouldn’t Write ETL(ibm.com 外部链接)的文章中对此有过论述。其核心观点是:团队不应割裂思考者与执行者。高效能数据团队需要对产出工作实行端到端负责制,这意味着角色之间必须摒弃“各自为政”的工作心态。

因此,市场亟需具备工程背景的数据科学家,他们既要懂如何构建可重复流程,也要深刻理解系统可用性与服务等级协议 (SLA) 的重要性。反过来,这种需求也改变了数据工程师的角色定位,使他们能以全新模式与数据科学家协同作战。当然,这也会影响到分析工程师。

彻底厘清数据工程师、数据科学家与分析工程师的差异(基于当前情况)

事实上,许多组织对这些角色的定义各不相同。由于这些职位在一定程度上承担着相似任务,很难明确划分职责边界。正如 Josh Laurito 总结的那样:“每个人都编写 SQL。都关注数据质量,都会评估不同数据表并执行数据写入,也都会抱怨时区问题。大家做着大量相同的工作。所以,实际上我们划分这些职责角色的方式是根据人们与我们主要分析数据存储的关系来决定的。”

在 Squarespace,这意味着数据工程师负责创建和维护这些数据存储的所有工作,分析工程师则嵌入到功能团队中,支持决策制定,围绕数据构建叙述,并利用这些数据推动行动和决策;最后,数据科学家处于中间位置,设定激励结构和决策指标,以引导人们做出决策。

当然,每个组织的具体情况都会略有不同。尽管当前职责边界依然模糊,但这些角色将持续演进,并进一步重塑彼此间的协作格局。但无论如何,希望本次阐述能帮助您厘清数据工程师、数据科学家与分析工程师的核心差异(至少在当前阶段)。

了解更多关于 IBM® Databand 的持续数据可观测性平台的信息,以及它如何帮助更早地检测数据事件、更快地解决问题并为企业提供更值得信赖的数据。如果您准备深入了解,请立即预约演示

作者

相关解决方案
分析工具和解决方案

企业要想蓬勃发展,就必须利用数据建立客户忠诚度,实现业务流程自动化,并利用 AI 驱动的解决方案进行创新。

深入了解分析解决方案
数据和分析咨询服务

通过 IBM Consulting 发掘企业数据的价值,建立以洞察分析为导向的组织,实现业务优势。

了解分析服务
IBM Cognos Analytics

推出 Cognos Analytics 12.0,人工智能驱动洞察分析可以更好地做出决策。

深入了解 Cognos Analytics
采取后续步骤

企业要想蓬勃发展,就必须利用数据建立客户忠诚度,实现业务流程自动化,并利用 AI 驱动的解决方案进行创新。

  1. 深入了解分析解决方案
  2. 了解分析服务