作者:桔了个仔,南洋理工大学,Datawhale成员

有的人对数据科学家一词可能会望文生义,可能会说:「你这个码农咋还自称科学家了呢」。故写此文来给大家揭开数据科学家这个职位的神秘面纱,也让准备入行的新人对这个职业有更清楚的认识。

夫妻肺片不是肺片

有的人可能会疑问,要把数据玩成怎样才能算数据科学家呢?其实数据科学家这词有点唬人,其实并不属于传统意义上的科学家。如果不好理解,那么这里打个比方:数据科学家一词之于科学家,就好像夫妻肺片一词之于肺片。所以当朋友问我做什么工作,如果对方不是专业人士,我一般不太敢用「数据科学家」这词,因为很容易被误解。我一般都会对他说,我是个搞数据的码农。

数据科学家这个职位名称,一般都是外企在使用。其实在国内,很少公司用这个职位名称,更多的公司会用「算法工程师」或者「数据挖掘工程师」 。这两个职位有啥不同?其实很难一句话说清,因为不同公司对这个职位的定位不同,下面会分别介绍。

一般来说,算法工程师包括几种:

1.数据算法。例如给你数据,用数据模型和各种集合模型来实现预测效果最大化。

2.系统级别算法。例如一个超100G数据订单系统,如果设计一个查询算法,使得平均查询时间最少。

3.专业算法。例如去研究SLAM算法并去改进,其实和数据科学关系很小。

数据科学家就泛了:

1.做数据建模的。利用各种深度学习机器学习的模型,去实现预测或者检测。

2.做大数据处理的。其实就是data engineer,但有的公司就要起data scientist的名字来蹭热度。

3.分析处理报表的。这个就更离谱了,把以前的analyst直接改名叫DS了,希望大家找工作时看清JD不要被忽悠进去。

两者的区别上,第一种算法工程师和第一种数据科学家工作本质确实差不多,实质差异就看每个公司对其定位。如果真要硬说一个不同点,根据我的经验,那就是数据科学家对沟通的需求稍微大些,需要对客户解释清楚自己的模型,对外部负责。而算法工程师可能更偏「添砖加瓦」,对内部负责。其余后面的两种,就差异大了。

如果你看中了「科学家」的title就去应聘,那么你可能会对实际工作内容感到失望。就好像几年前校招里最火的「产品经理」一岗,并不代表你一毕业就当上了经理。

数据科学家,来者何人?

那么数据科学家这一个词是怎么来的呢?

业界普遍认为,这个词是由DJ Patil在领英时发明的[1]。2008年 Jeff Hamerbatcher 与 DJ Patil 分别在 Facebook、LinkedIn 领导全球第一支数据科学团队,至此数据科学越来越被广泛流行,并应用到公共卫生、市场、金融、社会等各个领域。由于Facebook, LinkedIn都在旧金山(San Francisco),所以有的人会调侃:

A data scientist a statistician who lives inSan Francisco

(数据科学家就是住在旧金山的统计员)

在一些公司,工程师对于大数据的处理和利用会这样分工:

有的工程师主要做数据仓库建设,数据ETL(Extract, Transform, Load)等工作,他们主要关注的是基础架构能不能支持大数据的存取,怎么存取等等基础性问题,这种工作,叫数据工程(Data Engineering)。

而有的工程师,是关注数据怎么用,用什么算法来挖掘数据,用什么统计方法等等这种工作,为了区分数据工程(Engineering) 的工作,这种工作就被叫做数据科学(Data Science)。

相对于的,前者一般叫Data Engineer(数据工程师),而后者,搞science的人,那就叫Scientist吧!于是后者成了Data Scientist。英文已经很唬人了,翻译成中文「数据科学家」后,就离原来的意思更远了。所以,我觉得国内称之为「算法工程师」更贴切。

当然,数据科学里面确实有些科学的部分,例如用统计方法来解决问题。但总体来说,数据科学家的工作,是属于工程领域,而非科学研究领域。

科学家?打杂工!

虽然说是「科学家」,但做的事情其实是工程师所做的事。相对起传统的软件工程师,数据科学家做的事情可能专注度更低,但上下游整合的水平更高。


