NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

薪酬与工作满意度大调查:数据科学家还是 21 世纪最性感的职业吗?

  • 2021-06-17
  • 本文字数:5354 字

    阅读完需:约 18 分钟

薪酬与工作满意度大调查:数据科学家还是21世纪最性感的职业吗?

本文最初发布于 Medium 网站,经原作者授权由 InfoQ 中文站翻译并分享。


我们身处一个数据无处不在的时代。过去几年来,劳动力市场上与数据相关的岗位一直是热门。数据科学家、数据分析师和数据工程师是与数据相关的三大职业类别。如果你有兴趣进入这个领域,或者已经身在其中,那么你应该了解一下数据领域的行业就业现状。当你踏上数据行业的职业生涯,相关岗位工作要求、薪水和满意度等信息可以帮助你做足准备。


在这篇文章中,我会以 StackOverflow 年度开发人员调查为基础来探索一些有趣的问题。文章包含一些数据分析和建模内容,分为三大部分:


第 1 部分:工资


  • 数据行业中哪些岗位的薪水最高?

  • 不同国家之间的工资对比;

  • 工资水平与工作年限的对应关系;

  • 不同性别之间的工资差异;

  • 工资 vs 工作满意度。


第 2 部分:数据行业的就业市场变化,对比 2020 年和 2019 年的数据


  • 数据行业岗位数量的变化;

  • 工资变化;

  • 工作满意度的变化。


第 3 部分:工作满意度


  • 使用 XGBoost 的多类分类来预测工作满意度;

  • 通过建模获得的洞察。

本文所用数据的说明:

在呈现分析结果之前,有必要解释一些重要的数据处理步骤。读者可以先跳过本节,在后文遇到疑问时再回来细读。


这份调查的问题主要针对具有一般开发人员背景的受访者,包括软件开发和数据分析领域。2020 年的调查数据包含 64,461 份回复。我利用了“DevType”问题并对数据进行了预处理,因此只会分析身处数据相关岗位的受访者。问卷中的问题如下。


以下哪一项符合你的情况?请选择所有适用的选项。


  • 学术研究员

  • 数据或业务分析师(DA)

  • 数据科学家或机器学习专家(DS)

  • 数据库管理员

  • 设计师

  • 开发人员,后端

  • 开发人员,桌面或企业应用程序

  • 开发人员,嵌入式应用程序或设备

  • 开发人员,前端

  • 开发人员,全栈

  • 开发人员,游戏或图形开发人员,移动设备

  • 开发人员、QA 或测试人员

  • DevOps 专家

  • 教育家

  • 工程师,数据(DE)

  • 工程师,现场可靠性工程经理

  • 市场营销或销售专业产品经理

  • 科学家

  • 高级管理(CSuite、VP 等)学生

  • 系统管理员

  • 其他


请注意,受访者可以选择多个 DevType,甚至可以选择多个数据岗位(即 DA、DS、DE)。我只保留了与数据岗位关联的数据条目,并按不同类型的岗位做了分类。因此,两个新创建的实例可能来自具有多个数据岗位的同一个数据实例。


为了让分析结果更加一致可靠,我还过滤了“就业状态”,只保留当前有工作的受访者。经过这些数据准备工作,我们筛选出了 11,186 个数据岗位实例。2019 年调查数据也做了同样的数据准备,创建了 17,370 个实例,它们会与第 2 部分中的 2020 年数据进行比较。

第 1 部分:工资情况

我们先来看看这三种数据职业的分布情况。在这里我们可以看到它们的数字非常接近,DA 排名第一,然后是 DS、DE(图 1a)。就平均工资(美元)而言,我们可以看到 DS 和 DE 几乎相同,而 DA 的工资略低(图 1b)。



图 1(a):2020 年调查中的数据职业分布。(b):数据职业的薪水。


接着我们来看不同国家(受访者最多的前 9 个国家)的工资水平,我们可以在图 2 中看到一些有趣的细节:


  • 美国的数据行业工作收入最高。美国的平均工资远高于其他国家,甚至高于西方其他发达国家(即德国、英国、加拿大)。

  • 与 DA 相比,DS(和 DE)不一定是收入较高的工作。事实上,我们看到在加拿大和法国,DA 的薪水比 DS 高很多。**这可能会让你想起一句话:数据科学家是 21 世纪最性感的工作。它可能不像你想象的那么性感,至少从收入调查数据来看不那么理想。**然而,StackOverflow 调查数据并不一定准确反映了现实世界的总体情况。



图 2:不同国家数据行业工作的薪水。


