写点什么

为什么顶级软件工程师得不到应得的薪水?

  • 2020-09-03
  • 本文字数:1684 字

    阅读完需:约 6 分钟

为什么顶级软件工程师得不到应得的薪水?

史蒂夫·乔布斯说过,在软件开发行业,软件开发者的最好水平与平均水平之间的差别是 50:1;甚至可能是 100:1。如果你是一名软件工程师,可能会同意乔布斯所说的。


软件工程师的最好水平与平均水平之间的差距真的非常大,比大部分职业都大得多。


然而,也有一些行业的人才分布跟软件行业类似,最常见的就是职业运动员。1%的运动员表现比平均水平好得多,而这种天分差距也反映在运动员的工资上,这是完全有道理的。例如,美国职业棒球大联盟的顶级投手之一斯蒂芬·斯特拉斯堡(Stephen Strasburg),在 2019 年拿到了 3800 万美元,而美国职业棒球大联盟的平均工资是 430 万美元。


如果说工资反映了运动员的贡献,那么,为什么软件开发者的工资分配跟职业运动员的工资分配不一样?

为什么评价一个软件工程师那么难?

我认为,这主要是因为企业不能像体育俱乐部评价他们的球员那样评价软件工程师。


大部分职业体育项目都有非常完整且客观的运动员统计数据,管理人员可以相当准确地评价运动员。因此,俱乐部会为那些优秀的球员支付更高的工资,因为每个人都知道他们是优秀的。如果一家俱乐部不想付那么多钱,其它俱乐部会愿意付。尽管有时候一个运动员的价值和价格会有一些差异,但两者之间的差距永远不会太大。这正是信息非常透明时,市场的运作方式。


而软件开发市场就是一个完全不同的世界。你不可能知道某人是否是一个好的软件工程师,除非你曾经与他们密切合作过很长一段时间。


如果你是一个程序员,你可能会有一个能够贡献 10 倍、50 倍平均产出的同事。如果现在你是这个人上级的上级,你会知道他/她是一个“10 倍工程师”吗?如果你的 CTO 或 CEO 知道他/她是一位如此出色的工程师,会愿意支付比平均水平高 10 倍的工资来留住他们吗?


很可能不会。


事实上,那些“10 倍工程师”们只得到 10%的加薪,仅此而已。根本原因是人们不知道他们有多好,除了直接接触的同事。

编程面试结果作为评价依据是否可行?

事实上,从大型科技公司的招聘流程中就可以看出评价一个软件工程师是多么的困难。


对于程序员来说,最常见的技术面试流程是要求他们解决非常具有挑战性的编程问题。如果面试者之前从未见过这些问题,那么大部分这些问题都非常难解决。这也是为什么许多人选择集中练习(或记忆)可能的面试习题集(这也称为 leetcoding)。


同时,在短时间内解决复杂算法问题的能力与一个人在工作中的表现并不高度相关。一个软件工程师在工作中所做的事情与解决那些预先定义好的编程面试问题是完全不同的。这并不是评价软件工程师能力的一个理想方式。


软件工程师在工作中需要解决的许多问题是非常模糊的。知道如何将一个模糊的问题分解为几个定义好的编程子问题,以及如何将一个业务问题框定为一个已经深入研究的学术问题,对于成为一个高效工程师来说是非常重要的。


尽管大部分公司已经意识到招聘过程中的这个问题,他们仍然倾向这么做。为什么?因为没有更好的方法来评价一个软件工程师的能力。也许这种传统的面试流程只能衡量一个软件工程师工作能力的 20%,但总比什么都没有强。


所以,你知道这有多么难了。

考核并不能使工资分配更平均

我之所以提出上面的面试例子,是为了说明几乎不可能用一种弹性的方法来评价一个软件工程师。现在,我想做一个思维实验来进一步阐述这一观点。


假设程序员的能力与职业运动员的能力一样容易衡量。如果这个假设是真的,你的工程师同事应该有些人拿年薪 200 万美元,而有些人拿年薪 10 万美元。即使他们都知道彼此的薪水和分配有多极端,他们仍然会感到公平。因为他们知道那些拿 20 倍薪水的人比其他人优秀 20 倍。他们值那么多薪水。