数据科学家?我是个搞数据的码农_算法

数据科学家的日常工作可以有多杂?

我在之前的回答(https://www.zhihu.com/question/22696468/answer/746755379)提到过,这里简要概括下:

1. 商业逻辑理解与思考(占10%时间)。
2. 数据检查与清洗(占25%时间)。这是个很耗时又很枯燥的活。谁说data scientist is the sexiest job in 21st century的?检查检查数据的过程一点都不sexy。
3. 特征工程(占20%的时间)。写代码,构建特征
4. 数据建模(占5%时间)。这是花时间最少的阶段。
5. 与客户,同事,或者上级沟通(占20%时间),沟通的内容包括:数据检查发现的问题,项目的进度汇报,模型的更新,文档的更新,给客户演示新方案等等。
6. 写模型文档,数据分析文档等。(占15%时间)

这么看来,数据科学家既像码农,也像数据分析师,更像ppt制作专家。当然,数据科学家最像的,还是洗碗工,别人清洗盘子,我们清洗数据。

上面说的,仅仅只能代表我的日常工作,不敢说所有数据科学家的工作内容都和我一样。因为数据科学家这个职位,并没有完全被定义清楚,不同公司的数据科学家可能做的事情不一样,具体有啥不一样?大家可以去linkedIn上搜搜Data Scientist的招聘信息,看看工作内容和技能要求,相信这里面的多样性会吓你一跳。

你也想来打杂?

恭喜你看到这里,说明你并没有被数据科学的繁杂给吓退,这是成为优秀数据科学家的第一步。那么数据科学家的技能包括哪些?我之前写过一篇回答(https://www.zhihu.com/question/21592677/answer/1866931706)。不过有个外国的大神做了一张图,让我看完觉得,我还是太嫩了。


数据科学家?我是个搞数据的码农_机器学习_02

图源:Swami Chandrasekaran[2]

嘿嘿,被唬住了?放心,这并不是数据科学家的入门门槛。这个图仅仅是一个超集合(superset),也就是说,你并不一定需要全部懂这些才能去当个数据科学家。

如果你是从软件工程师转成数据科学家的,你的优势会多些,因为这依然是工程类的职位,对基本的编程能力还是很看重。在《 数据科学家访谈录》[3]一书中,Khan Academy数据科学主管Jace Kohlmeier说:

“依我之见,如果想要成为一名出色的数据科学家,你必须也是一名出色(至少是非常高效)的程序员。”

但即使你掌握了以上知识,你也不能立刻成为一名优秀的数据科学家。在数据科学里,最重要的是根据业务不同摸索出不同的实践,这需要具体的商业背景或者学科背景。MailChimp首席科学家Jonh Foreman说:

“如果你将数据科学作为一个学科,深入其中进行调查得越多,你就越会发现,这个看似笼统的大伞下面,掩盖了非常多的技术、数据集以及学科背景。”[3]

当然,作为数据科学家,我们的职责是推进技术落地,让技术产生价值。那么落地能力包括哪些呢?大家可以看看,这里就不再赘述了。

恭喜你看到这里,你已经具备了一名优秀数据科学家必须的品质——耐心。

所以,你真的想好要来大数据里摸爬滚打,在统计学的世界里打杂了吗?

数据科学家?我是个搞数据的码农_算法_03

▲ 点击阅读「数据行业非完全入门指南」

参考

[ 1 ] https://observer.com/2019/11/data-scientist-inventor-dj-patil-interview-linkedin-job-market-trend

[ 2 ] http://nirvacana.com/thoughts/wp-content/uploads/2018/01/RoadToDataScientist1.png

[ 3 ] 数据科学家访谈录. 978-7-115-47091-1. 作者: 【美】Carl Shan(单研) William Chen(陈子蔚) Henry Wang(汪强明) Max Song(宋迈思). 译者: 田原刘奕.

数据科学家?我是个搞数据的码农_大数据_04

桔了个仔

Data Scientist,擅长领域:风控/反洗钱

热衷于人工智能/机器学习/编程/科技/技术的铲屎官

数据科学家?我是个搞数据的码农_编程语言_05