与薪水相关的一个重要因素是工作年限。在调查数据中,我们用“专业编程年数”来评价工作经验,将受访者按“专业编程年数”分为四组。在图 3 中,从“0-3 年”到“6-13 年”,我们可以看到工资逐渐缓慢增加,而“13+年”组的工资有大幅上涨。



图 3:各个“专业编程年数”组中数据岗位的薪水。这样的分组是为了让各组中的样本数尽量相当。


另一个有趣且重要的观察角度是该领域的性别分布。开发人员的性别差异是一个受长期关注的问题。我们在这个行业中也看到了这个问题(图 4)。



图 4:数据行业工作中的性别分布。为了方便做图,所有非二元性别都被分到了“其他”组中。


在工资方面,我们可以看到男性和女性之间没有实质性差异(图 5a),但女性的工资波动范围更大(高方差,图 5b)。



图 5:按性别划分的数据行业工作薪资。(a)条形图。(b)小提琴图。


最后,让我们看看工作满意度与薪水之间的关系。正如你所料,工作满意度并不总是与薪水呈正相关,这也是图 6a 中的数据显示的结果。这也可能表明,有一群数据工程师对自己的工作非常不满意,但他们的薪水却很高(见图 6b 最右侧的绿色高条)。当然,还有许多因素会影响我们在现实世界中的工作满意度。在第 3 部分中,我将应用机器学习建模来预测工作满意度并寻找更多见解。



图 6:薪水 vs.工作满意度。

第 2 部分:数据行业工作的变化,对比 2020 年和 2019 年的数据

在这一部分中,我们来看看数据领域的一些趋势。由于我们的分析基于 StackOverflow 的调查数据,而他们 2018 年的调查形式与 2019 年和 2020 年有较大差异,因此我们只使用 2019 年、2020 年的数据来做对比。


我们首先注意到,2020 年从原始数据中筛选出的有效调查回复总数为 53,159,也就是说 15.69%的受访者从事与数据相关的工作。相比之下,2019 年的调查数据有 77,420 份有效调查回复,16.71%的回复者从事数据相关工作。



图 7:数据岗位和分布的数量,2019 年对比 2020 年。请注意,由于我们创建数据实例的方式,这里的总数大于调查回复的数量。


首先,数据显示这三个岗位之间的分布几乎没有变化(图 7)。2019 年的统计数字更大,因为 2019 年的调查有更多的回复,这并不一定意味着 2020 年与数据相关的工作数量有所减少。



图 8:2019 年和 2020 年之间的工资比较。


谈到薪水的变化,也许这是我遇到的最令人惊讶的结果。我们可以看到所有三个数据岗位的薪水都减少了,总体平均减少了约 16,000 美元(图 8)。



图 9:2019 年和 2020 年的工资对比,仅美国数据。


为了进一步验证这一变化,我只使用美国的数据做了图,并且观察到了类似的工资下降情况(图 9)。这次我们看到 DS 的薪水只是略有下降,而 DA 和 DE 的下降幅度更大。如果能使用其他数据源来交叉验证这种下降趋势是否属实,会很有趣的。如果事实的确如此,那么原因是什么?这又会产生什么影响?附带说明一下,我首先认为工资的这种下降趋势可能是由于 Covid-19 以及市场低迷造成的。但 2020 年的调查数据实际上是在 2020 年 2 月收集的,那时疫情尚未产生影响。


最后,我们来看看工作满意度,这是帮助深入了解就业市场的另一个重要因素。问卷中关于工作满意度的问题如下:


你对目前的工作满意吗?(如果你从事多项工作,请回答你花费最多时间的工作。)


  • 非常不满意 Very dissatisfied(-2)

  • 有点不满意 Slightly dissatisfied(-1)

  • 一般水平 Neither satisfied nor dissatisfied(0)

  • 略满意 Slightly satisfied(1)

  • 非常满意 Very satisfied(2)


我将不同等级的满意度转换为范围从-2 到 2 的值。平均分数如图 10 所示。我们可以观察到,在 2019 年和 2020 年,DS 的满意度得分最高,其次是 DE 和 DA。此外,从 2019 年到 2020 年,所有三个数据岗位的满意度都有所下降,这与工资的变化趋势是一致的。



图 10:2019 年和 2020 年工作满意度对比。

第 3 部分:工作满意度预测

在本文的最后一部分,我想构建机器学习模型来预测工作满意度。正如我们之前看到的,工作满意度问题有五个答案选项。因此这里的预测将是一个多分类问题。


为避免不同年份的数据分布不一致,这里仅使用 2020 年调查数据进行建模。另外,请注意数据是不平衡的。“非常满意”和“比较满意”占总数据的 60%以上,“非常不满意”不到 10%。


