“All in Cloud”之后,和你聊聊「云原生DevOps的Kubernetes技巧」 了解详情
写点什么

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

  • 2019 年 4 月 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 年 4 月 26 日 07:004597

评论

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

2021Java最新大厂面试真题,Java面试宝典pdf

Java 面试 后端

2021Java面试心得,Spring的XML解析原理

Java 面试 后端

2021年Android岗位BAT大厂面试题知识点小结,阿里巴巴安卓面试题答案

android 面试 移动开发

分布式服务下,消息中间件改造

Java 架构 面试 分布式 后端

科创人|华映资本章高男:好奇心顽童,趋势焦虑者,反套路投资人

科创人

2021Java网络编程总结篇,三年老Java经验面经

Java 面试 后端

阿里淘技术带佬新作:设计模式的完美演绎,共计1290页

Java 程序员 架构 面试 计算机

个推0代码数据可视化实操:基于Tableau的中国奥运数据探索

个推

2021Java高频精选面试题讲解,2021Java大厂面试真题

Java 面试 后端

2021一位Java中级程序员的跳槽面经,springmvc源码解析pdf

Java 面试 后端

直播回顾 | seL4基金会主席谈物理系统安全工程实践

鉴释

自动驾驶 操作系统 微内核 在线研讨会

2021互联网大厂Java面经合集,阿里面试官必问

Java 面试 后端

2021京东最新Java面试真题解析,2021Java开发面试解答

Java 面试 后端

个推融合实人认证服务和视觉智能技术,推出青少年网络游戏防沉迷解决方案

个推

AI 人脸识别

M-SQL:超强的多任务表示学习方法

华为云开发者社区

sql 自然语言 M-SQL SQL语句 多任务

2021年Android工作或更难找,深入剖析原理

android 面试 移动开发

2021年Android工作或更难找,透彻分析源码

android 面试 移动开发

2021大厂Java开发面试总结+解答,21条MySQL性能调优经验

Java 面试 后端

2021年Android大厂面试,送大厂面经一份

android 面试 移动开发

2021Java精选面试实战总结整理,Java程序员面试算法宝典

Java 面试 后端

2021Java者未来的出路在哪里,怒斩获了30家互联网公司offer

Java 面试 后端

2021年Android大厂面试,劲爆

android 面试 移动开发

2021年Android工作或更难找,2021Android面经

android 移动开发

三维可视化数字能源系统,助力智慧园区高效能源管理

森友小锘

大前端 物联网 可视化 数字孪生

2021Java最新大厂面试真题,37岁程序员被裁

Java 面试 后端

2021Java进阶者的新篇章,做了5年Java

Java 面试 后端

2021Java高级进阶学习资料,StringBoot编程式事务与声明式事务

Java 面试 后端

2021华为Java高级面试题及答案,Java技术成长

Java 面试 后端

2021年Android常见面试题目,程序员必须要了解的知识点

android 移动开发 Android面试

Jenkins: 重置管理员密码

DisonTangor

jenkins

2021Java面试心得,淘汰机制、缓存雪崩

Java 后端

西门子低代码:探讨应用程序开发的下一步演进方向

西门子低代码:探讨应用程序开发的下一步演进方向

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