陈伟龙,邱梁泉,张小华(通讯作者)
(仲恺农业工程学院 广东 广州 510225)
近年来,随着互联网、云计算、物联网、三网融合等通信与IT技术的迅猛发展,数据的快速增长,信息社会己经进入了大数据时代。本文收集2016年度拉勾网的网页招聘信息作为分析所用数据。数据采集工具使用Python的Scrapy框架,同时配置redis和MongoDB数据库,分别用于爬虫URL池和数据存储。采集的招聘信息中包括数据分析师职位的数据2053行,数据工程师的数据192行,数据科学家的数据65行。
按照岗位职责和要求差异,将数据处理类岗位分为三类:数据分析师、数据工程师和数据科学家,三种不同职业的定义为:数据分析师指的是不同行业中,专门从事行业数据搜集、整理、分析,并依据数据做出行业研究、评估和预测的专业人员。数据工程师一般被定义成“深刻理解统计学科的明星软件工程师”,他们的核心价值在于他们借由清晰数据创建数据管道的能力。数据科学家是指能采用科学方法、运用数据挖掘工具对复杂多量的数字、符号、文字、网址、音频或视频等信息进行数字化重现与认识,并能寻找新的数据洞察的工程师或专家。
数据处理类岗位地域分布显示,数据科学职位需求量较多的是北京、上海、深圳、杭州和广州,越是发达的城市越多数据处理人才需求。数据处理类岗位行业分布显示,移动互联网行业职位需求数量为610171,占比51%,居于首位。电子商务次之,占比19%。金融和O2O、企业服务和数据服务排名依次递减。排名前六的行业基本属于互联网行业,互联网行业对数据处理人才需求旺盛。
本文用Kruskal-Wallis检验分析多组数据之间的差异性是否显著,对三种岗位的工资水平进行Kruskal-Wallis检验。在0.05置信水平下,检验结果显示P值为0,说明数据分析师、数据工程师和数据科学家的工资存在显著差异。不同类岗位的薪资水平影响因素不同,本文从公司实力影响和岗位人才两个维度,选取公司规模、公司融资情况、工作经验要求、学历要求四个指标,分析三种岗位薪资的影响因素。
根据公司规模、融资情况、工作经验和学历要求四个影响因素,分别与数据分析师、数据工程师和数据科学家三种岗位的薪资进行Kruskal-Wallis检验,结果显示,在0.05的显著性水平下:公司规模、融资情况、工作经验和学历要求的差异均对数据分析师工资有显著影响;学历要求的差异对数据工程师的平均工资有显著影响,而其他变量P值均大于0.05,公司规模、融资情况和工作经验的差异对数据工程师没有显著影响;公司规模、融资情况、工作经验和学历要求四个因素均对数据科学家工资有显著影响。
以数据科学家、数据工程师和数据科学家的岗位职责和职位要求进行分词处理,根据词汇词频进行基本的分析,词频以词云形式展示如下(以下图左均为岗位职责的词云,图右均为职位要求的词云)。数据分析师频繁用到数据库的SQL语句、R语言、SAS或者SPSS等软件。在学历和经验方面,学历要求中最多的是本科学历,经验要求是熟练,说明数据分析师是一个更多依靠经验的职位。
图2 数据工程师的岗位职责和职位要求
由图2可知,数据工程师的主要职责是根据业务需求进行数据架构平台的搭建,能数据分析、数据挖掘的方法进行的建模,基本报表生成能力。在理论知识方面,数据工程师要求任职者掌握数据库、数据分析、数据挖掘的知识,具备独立编程和建模能力,自主搭建数据的数据架构平台。在软件操作方面,数据工程师需学会操作Linux操作系统,数据库操作需掌握C++或C语言,Hadoop,mysql;数据建模需掌握R语言,Python,SAS等软件的使用;分布式计算中要掌握MapReduce,Spark等软件;网页操作要求PHP的使用。在学历和经验方面,数据工程师学历要求最多是本科,经验要求是熟练。
图3 数据科学家的岗位职责和职位要求
由图3可知,数据科学家的主要职责是根据用户的需求,利用数据分析方法、数据挖掘算法和机器学习的技术,将海量数据中处理并建模,不断改进算法效率。在理论知识方面,数据挖掘要求任职者掌握数学、统计学、数据挖掘和机器学习的知识,具备独立建模和编程的能力;能结合业务需求挖掘数据中的价值。在软件操作方面,数据科学家需学会使用Linux操作系统,数据库操作需掌握C++或C语言,Java,Hadoop,mysql;数据建模需掌握R语言,Python,SAS等软件的使用。在学历和经验方面,数据科学家学历要求最多是硕士,经验要求是熟练。在学历和经验上,三个职业要要求有丰富的经验,可见数据科学更是经验的科学;数据分析师和数据工程师学历要求偏向本科,数据科学家学历要求偏向研究生。
在软件使用上,三种职业都要求对Linux系统有所了解,对数据库操作上要求掌握sql,Hadoop等数据库操作语句;软件Excel、SPSS、SAS、R和Python都有使用,只是侧重的比例不一样。
由图1可知,数据分析师的岗位职责主要是根据用户需求进行相关行业数据产品的分析,结合自身的经验和模型结果提出相应的建议,给予决策者决策的方向。在理论知识方面,数据分析师不仅要求任职者熟悉数学、统计学、计算机相关的知识,对数据有一定的敏感度,具备独立建模的能力,熟练掌握建模流程;而且还要求掌握相关业务知识,能结合统计学和业务知识建模。在软件操作方面,