一些重要的数据处理步骤包括:1)数据清洗;2)缺失数据插补;3)分类数据编码;4)特征选择/工程。这里我会跳过这些技术细节,你可以参考GitHub存储库中的笔记本和代码以了解更多细节。对于建模,我使用 XGBoost 算法和 oneVsRest 方法来解决这个多分类问题。

3.1:探索性数据分析(EDA)

在展示建模结果之前,我将展示一些 EDA 作为数据科学项目的例程,让你快速了解工作满意度。如第 1 部分所示,工资和工作满意度不一定相互关联(图 6)。那么其他可能影响工作满意度的重要因素都有哪些呢?


如图 11 所示,公司规模和工作满意度之间肯定存在某种模式,但我们很难得出一般性结论。合理的猜测是,在小公司中,“非常满意”的比例往往高于“比较满意”。



图 11:不同规模公司的工作满意度分布。


加班是另一个与一般意义上的工作满意度相关的因素。然而这种关联就算存在也是模糊的(图 12)。的确,在从不加班的组中,“非常满意”的比例并非最大。



图 12:不同加班时间组之间的工作满意度分布。


最后让我们检查一下不同国家的工作满意度分布。一个观察结果很显眼:在印度和巴西等发展中国家,“非常满意”的比例相对较低。尽管如此,我们不能就此断定这是数据领域独有的特殊现象。相反,无论哪个领域,发展中国家“非常满意”的比例都可能较低。



图 13:不同国家的工作满意度分布。请注意,为简单起见,我们没有在建模步骤中使用国家(Country)作为特征。国家是一个高基数特征,应该使用更高级的编码技术,而不是简单的单热编码(one-hot-encoding)。

3.2:使用 XGBoost 处理多分类问题

这里我们来关注模型性能,所以检查混淆矩阵。我们的模型有两个观察结果:


  • 模型存在过拟合问题,尽管在建模步骤中已经应用了多种技术来解决过拟合问题;

  • 该模型可以在合理的水平上正确预测次要类别,尽管将实例预测为“非常满意”和“略满意”会出很多错误。

  • 该模型被“非常满意”和“略满意”混淆(图 14,右)。



图 14:混淆矩阵的模型性能。左:训练数据的混淆矩阵。右:测试数据的混淆矩阵。


当然,模型还有改进的余地,但与使用朴素贝叶斯的基线模型(这里没展示)相比,模型性能相当不错。此外,数据集本身可能也存在挑战,因此无论如何都难以学习一般模式(即过拟合问题)。

3.3:模型可解释性和见解

为了理解模型并获得更多见解,我们来检查在树构建过程中计算的顶级特征(图 15)。


使用单热编码给解释带来了一些不便,因为原来的特征现在被分解成多个二值特征。两个最重要的特征是关于“NEWOnboardGood”的:“NEWOnboardGood_1”表示对“你认为贵公司的入职流程是否良好”的回答为“是”,“NEWOnboardGood_2”表示“否”。很明显,良好的入职流程通常与高工作满意度相关。


我们还看到“UndergradeMajor”是“NEWOnboardGood”之后的另一个重要特征。事实上,模型从数据中学到的是:


  • 如果受访者是自然科学(如生物、化学、物理等)本科专业,则更有可能表示“非常满意”;

  • 对于拥有另一工程学科(如土木、电气、机械等)本科专业的受访者来说结果类似


“Bash/Shell/PowerShell”特征很有趣,使用“Bash/Shell/PowerShell”作为其编程语言之一的受访者比不使用它们的受访者更有可能“非常满意”。至少这是模型从数据中学到的结果。



图 16:XGBoost 树构建过程中通过增益计算出的特征重要程度。


我们可以使用SHAP(一种非常通用的模型可解释性工具)来更好地理解模型行为。我们鼓励你在笔记本中探索更多见解。在这里,我将向你展示基于 SHAP 值的顶级特征,并展示两个关于 Salary(薪资)和 Company Size(公司规模)的依赖图示例。


首先,我们将看到 SHAP 值给出的顶级特征(图 17)与节点分裂期间根据信息增益计算的特征不同(图 16)。SHAP 值方法被认为能更一致地评估特征重要性(请参阅 SHAP 论文以供参考)。在这里,排名靠前的特征是“Salary”“NEWOnboardGood_1”“Age”“YeasCode”“OrgSize”,在我看来更符合常识。



图 17:来自 SHAP 值的主要特征,与图 16 中来自信息增益的特征对比。从 0 级到 4 级:“一般水平”“有点不满意”“略满意”“非常不满意”“非常满意”。



图 18:薪水的 SHAP 依赖图。



