写点什么

数据科学家和数据工程师之间到底有什么差别?

  • 2019-04-26
  • 本文字数:1791 字

    阅读完需:约 6 分钟

数据科学家和数据工程师之间到底有什么差别?

我们最近在Reddit上做了 AMA。人们提出的最常见问题是数据科学家和数据工程师之间到底有什么差别。因此,有关这一问题,我们会在这篇文章中深入讨论。



有很多数据专家的岗位,听起来差不多,用的工具也差不多,很难搞清楚到底每个岗位需要做什么工作。另外,规模比较小的公司可能只能招聘有限几个的数据工程师或数据科学家。这意味着在很多情况下,特定的任务和目标可能都需要一个人完成。


这使得很难区分这两种角色。因此,我们会从不同的目标、思维方式、工具和所需的背景来讨论数据工程师和数据科学家的差异。


在讨论之前,我想简单地加一段导语。事实上,许多数据科学家和数据工程师都会执行其他技术性角色的任务。数据科学家可能需要开发ETL,数据工程师可能需要开发 API 和前端。因此,我们以下指出的区别只是为了阐明技术差别在哪里。


目标

数据工程师的目标更关注于任务和开发。数据工程师构建自动化系统和建模数据结构,帮助数据得到有效处理。这代表着数据工程师的目标是创建并开发表和数据管道,以支持用于分析的仪表盘和其他的数据用户(如数据科学家、分析师和其他工程师)。他们的工作和大多数的工程师很类似,要进行大量的设计、假设、约束和开发才能完成最终的任务。每个设计和解决方案也都会有自己的约束,即使它们都可以执行最终的任务。


相对而言,数据科学家更加以问题为中心。就这点而言,他们需要寻找降低成本、增加利润、提升用户体验或业务效率的方法。这代表着他们要先提出问题,然后自己解决问题(提出问题、做出假设、得到结论)。因此他们需要提出这样的问题:什么会影响患者再次入院?如果增加一个类似的A/B测试,客户是否愿意买单?有更快的路线来运送包裹吗?跳过剩余的过程步骤。这里的目标就是找到提出的问题的答案。它可能是最终的结论,也可能会引出更多的问题。在这个过程中,数据科学家需要分析、收集支持信息、得出问题的结论。

工具

这个部分就更加让人感到困惑了。数据科学家和数据工程师都需要依赖于 Python 和 SQL。然而,两个岗位的人使用这些技术的方式是不同的。同样,这也和思维方式的不同息息相关。Python 是非常健壮的语言,它拥有强大的类库来帮助管理操作性任务和分析性任务。


数据科学家会使用 Pandas 和 Scikit Learn 这样的语言,而数据工程师会使用 Python 来管理管道。在这里AirflowLuigi这样的类库就能派上用处。


如上所说,数据科学家的查询将重点关注于问题。但是数据工程师的查询会更关注于数据的清理和转换。


可能这两类数据专家都会使用一些其他的工具,包括TableauJupyter笔记本以及其他工具等。但他们的用法会有所不同。

背景

当讨论数据工程师和数据科学家之间的差别时,另外一个常见的问题是需要什么样的背景。


数据工程师和数据科学家都需要了解数据和编程。即使涉猎不必太广。然而,除了编程之外还有一些差别,特别是对于数据科学家来说。由于数据科学家更像是研究员,如果有基于研究的背景会是加分点。


这可以是在经济学、心理学、流行病学等领域的研究背景。数据科学家可以使用 SQL、Python,具有良好的商业意识,还能将其与自身的研究背景结合起来。这些都不能用级别来衡量。事实上,数据科学家在各个领域都有所涉及。大多数雇主更希望招聘至少硕士学历、具备某些技术或数学研究背景的数据科学家。


而数据工程师就不一定需要硕士学位。数据工程师更像是一个开发人员。比起理论知识,他们需要更多的实践经验。因此,拥有硕士学位并不能说明这一点。

举个例子

比如一家医疗保健公司的主管想知道如何减少初次就诊后 30 天内再入院的患者数量。从数据的角度来看,需要完成一系列工作。


数据科学家需要了解是什么导致了这些患者再入院。这是他们需要回答的问题。根据他们得出的结论,他们会和医院合作,制定指标和政策,帮助改善患者再入院比例。


