大家都知道,这三种角色各有不同定位,也知道他们之间有许多一致的地方,但是否能讲明白这其中的区别呢?
  国外 ETL 服务商 Stitch 的 CEO Jake Stein,近日对这个话题进行了总结。他还绘制了一张工具图,来呈现他们在日常工具使用上的不同。对于新手,也可以通过这张图来看典型的“数据科学家”、“数据工程师”和“软件工程师”都要掌握哪些工具。
  Jake Stein:随着数据的爆炸式增长,对数据处理的专家技能需求也随之井喷。这带来的结果之一,是更精细的分工。对于数据管理工作的核心角色:数据科学家、数据工程师和软件工程师,过去几年见证了他们越来越清晰的定位。
  对于新兴职位“数据工程师”,它算是“软件工程师”下面新浮现出的一个子类别。单列出该职位是一项英美近年来的趋势。但在许多公司,迁移、管理数据仍旧是软件工程师的活。
  
  三种数据职位的不同技能需求
  职能概括
  软件工程师
  软件工程师干的活儿是开发应用和系统。这过程中的每一个环节,从设计、写代码、测试到检查,开发者都要参与。生成数据的产品都是他们开发的。软件工程是三个角色中最古老的一个,并且有相当成熟的方法体系和工具库。
  工作内容包括:
  

  • 前端、后端开发

  • 网页应用

  • 移动应用

  • 操作系统开发

  • 软件设计

  数据工程师
  数据工程师需要开发能对数据进行整合、存储和提取的系统,并从软件工程师开发的应用和系统中获取数据。数据工程的诞生,是作为软件工程大类下的一个更细分的技能类别。据雷锋网了解,根据国外统计,40% 的数据工程师原本是软件工程师。雷锋网获知,这是目前一个很普遍的职业发展道路(软件工程师专注做数据工程)。
  工作内容包括:
  

  • 高级数据结构

  • 分布式计算

  • 并发程序设计

  • 使用 Hadoop, Spark, Kafka, Hive 等新工具

  • 开发ETL/数据流水线(data pipelines)

  数据科学家
  数据科学家的职责是基于数据作分析。
  或许有一只想要更好理解消费者行为的团队,仅仅做一个单次分析。也可能是开发一个机器学习算法,然后将之在软件工程师和数据工程师开发的代码基础上执行。
  工作内容包括:
  

  • 数据建模

  • 机器学习

  • 算法

  • 商业智能的 dashboards

  这些角色定位仍在进化之中。有些大公司从软件工程团队中拉出数据工程师,组建一支中央数据团队。这样,基础设施和数据分析工作能在一起。雷锋网(公众号:雷锋网)获知,有些案例中,数据科学家既需要做数据分析,也需要做数据整合。