这是鸽了非常久的DS劝退系列第一篇。首先澄清,我劝退的并非是Data Science这个领域,而是DS 的本科和Master项目。希望通过类似项目拿到“Data Scientist”工作的朋友们,本系列或许可以给你们一些参考。

博主作为“资深ds学生”,干过DA, DS, Applied Researcher, MLE, 甚至ds consulting;去年面了40+场面试,几乎面过了所有ds能申请的岗位。希望能分享一下我的经历,以及对当前DS教育的看法。
.
感兴趣的朋友求一个加米,未来这个系列会持续更新
======================

DS都对应什么岗
Data Science领域岗位命名的混乱由来已久。虽然网络上已有很多介绍岗位区别的post珠玉在前,但在2022年这个时间点,或许有必要从这个话题讲起。

我给ds学生找工的岗位分为大致以下5类:

1.data analyst (Almost no ML)
2.data scientist (some ML, rarely DL)-baidu
3.applied scientist / applied researcher / research scientist (ML, mostly DL, more modeling)
4.machine learning engineer / sde ml (ML, mostly DL, more coding)
5.sde、swe (No ML/DL, or ML infra only)
. ----
(另外还有一个岗位data engineer,更多偏向于data pipeline和data infra的工作,拿出来单独分类比较好)

虽然上述的分类也许不是完美的定义,许多公司也并非按照我的定义来给岗位命名,但根据其工作内容可以相对容易地再分类:比如Meta的dsa实际上更偏da,而core data science可以理解为research scientist。

这5类title,基本可以涵盖DS专业90%以上的工作出路。对coding能力的要求按1-5递增,而在工资水平方面1-3递增;3,4,5对同等学历的candidate给出的工资差别其实不大,as/rs的上限一般略高一点。

1. Data Analyst:工作大多以分析数据为导向,绝对的核心技能是sql,同时会使用一些python和数据可视化工具,几乎不会有使用ML的机会。会有很多试验指标分析,看板搭建,和来自不同业务方对于业务数据分析的需求。
2. Data Scientist:对da和ds最简单粗暴的区分在于ds一般会使用ML;ds和as/rs/mle的区别则在:ds往往不会长期own一个model去持续改进,而很多时候后者会持续在一个业务模型上进行优化。在对岗位定义尚不明确的年代,ds下能做统计分析,上能做机器学习,俨然吊打各路。但随着DL的快速发展和业界需求的变化,ds的生存空间正在被快速挤占——而这也正是我会在后续文章中展开介绍的。
3. As/Rs:这类岗位既要会ML, DL模型开发和优化,又要懂得一些模型的部署和线上指标。一般负责产品某个功能核心算法模型,目前多数都是DL为主,当红支柱包括CV, NLP, 和推荐。工作内容往往会包括对模型结构的优化,因此需要读paper来跟上业界和学界的发展,对PhD有很强的偏好。
4. MLE/SDE ML: 这类title和as/rs其实差别不大。在A公司as或许更像mle,而B公司mle或许research做的比RS更好。但我的区分是MLE相对做更少的modeling,而更多的注重在ml pipeline的开发和部署。小厂往往没有精力去做业界领先的开发,往往只需要mle title来做业务;大厂RS来提升模型,其余的开发和部署留给MLE。.
5. SDE: 这个title非常好理解,基本就是开发。有些厂会把做ML infra的岗位称作MLE, 但实际上这类岗位几乎不需要ML,DL的经验,所以不如归类到SDE来避免混淆。


DS就业面非常广,是这样吗?

对于尝试进入,或者刚刚进入Data的新同学来说,往往会有一个常见的迷思:Data Science现在就是万金油,毕业后又能做DA,又能做DS, 我的学长学姐还有做MLE, SDE进大厂的。

理想是美好的,但现实是残酷的。

DS对口岗位的分化之大,使得多数找工的申请者,只会专注于一类或者两类title。
常见的组合包括:
1. DA \DS
2. DS\MLE
3. MLE\RS\AS
4. MLE\SDE. 1point3acres.com
(还不了解岗位分类的可以去查看我之前的两篇)

