如何区别:Machine Learning Engineer & Data Scientist

Terms:

  • Machine Learning Engineer (MLE)
  • Data Scientist (DS)

Question Background:

  • 连续一段时间观察MLE和DS的job descriptions posted in LinkedIn,我对这俩工作的模糊感越来越强烈;
  • 个人感觉MLE更符合自己的兴趣,但怕这“兴趣”只是基于subjective misunderstanding of the two positions。

Questions:

  • 根据老师您的经验,请描述一下两者在求职准备过程中,面试过程中 & 以后工作中的主要differences。
  • 如果可以,也麻烦老师您根据自己的经验再多提供一些额外的信息和理解。

非常感谢您的时间&帮助!

Best,

Tiffany

不同公司对MLE和DS的面试要求和工作内容都不太一样,下面我简单介绍一下我了解的大部分硅谷公司的情况:

【工作内容】

  1. MLE也可以被认为是backend software engineer + data scientist。在product team的MLE在工作中除了做模型设计,也会负责把模型实现到产品 (e.g. backend service) 中,因此这部分有时候会涉及一些分布式系统设计的工作。如果公司比较大,有专门的ML infra team,那么infra team的MLE就不做产品开发了,而是focus on optimizing ML infra performance,比如减小inference latency,optimize model training cost等等。

  2. 绝大部分公司都不会要求Data Scientist单独负责产品开发(当然有时候DS会与engineer合作开发产品),因此DS主要的工作,除了模型设计之外,更多地会参与A/B Testing实验设计以及实验结果分析(MLE在工作中会用到A/B Testing,但是很多时候都需要DS support)。很多公司的DS会与Product manager有紧密的合作,因此会做一些data analysis的工作,比如产品开发前期的opportunity sizing,以及实验结束之后的impact analysis,以及下一步的planning。

【面试要求】

  1. 常见的MLE面试内容包括:算法编程 + 机器学习理论 (以case study形式出现) + 分布式系统设计。onsite过程一般是:2轮算法编程 + 2轮ML case study + 1轮system design + 1轮简历面试 or hiring manager discussion。MLE面试中A/B Testing问题出现的频率不高。
  2. DS的面试内容非常不确定,不同公司不同org可能面试内容和方向完全不同。整体来说,我总结DS面试要求的内容包括:SQL, A/B Testing (以case study形式出现), 机器学习理论 (以case study形式出现),Practical data analysis (形式是take home exam 或者 45mins的python notebook practice)。当然,有些DS面试的case study并不涉及任何A/B Testing or modeling的知识考察,而是结合具体商业场景考察求职者problem solving能力 or domain knowledge. 这种面试就和data analyst的case study很像了,咱们在集训营课程给大家用具体的例子介绍过。

希望以上的经验分享能对大家有帮助。

Very Helpful!!

谢谢解答!