数据科学家和数据工程师求职的5大区别

数据科学家和数据工程师求职的5大区别

数据科学是一个跨学科的领域,到现在还在不断演变。它的最终目标很明确,就是从数据中创造价值。价值可以有各种形式,比如:改进业务的运营、预见性维护等等。

虽然,这些大型科技公司的职位各不相同,但大多数公司对他们数据科学家应尽的职责的定义都有些模糊。而更重要的一点是,有些公司无法承担专门聘请数据科学家和数据工程师的费用,于是就产生了全栈数据科学家这个职位。

图源:Fabian Kühne

本文中,我会试着分析数据科学家和数据工程师的角色。主要在区分他们日常的职责,以及期望他们达到的结果上。

不过,在开始之前,我想谈谈我个人对这两种职位的看法。首先,我们很难根据难度等级对它们进行比较,因为它们所需的技能非常不同。我认为,现在市场对数据工程师的需求,要高于对数据科学家的需求。接下来,我们就一起来探讨一下我认为有价值有意义的差异。如果你想了解更多数据分析相关内容,可以阅读以下这些文章:
2021 Data Engineer求职必备技能
2021北美数据分析岗位求职:我是如何成功快速拿到Data类Offer的?
Market Basket Analysis:把握电商求职核心的购物篮分析是什么?
广告行业转行数据分析——Data Science在Digital Ads行业的求职与应用有哪些?

1. 数据科学家是数据工程师的客户

数据工程师负责创建强大、有弹性、而精准的系统,为数据科学家或分析师提供数据。所以,我们可以把数据科学家看做是数据工程师的客户。

为了实现利用数据创造价值的这个最终目标,我们需要双方的合作。因为,没有适当的数据,数据科学家就没有任何工作可以做。另一方面,如果不分析数据,只有结构良好的数据仓库或数据库,也是不行的。

2. 数据工程师负责原材料

举例来说,如果有家餐厅很大,又很受欢迎。人们首先想到是,他们有创意且厉害的厨师,才让他们能够提供这些美味的饭菜。

但是,如果没有合适的食材,即使厨师技艺再高超,也无济于事。需要有人提供原料,把它们运往厨房安置好,这样厨师才能很方便地用到食材。而且,如果把所有的原料都堆在厨房,厨师要找到自己需要的东西会很费劲。另外,还要妥善保管原材料,以免变质。

数据工程师就像是负责为厨师提供原材料的人,而数据就是数据工程师的原材料。

3. 数据科学家准备饭菜

如果继续上面的例子,数据科学家就是那个厨师。他们知道如何利用原材料创造价值,知道如何做出美味佳肴。

厨师有时会按照菜谱做菜,但也会不断尝试创作自己的菜。所以,要成为一名成功的厨师,需要非常地了解原材料。

对厨师来讲,把原材料打理的井井有条、结构合理且易于获取是非常重要的。同样,数据科学家的成功,取决于数据的质量和可获得性。所以,数据工程师和数据科学家必须合作才能创造更有价值的产品。

图源:Chris Ried

4. 数据工程更实际

设计、创建数据仓库或数据库是一回事。但比这更重要的是让它们能高效的、可伸缩的、持久且快速的运行。所以,数据工程师有很多实际工作要做。

数据工程师的技术栈包含许多工具。Amazon RedShift、Google BigQuery、Hadoop、Spark、Kafka、SQL和NoSQL数据库、GraphQL、Airflow、Kafka、Python和Scala,这些都是数据工程师使用的一些工具。

数据工程师会用这些工具设计系统,提供数据管道。因为它们通常要处理大量的数据,所以数据管道是活跃、稳定且可扩展的。还有一点很重要,就是数据需要快速的访问。所以很明显,一个能够处理此类操作的系统需要大量的实际工作。

5. 数据科学家花更多时间思考

数据科学家的工作通常不需要像数据工程师那么多的实际操作,数据科学家是通过分析数据来推动结果或得出结论的。

他们需要花更多的时间思考和研究。虽然数据科学家可能做的实际工作较少,但这并不意味着他们在任务上花费的时间也更少了。有时会很难探索变量之间的关系,或找到数据中的潜在模式。他们还需要具备相当程度的数学和统计学知识。

数据科学家的技能更属于软技能,所以很难去衡量或评估。比如,一个人最起码要有分析的头脑,还要能跳出常规进行思考,才可以成为一名成功的数据科学家。另外,具备某些其他领域的知识也很重要。

与数据工程师的技术堆栈相比,数据科学家使用的技术堆栈相对较小。对于数据科学家的实际任务,有很多选择,但有一个合适的选择就足够了。比如,Python、Pandas(数据分析)、Scikit-learn和TensorFlow(机器学习)以及Matplotlib(数据可视化)就构成了一组适合数据科学家的技术堆栈。

小结

虽然我们已经明确区分了数据科学家和数据工程师的任务,但通常,它们是组合在同一个职位上的,特别是在中小型公司。

随着工具数量的不断增加,想要在这两个领域都拥有专业知识是极其困难的。不过值得一提的是,数据科学家的职位往往是全栈的。而数据科学家至少应该知道如何查询SQL或NoSQL数据库。

感谢你的阅读。如果有任何建议,欢迎下方留言。你还可以订阅我们的YouTube频道,观看大量数据科学相关公开课:https://www.youtube.com/channel/UCa8NLpvi70mHVsW4J_x9OeQ;在LinkedIn上关注我们,扩展你的人际网络!https://www.linkedin.com/company/dataapplab/

原文作者:Soner Yıldırım 
翻译作者:Lea
美工编辑:过儿
校对审稿:Jiawei Tong
原文链接:https://towardsdatascience.com/5-key-differences-between-data-scientists-and-data-engineers-4fb67bb5e4b6