从Glassdor的数据可以看到(图1-图3),DA平均base在73k左右,DS来到了117k,而MLE是超过了131k。

 



道理在这里非常浅显了:
对申请DA的朋友来说,往往不具备足够的ML和coding能力去申请MLE。
而MLE\SDE的申请者,又为何要去考虑DA之类的岗位呢?

DS所谓的“就业面广”,“胜任多种职位”完全是一个伪命题。就业面再广,你毕业时也就找那几个岗位,和你又有什么关系?




补充内容 (2022-02-20 09:17 +8:00):
. Χ
之前的贴子在地里和xhs上都收到了很多的支持,也不乏前辈指出论述中不足的地方。在这里就一个问题做一些补充。

涉及实验设计的DS岗位:
在基础建设完善的tech厂,确实存在title为Data Scientist的岗位,虽然他们日常工作几乎不需要用到ML,但也绝非仅限于写写SQL,画一画dashboard,或者用系统跑一下A\B testing。

引用地里 brtt13的话:“做ab testing和我说的分析两码事啊,分析主要是做metric definition , measurement  and tracking之类 你说 ab testing只涉及到randomization, 那基本说明你 ab testing做的很浅。”. 

博主回想起,几年前曾在某家极为重视data的公司实习,发现brtt13大佬所言非虚 :这类岗位,往往涉及复杂实验的设计和因果推断。工作复杂度高于DA,往往不使用ML,但又需要较强的统计背景和业务知识。
.--
即便是A\B Testing, 也有很多复杂的问题需要研究: ..
怎么设计这个实验,实验中有哪些问题需要规避(ab testing 中坑很多比如dilution effect, network effect都是最基本的)
更深的情况就是没有randomization的情况下怎么做测量?比如手机app升级,你先升级的用户和后升级的用户就不是一个randomization过程(先升级的用户有倾向性,engagement会更高),这个领英出过一篇paper, 用 quasi experiment来做。

比如广义的因果推断:在没有条件做AB实验,或者已然发生的现象,我们要怎么去基于观测数据来做因果推断?很多方法诸如DID,合成控制。因果推断怎么和机器学习结合?比如因果图,Uplift,double ml。

ps. 部分内容来自brtt13

补充内容 (2022-02-20 09:18 +8:00):. From 1point 3acres bbs
为什么我还是坚持DS应该包括ML
.


如果按照博主的此前的分类,不使用ML的岗位将统统归为DA。或许将涉及实验设计的DSA (or product DS)归为DA不完全妥当。但博主仍然认为,在对DS学生对口岗位的分类中,将是否使用ML作为一个区分标准有现实意义。

从业界的角度出发:
对诸如brtt13的前辈来说,此类岗位往往都是data scientist,这没有任何问题。

而从Data Science教育角度出发:
在多数DS教育的设计中,统计课程所占的份额,如果不是远少于CS,也不过是勉强和CS齐平。这样的项目本质不可避免的带来两个问题:
(a) DS项目本身、以及许多DS学生的期望,就是通过这样的项目可以找到一份使用ML的工作。虽然业界的变化使得这个期望渐行渐远,但并不能改变多数DS项目较强的ML属性(or at least偏好)。
(b) 如果想做product DS, 实验设计、指标构建、causal inference等工作,远不是DS项目提供的课程可以解决的。除了基础的统计课程之外,Econometrics、Causal Inference等课程,我想多数ds项目都不会去主动涉猎。而product DS所需的产品经验和嗅觉,更和DS项目培养出的ng没什么关系。我想target这类岗位的candidate,如果是统计出身反而更合适。

在Data Scientist的good old days,“左统计分析,右机器学习”。虽然业界的变化使得这样岗位越来越多的被消灭,Data Scientist title的职责也发生着显著的变化 —— 这也正是本系列尝试指出的一点;但这样的变化,不代表将ML作为一个区分标准,在本系列的探讨中丧失意义。

恰恰相反,在博主看来,使用这样的分类标准,或许能够更好的反映出DS教育和业界,是怎么样在短短几年间快速脱节的

举报
收藏
分享
我顶
我踩
最新帖子
最新评论
还没有评论, 要不要来一发.