"除了上帝,任何人都必须用数据来说话."
我正在构思一篇讨论软件行业内,关于专业程度与薪酬间相关性的文章.而且我已经有了关于专业程度为什么会影响薪酬,是如何影响薪酬,以及专业性产生偏好的猜测.接下来,我唯一需要做的是用数据统计论证.
首先,我拿到了 2017 年 Stack Overflow 的调查数据(https://insights.stackoverflow.com/survey/2017),对其进行清洗,然后插入了一些以前研究中认为能够影响最终薪酬的变量.
数据分析中最棘手的问题之一是明白哪些变量需要测试,而哪些变量不测试,哪些是控制变量.例如,我可以测试 "在工作中使用 PHP" 是否会增加薪水,但如果我没有考虑到受访者的国家,那么我们可能无法证明 PHP 对薪水的影响程度.
我测试专业分支时,需要去简化数据集并提高对专业分支变化的敏感度.于是,我选择了只用来自美国的专业网页开发人员的数据,然后对比专业的前端和后端开发人员与全栈开发人员的薪水,分析专业程度对薪酬的影响.
分析过程中,我逐步添加了以下变量:经验,教育,网页开发人员类型.然而,分析结果并不理想.我本以为,接受过正式的教育会对工资有正面影响,然而,意料之外的事情发生了.
我本身是一个网页开发人员,负责全栈开发.我一直在想,如果我可以更专业一些,拿到计算机科学专业(ComputerScience,以下简称 CS)学位而不是文科的学位,那么我可能会赚更多的钱.而我弟弟拥有 CS 学位,而我和他的薪水是在两个完全不同的量级上,我只能望其项背.所以我跟自己遇到的每一个对编程感兴趣的人说:CS 专业的本科学位是很值钱的,拥有它,你至少能跟别人产生 2 万美金的永久性薪水差距,而且这还是我的保守估计.
所以你可以想象当我把 CS 专业与其他专业进行对比分析时,我有多震惊.因为结果居然是:不同专业的毕业生的工资之间并没有显著差异.
我想,"我的分析肯定哪里做得不对".在第一次分析时,我将 CS 专业毕业的工程师,数学家和信息技术专业的毕业生都混在一起.显然,CS 专业需要被细分成不同的类别.
然后,我又进行了一轮分析.
但结果依旧是:不同专业间没有显著差异.
对美国专业网页开发人员薪水影响因素的线性回归分析
让我详细说说我的分析.
当我把教育背景,经验,网页开发者类型和本科专业考虑在内时,CS 专业(工程或数学专业)和薪水没有相关关系.
然后,我开始删除一些变量.我想,也许 CS 专业毕业生通常进入后台程序开发领域.然后,我删除了 "网页开发者类型".结果是:没有相关性.
我剔除了与教育背景相关的所有影响因子,不考虑是否有本科,硕士或博士学位.结果依然是:没有相关性.
我尝试了几乎所有可以想象到的组合,但依旧找不到 CS 本科学位和拥有更高薪水之间的显著相关性.
对于 CS 本科学位与薪水之间缺乏统计相关性,有几种可能的解释.我首先想到的是数据质量不高,这可能是一个不合适的抽样结果,或者有人在撒谎,亦或者被调查者没有完成调查.
这个调查本身确实存在一些问题.例如,实际上只有三分之一的美国专业网页开发人员报告了他们的薪水,而在这些人中,大部分人的薪水都是在 9 万美元到 13 万美元的水平.网页开发人员在美国的平均工资约 9 万美元.所以这里可能有一个偏差,因为只有那些觉得自己的薪水还不错的人,才会在调查中填写他们的真实薪资水平.
然后我对这个假设进行了验证,把低于平均 40K 美元的薪水都标注为 N/A.分析结果打破了以前我们公认的所有关联性,也没有其他新的发现.
另一种可能性是 CS 专业的本科生毕业后进入网页开发以外的领域,只有一些人零零散散地还留在这里.当然,这个应该不是主要原因.
统计学是一门科学,同时也是一门艺术.对数据进行回归并找到相关性是很容易的,但有时只是总结整个事物的逻辑.在不真实的统计中,统计数字可能传达了虚假的信息.
"世界上有三种谎言:谎言,糟糕透顶的谎言和统计数据." - 马克 • 吐温
在回顾第一次线性回归时,我注意到一个问题:有些受访者虽然上了大学,但并没有获得相应学位,而且这个比例竟然高达 14%.虽然这个变量并不是最重要的变量,但肯定会对分析带来一定的影响.如果这些从大学辍学的学生中有一些是 CS 专业的呢?
然后我新增了两个交互变量:一个是是否获得学士学位,另一个是否获得硕士学位.结果是显著的,而且是高度相关.如此看来,是否拥有 CS 专业的学位确实会影响薪资水平.
对于影响美国专业网页开发人员工资的影响因素的线性回归:包含 CS 相关交互变量
事实真的如此吗?对于 "攻读 CS 专业" 和 "获得 CS 学士学位" 这两个变量,对薪资的影响程度是很相近地,相差不到一千美元.
另一方面,拥有一个 CS 专业的硕士学位,薪水可能会多一万美元.所以如果你对网页开发很感兴趣,而且你已经有了 CS 专业的本科学位,那么你可能要考虑去读一个硕士学位.
转了一圈,终于又回到了我最初的假设 - 是否有 CS 专业学位确实会影响薪水,但是影响程度远远不及我最初假设的 2 万美元.
事实上,只有大约一千美元左右的差距 - 对于大多数接受薪水调查的开发者而言,这个差距还不到他们总收入的 2%.
也许这对我而言是一个打击,因为作为一个加拿大人,在简历筛选时,我们往往更传统一点.或许 CS 专业学位在我们加拿大还是很有价值的,亦或许在世界上很多地方都是很有价值的.但在美国,是否拥有 CS 学位似乎对专业的网页开发者的薪水并没有什么影响.
很可惜,本文数据里并没有包括中国.各位读者们,从你们的经验来看,在中国,CS 学位是影响工资的关键因素吗?
原文发布时间为:2018-01-18
来源: https://yq.aliyun.com/articles/374554