数据工程师会创建表格,帮助支持数据科学家找到问题的答案,与此同时,他们还要创建分析表,帮助追踪过去和未来的患者再入院指标。这些指标的创建会根据数据科学家得到的答案而改变。


数据科学家和数据工程师有很多的区别。他们有不同的目标、背景,但这就是两者一起合作的价值所在。事实上,数据工程师更关注于构建健壮的系统,这也能方便数据科学家轻松地查询数据,并有效地分析数据。这样的合作就能在数据方面给公司创造价值。


我们希望这篇文章能给你提供帮助!


查看英文原文What Is The Difference Between A Data Engineer And A Data Scientist


2019-04-26 07:005461

评论

发布
暂无评论
发现更多内容

技术分享:国民远控向日葵如何通过BBR算法提升远控体验?

贝锐

技术分享 远程控制 TCP拥塞控制 向日葵 BBR

海外APP推送(下篇):海外厂商通道集成指南

极光JIGUANG

sdk 厂商通道

敲黑板画重点:七种常见“分布式事务”详解

程序员啊叶

Java 编程 程序员 架构 java面试

面试京东T5,被按在地上摩擦,鬼知道我经历了什么?

程序员啊叶

Java 编程 程序员 架构 java面试

10 万字节Spring Boot +redis详细面试笔记(带完整目录)免费分享

程序员啊叶

Java 编程 程序员 架构 java面试

@千行百业,一起乘云而上!

天翼云开发者社区

云计算 云平台

干货|语义网、Web3.0、Web3、元宇宙这些概念还傻傻分不清楚?(中)

Orillusion

开源 WebGL 元宇宙 Metaverse webgpu

银行业客户体验管理现状与优化策略分析

易观分析

银行

数据泄漏、删除事件频发,企业应如何构建安全防线?

京东科技开发者

公司管理 网络安全 安全 删库 程序员‘

万字长文,浅谈企业数字化建模蓝图

产品老高

数字化 中台架构

1对1直播源码——1对1语音聊天源码

开源直播系统源码

直播系统源码 语音聊天系统软件开发 一对一语音聊天软件

什么是RPC?RPC框架dubbo的核心流程

程序员啊叶

Java 编程 程序员 架构 java面试

Redis为什么这么快?Redis的线程模型与Redis多线程

程序员啊叶

Java 编程 程序员 架构 Java 面试

天翼云Web应用防火墙(边缘云版)支持检测和拦截Apache Spark shell命令注入漏洞

天翼云开发者社区

Shell 防火墙

最新战报:十项认证,五项最佳实践

天翼云开发者社区

云计算 分布式云

Plato Farm有望通过Elephant Swap,进一步向外拓展生态

小哈区块

向日葵远程控制为何采用BGP服务器?自动最优路线、跨运营商高速传输

贝锐

远程控制 向日葵

行业案例|指标中台如何助力银行业普惠金融可持续发展

Kyligence

大数据 普惠金融 指标中台

深度学习3D人体姿态估计国内外研究现状及痛点

阿炜小菜鸡

深度学习 人体姿态估计

Plato Farm有望通过Elephant Swap,进一步向外拓展生态

西柚子

敏捷开发与DevOps的对比

码语者

DevOps 敏捷

在北京选择前端培训班学习大数据

小谷哥

目标检测网络R-CNN 系列

阿炜小菜鸡

深度学习 目标检测 7月月更

一百五十个终极Java 经典面试题(你会多少题?)

程序员啊叶

Java 编程 程序员 架构 java面试

「中高级试题」:MVCC实现原理是什么?

程序员啊叶

Java 编程 程序员 架构 java面试

聚力打造四个“高地”,携手合作伙伴共铸国云!

天翼云开发者社区

云计算 云平台

尤雨溪向初学者推荐Vite 【为什么使用Vite】

flow

签约计划第三季

公司刚来的阿里p8,看完我构建的springboot框架,甩给我一份文档

程序员啊叶

Java 编程 程序员 架构 java面试

TDSQL-C Serverless:助力初创企业实现降本增效

石云升

全球架构师峰会 ArchSummit

使用python玩转文字类视频

技能实验室

签约计划第三季

参加前端培训班学web前端技术靠谱吗

小谷哥

数据科学家和数据工程师之间到底有什么差别?_技术管理_Ben Rogojan_InfoQ精选文章