AICon 深圳站 Keynote 嘉宾官宣!共探AI价值转化的实践路径 了解详情
写点什么

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

  • 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:005659

评论

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

用 WebRTC 打造一个音乐教育 App,要解决哪些音质难题?

阿里云CloudImagine

音视频 WebRTC 在线教育 RTC

IAP:物联网终端软件升级技术

华为云开发者联盟

IoT LiteOS iap 物联网终端 OTA

10种下载YouTube视频的方法-包含网站软件插件app等

Space空间

软件 网站 下载youtube视频

开抢| 华为开发者大会2021(Cloud)早鸟票来了!

华为云开发者联盟

华为 开发者

技术杂谈 | Flutter 的性能分析、工程架构与细节处理

有道技术团队

flutter

20天内看完这套GitHub标星18k+的Android资料,含泪整理面经

欢喜学安卓

android 程序员 面试 移动开发

2021年Android面试心得,大厂面经合集

欢喜学安卓

android 程序员 面试 移动开发

别再说你不懂规则引起啦

比伯

Java 编程 程序员 架构 计算机

简单快速搭建,全新语聊方案

anyRTC开发者

ios android 音视频 WebRTC RTC

MoviePy - 中文文档(一个专业的python音视频编辑库)教程

ucsheep

Python 音视频 视频剪辑 Moviepy 视频合成

美女师姐说给你听!我成为蚂蚁安全工程师的初体验

DT极客

音视频开发——通信直播协议和视频推流丨RTMP-RTSP

Linux服务器开发

音视频 WebRTC ffmpeg 直播推流 SRS流媒体服务器

直播预告 | 数据操作加速器,CloudQuery v1.3.5 发布

BinTools图尔兹

sql 编辑器 数据治理 数据安全 数据库管理工具

情指勤指挥调度平台搭建,公安局情报指挥系统

畅想数据湖

数据社

数据仓库 数据湖 ETL ELT

2021最新分享支付宝/美团/拼多多面经总结

比伯

Java 编程 架构 面试 程序人生

神策大数据技术直播系列课第二季,开讲啦

神策技术社区

大数据 性能优化 大前端 工程师 事件分析

2021年DevOps的四大趋势

禅道项目管理

DevOps 工具 趋势 Redis开发与运维

golang设置时区的多种方式

happlyfox

学习 3月日更 Go 语言

量化策略软件搭建,马丁策略交易软件开发

Spark性能调优-Shuffle调优及故障排除篇

五分钟学大数据

大数据 spark 3月日更

终于知道为啥网页不让我复制粘贴了!

华为云开发者联盟

js 代码 button事件 复制粘贴 输入框

力扣(LeetCode)刷题,简单题(第14期)

不脱发的程序猿

面试 LeetCode 28天写作 算法攻关 3月日更

2021出海社交必看:产品、技术、运营指南

拍乐云Pano

音视频 RTC 社交APP出海 出海社交 社交泛娱乐

自媒体平台数据统计分析爬虫之【趣头条】模拟登陆分析详解及数据统计接口详解

ucsheep

接口 爬虫 趣头条 模拟登录

超详细!手把手带你快速入门 GitHub!

JackTian

git GitHub 开源

云原生数据库风起云涌,华为云GaussDB破浪前行

华为云开发者联盟

数据库 架构 云原生 华为云 GaussDB

Python OpenCV 彩色图像与灰度图像的转换

梦想橡皮擦

3月日更

NA公链(Nirvana)解决的六大问题在众多公链中脱颖而出NAC公链

区块链第一资讯

MapReduce中shuffle阶段的数据压缩机制

大数据技术指南

大数据 hadoop 3月日更

网络连接总超时?从四层模型上解析网络是怎么连接的

京东科技开发者

计算机网络 服务器 域名

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