随着机器智能领域的不断发展,新角色不断产生,现有角色不断扩大。许多人并没有对数据科学家和数据工程师之间的差异有清楚的认识。这些文章阐述了这两种不同职业道路所需的具体技能。
以下是数据科学家和数据工程师的一些核心竞争力和重叠领域:
数据科学家——数学与统计学、计算机科学、机器学习以及人工智能/深度学习,高级分析和用数据讲故事。
数据工程师——生产级编程、分布式系统、数据转换、数据分析和数据管道。
重叠领域——数据分析和编程。
让我们深入了解这些领域,以便更好地理解差异化因素。
数据科学家所需要的技能
数据科学家通常来自应用数学和/或统计背景以及计算机科学。机器学习基于统计学习的数学基础。在没有数学知识的情况下,即使努力在数据科学方面取得优异成绩,也很难完整的视角。
数据科学家还需要与业务领域专家进行交互,以培养所需的见解。 数据科学家还需要分析数据(探索性数据分析),以帮助企业利用其数据资产。
数据科学家还将具备选择适当的机器学习算法,训练它们并设计测试其准确性的方法的背景。
此外,当数据科学项目的结果需要以可理解的方式传达给业务利益相关者时,数据科学家必须精通利用数据讲故事的艺术。这项工作需要能够以利益相关者能够理解并采取行动的方式,口头和视觉地传达复杂的结果和观察。
数据科学家们还必须开发出编码技能,大多数都是在R或Python语言环境中。数据科学家的编程技能通常不在数据工程师的水平之上——他们也不应该!
数据工程师所需要的技能
数据工程师通常具有计算机科学学位。他们的背景通常是Python,Java或Scala等语言。他们的重点是分布式系统和大数据。与数据科学家相比,他们的编程技能更先进,特别适合构建高可用性生产系统。
利用这些编程技能,数据工程师可以大规模创建数据管道。这涉及整合大量大数据技术。数据工程师的任务是决定哪些工具适合这项工作。数据工程师还对数据技术和框架以及如何将它们与数据管道集成有深入的了解。此外,数据工程师与负责集群、DevOps和DataOps的人员密切合作。
数据工程师还实施数据科学家为生产环境选择的机器学习算法。例如,这可能涉及将数据科学家所使用的R中的分类算法部署到更强大的生产平台。
重叠技能
当然,两者在编程方面存在重叠技能,尽管数据工程师的编程技能往往超过数据科学家的编程技能。例如,让数据科学家计划生产数据管道可能是过度扩展,而这种任务直接在数据工程师的工作范围之内。在这里,他们的技能是互补的,因为数据科学家可以设计数据管道,数据工程师将对其进行编程和维护。通常不应期望数据科学家对数据管道进行编程。
另一个重叠领域是数据分析。数据科学家的分析技能通常比数据工程师的分析技能进化得更多。数据工程师可能能够进行一些基本分析,但无法满足数据科学家很容易做到的更高级分析的需求。
企业中的错位
许多企业在将上述技能组合与实际职称相匹配方面犯了错误。首先,不要陷入试图找到一个人可以独当两面的死循环中,不要期望他可以完成数据科学家和数据工程师的工作。当然,可能会有一些独角兽,但他们的需求非常高,而且薪水很高。另外,如果你雇用的独角兽决定离开,会发生什么?
另一个错误是让数据科学家完成数据工程师的工作。创建数据管道并不容易,它需要生产编程框架的高级知识。数据科学家可能能够获得这些技能,但这并不是对这种资源的最有效利用。数据科学家不是建立生产系统、创建数据管道和暴露机器学习结果的工程师。
另一方面,数据工程师完成数据科学家的工作是一个错误,尽管这种情况不太常见。一些数据工程师通过提高他们的数学和统计知识以及相应的机器学习技能来扩大他们的技能。这条职业道路有时会产生另一个职业类别,即“机器学习工程师”。
机器学习工程师通常来自数据工程背景,但他们已经熟练掌握数据科学的某些方面,并且在数据科学和数据工程之间徘徊。这个类别真的不是独角兽,而是一个了解如何操作和优化机器学习的数据工程师。机器学习工程师采用数据科学家创建的内容并使其产品就绪。
如何提升我的技能?
ODSC East 2019有完整的重点领域涵盖这两个领域的多个轨道。 无论你是数据科学家还是数据工程师,ODSC研讨会、讲座和培训课程都是数据科学专业人员的理想选择!以下数据科学和数据工程重点领域中的一些杰出会议:
数据科学家
数据工程师
总之,重要的是要了解数据科学家和数据工程师如何相互补充。有才华的数据科学团队由两种技能组成。让数据科学家完成数据工程师的工作是浪费良好的资源,反之亦然。你很难找到一只独角兽——一个既是熟练的数据工程师又是专家数据科学家的人。因此,你需要建立一个团队,每个成员都可以补充其他人的技能,并且能够很好地协同工作。