数据工程师和数据科学家 真的是一山不容二虎?

数据科学家这个职位现在已经有了比较完善的定义,但在此之前,就已经出现了另一个职位,数据工程师,接下来我们将探讨这两个职位间的区别与联系,并分析企业在何种情况下需要其中一个,或两个都需要。

尽管对于分析与数据科学家来说,还有许多待解决的问题,但这并不影响一个新兴职位的出现:数据工程师,并且数据工程的数量正在逐年上升。

数据工程师职位目前已广泛出现在各类招聘上,虽然有时容易和数据科学家的职位相混淆,但其似乎已经成为企业在大数据领域的核心职位之一。

IT求职网站Dice.com的总裁Bob Melk表示,从名字上来看,这两个角色很容易混淆,但数据科学家和数据工程师实际上是有很大区别的

“数据科学家所具备的技能更专注于数学方法和数据分析,而数据工程的重点是数据挖掘,云计算和编程技能,”他说。

数据工程师致力于开源大数据的管理。一位数据库行业资深观察者说道,在他最近的一次硅谷之旅中,他发现,在这个作为大数据温床的地方,数据工程师这个术语已经被广泛使用。

他在最近的博客中指出,数据工程师这个职位的产生,有部分原因是由于人们对数据科学家的能力预期过高。

而现实是,数据科学家的工作描述所涉及的技能太过于宽泛。搭建数据处理集群、程序编码,学习最新的开源数据API。这些都被归结为数据科学家必须掌握的技能之一,但事实上,它们应该是数据工程师的职责范围。

Dice's Melk认为Apache Hadoop,分布式计算和NoSQL数据库,是数据工程师必须掌握的几个重要技能。对于数据科学家而言,其掌握的技能应包括数据统计,统计建模,预测建模和机器学习等。

数据工程师的队伍正在逐渐壮大。Dice.上半年发布了891个数据工程师职位招聘信息。也许仅靠这个数字并不足以说明什么,但令人印象深刻的是,这个数字比2015年4的数据增长了88%之多,足以证明市场对数据工程师的迫切需求。

从数据科学谈起

咨询公司Athena IT Solutions创始人Rick Sherman表示,一些早期的数据科学家们往往需要大包大揽,他们不得不建立亲自去构建Hadoop集群,同时创建预测分析模型。现在,在一些企业中,数据工程师开始为数据科学家分担这一部分任务。

Sherman和其他人的看法一样,都认为数据工程师实际上能够解放数据科学家,让他们真正能做他们的本职工作,高级数据统计和试图发现新商业机会的数据分析,这些才是他们该做的。

“数据科学部门的规模越大,数据工程师从数据科学家那里承担过来的工作就会越多,”他说。这是非常重要的,他补充道,因为公司在数据科学领域投入了大笔资金。

数据工程师所需的技能

从一些招聘信息的工作描述可以看出,“数据工程师”主要覆盖下面的这些技能:

一家处于行业领先地位的金融数据服务公司正在寻找一名高级数据工程师,要求其在云基础设施,Scala,Apache Spark和Python等领域有着丰富的经验。

在线旅游服务公司正在寻找一位数据工程师,要求其具有与领域专家协调工作的能力,特别是与机器学习团队高效合作的能力。

一家国有银行正在寻找数据工程师,要求他们可以编写和运行各种开源框架。他们还要求数据工程师精通Akka,Cassandra, Accumulo,HBase, Hadoop/HDFS, Avro,MongoDB and Mesos,也许还包括一些尚未存在的数据处理框架。

但总的来说,数据工程师并没有得到与数据科学家同等的薪资待遇。例如,据招聘网站Glassdoo统计,全国数据工程师的平均工资大概为95526美元,而全国数据科学家的平均薪水是113436美元。

当然,也有例外情况,有的数据工程师薪酬可能会突破100000美元。尽管Dice 宣称并没有足够的样本数据来评估数据工程师薪水,但Melk指出了掌握类似技能人员的年薪水平,比如Cassandra(147811美元),Pig(132850美元)和MapReduce编程(131563美元)。这表明数据工程师的薪资可以很容易超过100000美元这个水平。

交付数据

数据工程师的任务是交付数据,他们的角色任务是准备或定义数据结构。在某种程度上,数据工程师应承担传统的提取、转换和加载以及数据集成工作,这些工作主要是新大数据处理框架中的数据加工过程。

大型国防合约商Raytheon Co公司构建了一个Hadoop 数据湖泊,这需要有人来负责,数据工程师比数据科学家更适合这个任务,Kathy Sonderer,该公司首席数据科学专家在今年San Diego举办的Enterprise Data World大会上说道。