但试想一下,如果一个公司真的这样分配薪水,人们会不会感到不公平甚至愤怒?我想他们肯定会的,除了那些优秀工程师的亲密同事(那些每天和他们一起工作的人)。


由于几乎不可能大规模且客观地评价软件工程师能力,公司会更倾向用一种比较安全的方式来分配软件工程师的报酬,尽管这可能不会真实地反映出他们的能力。


原文链接:


Why Aren’t Companies Paying 50X Software Engineers 50X More? Why The Programming Job Market Is Not Like Professional Sport’s Free Agency?


2020-09-03 07:002113

评论

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

【YashanDB知识库】私有maven使用崖山JDBC驱动

YashanDB

数据库 yashandb

【YashanDB知识库】YCM数据库托管遇到的问题

YashanDB

数据库

【YashanDB知识库】透明故障转移配置指导

YashanDB

数据库 yashandb

Aloudata CAN 荣登 CSDN 2024 中国开发者影响力年度「创新产品与解决方案」榜单

Aloudata

数据分析 数据指标 指标平台 noetl

AI口语评测APP上线注意事项

北京木奇移动技术有限公司

软件外包公司 AI口语测试 AI英语学习

如何查看商品销量 API 接口的性能指标数据

科普小能手

数据挖掘 数据分析 电商 解决办法 API 接口

【YashanDB知识库】YCM和YMP密码重置

YashanDB

yashandb

【YashanDB知识库】Yasldr错误处理

YashanDB

数据库 yashandb

2025 年最值得关注的 8 大数据复制工具

tapdata

灾备 数据复制 实时数据 数据复制工具 fivetran

少儿英语系统(源码+文档+部署+讲解)

深圳亥时科技

人工智能丨AI助力软件测试:从小红书与DeepSeek合作看未来发展

测试人

软件测试

【YashanDB知识库】通过导入导出修改用户名称

YashanDB

数据库

【YashanDB知识库】字符集latin1的MySQL中文数据如何迁移到YashanDB

YashanDB

yashandb

碾压 OpenAI,DeepSeek-R1 发布!如何在本地实现 DeepSeek?

智领云科技

openai DeepSeek DeepSeek v3

AI如何帮助解决生活中的琐碎难题?

天津汇柏科技有限公司

AI 人工智能

AI口语练习APP的性能优化

北京木奇移动技术有限公司

软件外包公司 AI口语练习 AI英语学习

2025年中国(深圳)国际移动消费电子及产品展会

秋硕展览

Locks, Actors, And Stm In Pictures

werbenhu

actor

AI口语练习APP的场景测试

北京木奇移动技术有限公司

软件外包公司 AI口语练习 AI英语学习

培训讲师管理系统(源码+文档+部署+讲解)

深圳亥时科技

【YashanDB知识库】归档日志清理

YashanDB

数据库 yashandb

腾讯云 AI 代码助手: Codebase 本地工程检索

CodeBuddy

@所有人 坚持长期价值创造,智启数字未来!

赛博威科技

数字化 数字营销 赛博威

【YashanDB知识库】YashanDB查询时间与实际时间默认少8小时

YashanDB

数据库 yashandb

NocoBase 本周更新汇总:改进文件存储扩展

NocoBase

开源 低代码 插件 无代码 版本更新

【YashanDB知识库】MySQL的FIND_IN_SET如何在YashanDB改写

YashanDB

数据库 yashandb

【YashanDB知识库】非YCM方式的自动备份方案示例

YashanDB

数据库 yashandb

AI口语陪练APP的关键技术

北京木奇移动技术有限公司

软件外包公司 AI英语学习 AI口语学习

【YashanDB知识库】备库扩缩容指导

YashanDB

数据库 yashandb

为什么顶级软件工程师得不到应得的薪水?_语言 & 开发_Tech Things Around_InfoQ精选文章