数据科学家、数据工程师和软件工程师之间的差异有时会有点混乱。因此,云途君邀请Stitch formerly RJ Metrics CEO ,Jake Stein根据 LinkedIn 公布的数据,明确指出这些岗位之间的区别。
随着数据的增长,需要专业的人才来管理它。在过去的几年里,负责数据管理的各岗位间的差别愈益明显:软件工程师、数据工程师和数据科学家。
我们看到在软件工程学科中,有越来越多的人从事数据工程师的岗位,不过这还是一个新的趋势。依然有大量软件工程师从事移动数据管理。
在过去的一年里,根据LinkedIn公布的数据,Stein团队发布了两份报告,一份是关于对数据科学家的理解,另一份是关于数据工程师的。在本文中,我们将指出这些岗位之间的区别,首先,我们先看张图,这张图显示了他们之间所需技能的区别:
软件工程师
软件工程师主要构建应用程序和系统,开发人员参与整个过程,包括:产品设计、代码编写、测试和评估。他们创建产品的同时已经产生数据。在这些岗位中,软件工程师是最早出现的,经过多年的发展,已经有比较完善的工具和方法。
工作内容:
前、后端开发
网络应用程序开发
移动应用程序开发
操作系统开发
软件设计
数据工程师
数据工程师构建的系统可以对软件工程师构建的各种应用程序和系统进行整合、存储和数据检索。数据工程已经成为软件工程中的一个技术标配。40%的数据工程师是从软件工程师转行过来的,目前来说,这是成为数据工程师最常见的发展路径
工作内容:
高级数据结构
分布式计算
并发编程
新工具的使用:Hadoop, Spark, Kafka, Hive等
构建数据仓库/数据管道
数据科学家
数据科学家主要是基于数据而进行的分析工作。比如,一个团队想通过分析来更好的了解用户行为或者是机器的学习算法,然后软件工程师和数据工程师通过编程将其实现。
工作内容:
数据建模
机器学习
算法
商业智能仪表盘
发展数据团队
这些岗位仍然在不断发展。利用新的工具(例如:Stitch),数据仓库从建立到进入市场的整个过程越来越简单,也使得开发人员更加容易建立和维护数据管道。大公司都是将数据工程师从软件工程团队中分离出来,而不是将基础搭建和分析都放在一起形成一个集中的团队。但是在某些场景中,数据科学家负责数据整合和数据分析。
因此,软件工程师、数据工程师和数据科学院都不是独立存在的,我们希望能加快发展的脚步,毕竟数据变得越来越庞大。
欢迎关注"云途数据"微信公众号(ID:yuntudata),每日分享大数据干货