图 19.公司规模的 SHAP 依赖图。OrgSize 的映射是:{1: ‘Just me — I am a freelancer, sole proprietor, etc.’, 2: ‘2 to 9 employees’, 3: ’10 to 19 employees’, 4: ’20 to 99 employees’, 5: ‘100 to 499 employees’, 6: ‘500 to 999 employees’, 7: ‘1,000 to 4,999 employees’, 8: ‘5,000 to 9,999 employees’, 9: ‘10,000 or more employees’, -1: ‘Missing’}


图 18 中的 SHAP 依赖图告诉我们如何使用薪水来预测实例是否“非常满意”。我们可以看到,总体而言,更高的薪水意味着实例更有可能“非常满意”,正如增长趋势所表明的那样。


对于公司规模,较小的规模倾向于对“非常满意”的预测结果做出积极贡献(图 19)。

结论

在这篇文章中,我们使用 StackOverflow 调查数据进行了一些探索性分析,并对数据行业就业市场有了一些了解。


  1. 我们分析了不同数据岗位的薪资分布,同时也考虑了其他因素,如国家、工作年限、性别。

  2. 我们将 2019 年的调查数据与 2020 年的数据进行了比较。令人惊讶的是,数据相关工作的薪水和工作满意度都下降了。

  3. 最后,我们构建了一个 XGBoost 多分类模型,通过检查特征重要性和依赖关系来预测工作满意度,并获得了对工作满意度的一些洞察。


这篇文章中的分析和建模更多是出于实践目的,而没有进一步调查就无法得出可靠的结论。最重要的是,StackOverflow 调查数据本身就可能存在偏差,不一定代表真实世界的群体情况。我希望你读完这篇文章能得到一些乐趣。要查看更多技术细节,请访问GitHub存储库


原文链接:


https://towardsdatascience.com/salary-satisfaction-trend-of-data-jobs-f47bdf72afa3

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2021-06-17 15:111474
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 494.5 次阅读, 收获喜欢 1968 次。

关注

评论

发布
暂无评论
发现更多内容

C++中的代码重用

Maybe_fl

横向对比主流BI软件优势,企业要按需选择

巷子

经营型项目经理是不是伪需求?

PMO实践

项目管理 敏捷 PMO 项目经理

Java 注解与反射 基础

卢衍飞

Java

从 Uber 数据泄露事件我们可以学到什么?

SEAL安全

数据安全 企业安全 PAM

Spring中获取bean的八种方式,你get了几种?

小小怪下士

Java spring bean

华为云区块链三大核心技术国际标准立项通过

华为云开发者联盟

区块链 华为云

JavaScript 基础

卢衍飞

JavaScript 学习 技术交流 基础

深度分析React源码中的合成事件

goClient1992

React

BSN开放联盟链“武汉链”新版浏览器wuscan.io正式上线发布

BSN研习社

BSN 武汉链

好好的系统,为什么要分库分表?

程序员小富

Java 数据库 面试 分库分表

从react源码看hooks的原理

flyzz177

React

极客时间运维进阶训练营第五周作业

9527

从recat源码角度看setState流程

flyzz177

React

React-Hooks源码深度解读

goClient1992

React

【11.18-11.25】写作社区优秀技术博文回顾

InfoQ写作社区官方

热门活动

聊一聊装饰者模式

Java 设计模式

转化10亿GMV:螺丝钉也能变小马达

博文视点Broadview

瓴羊Quick BI,强劲数据引擎助力企业数据分析

夏日星河

一个PMO从0-1建设的工作思路 | 对你绝对有用!

PMO实践

项目管理 PMO

HDC2022的无障碍参会体验,手语服务是如何做到的?

HMS Core

HMS Core

从源码角度看React-Hydrate原理

flyzz177

React

Web3领域首个三消小游戏Matching Game,近30日交易量破800万U

EOSdreamer111

MongoDB源码学习:Command的执行与注册

云里有只猫

mongodb 源码学习

Java 反射

卢衍飞

Java

Java 线程基础

卢衍飞

Java

看透react源码之感受react的进化

goClient1992

React

ISV 的亚马逊云科技 marketplace ( 中国区) 之旅

亚马逊云科技 (Amazon Web Services)

亚马逊云科技 Tech 专栏 Marketplace

只需5步注册成为亚马逊云科技 Marketplace (海外区)专家

亚马逊云科技 (Amazon Web Services)

亚马逊云科技 Tech 专栏 Marketplace

链上挖矿分红智能合约DAPP系统开发部署模式定制

开发微hkkf5566

火山引擎 DataTester 应用故事:一个A/B测试,将产品DAU提升了数十万

字节跳动数据平台

大数据 AB testing实战

薪酬与工作满意度大调查:数据科学家还是21世纪最性感的职业吗?_AI&大模型_ChuangXin Lin_InfoQ精选文章