中国程序员年薪中位数23万排全球第14、Python爆火,揭晓最新开发者生态系统现状!

整理 | 屠敏
出品 | CSDN(ID:CSDNnews)
  • 精通哪门编程语言最能“涨薪”?

  • 层出不穷的 AI 辅助编码,究竟给程序员带来了多大的实际价值?

  • 从全球视野来看,中国开发者的薪资情况如何?

近日,软件工具开发公司 JetBrains 最新发布了《2024 开发者生态系统现状 报告》(https://www.jetbrains.com/lp/devecosystem-2024/),基于对全球 23,262 名开发者的调研数据,深入剖析了编程语言趋势、薪资分布以及 AI 工具的使用情况。

以下是报告中的一些亮点:

  • 全球近半数程序员使用 Python;

  • 薪酬最高的编程语言是 Scala,其次为 Go、Kotlin、C 和 C++;

  • 69% 的开发者曾在编码中使用 ChatGPT,其中 49% 的人经常依赖 AI 工具完成开发任务;

  • 32% 的受访者认为 AI 工具每周可节省 1-2 小时工作时间;

  • 全球开发者中位数薪资排名:美国开发者以 144,000 美元(约 105 万元)稳居榜首,中国开发者以 31,200 美元(约 23 万元)排名第 14 位。

从技术到收入,报告为开发者的职业选择提供了重要参考。哪个技术趋势最值得关注?一起来看看吧!

图片

程序员的日常

在 IT 领域,不乏有很多领导喜欢用代码行数来衡量技术人的工作量,但这种方式往往掩盖了一些实际情况。

斯坦福大学不久前做过一项研究,揭示了一个令人震惊的现象:在大型科技公司里,有一部分工程师的工作量极低,每周实际工作时长仅约 5 小时,每月甚至只提交两次代码更改,年薪却高达 20 万到 30 万美元。这类人被称为“幽灵工程师”。该研究数据显示,这类几乎没有实质性贡献的工程师占比约 9.5%,导致科技行业每年损失高达 900 亿美元。

但事实是否真的如此?程序员不写代码等于没产出?他们每天中到底有多少是用来写代码的?

根据 JetBrains 最新调查报告显示,现实只有 19% 的程序员真正能把 71%-80% 的工作时间直接用在写代码上,花费超过 90% 的时间专注写代码的开发者仅占比 6%。

不过,写代码终究是程序员的核心工作,65% 的受访者称他们会将一半的工作时间花在编码任务上,但是也有不少“非编程”工作会占用他们大量的时间。

图片

譬如,开会、沟通、文档整理等任务充斥在程序员的日常工作中。33% 的开发者透露,自己日常要花费 10%-20% 的时间在会议、工作相关的聊天和电子邮件上。

图片

图片

中国开发者平均薪资位居全球第 14 位,中位数为 23 万元

本次调查中,20% 的受访者来自中国,其他主要来源国家/地区包括美国、印度、日本和德国等。

图片

在中国开发者群体中,18-29 岁的年轻开发者占比 63%。

图片

放眼全球程序员薪酬,美国程序员以高达 144K 美元(约 105 万元)的中位数年薪遥遥领先。中国程序员的薪酬排名第 14 位,中位数薪酬为 31.2K 美元(约 23 万元)。这表明尽管中国在科技和互联网领域迅速发展,并且对于编程人才的需求持续增长,但与全球顶尖市场相比,中国的薪酬待遇仍有较大的提升空间。

值得注意的是,这里的薪酬数据是中位数,具体薪资会根据个人的经验、技能、公司规模和地区等因素有所不同。

图片

15% 受访者的薪酬主要集中在 24k-36k 美元范围内。

图片

图片

Scala 语言薪酬最高、全球一半的程序员在用 Python

在工具维度,JavaScript 是开发者最常用的编程语言,占比 61%,和去年持平。对此,JetBrains 官方分析道,“一旦开发人员选择了一个生态系统,他们往往就不会计划采用任何其他技术或工具集。通常情况下,开发者倾向于选择他们喜欢的东西并坚持他们所了解的东西”。

此外,其他最受开发者欢迎的编程语言 Top 5 分别为 Python、HTML/CSS、SQL、Java。

图片

不过值得注意的是,JavaScript 虽然拥有庞大的开发者社区和丰富的资源而备受开发者喜爱,但另一方面,它也正面临强大的竞争。JetBrains 称,JavaScript 用户的百分比没有变化,然而将其作为主要语言的用户比例下降了 2 个百分点。如今 JavaScript 的超集 TypeScript 正在迅速获得关注,它的采用率已从 2017 年的 12% 飙升至 2024 年的 35% 。

与 JavaScript 相比,TypeScript 在开发体验上提供了显著的改进。它不仅能在编译阶段捕捉错误,提前发现潜在问题,从而提高代码质量,还简化了长期维护的工作。TypeScript 增强了重构的安全性和效率,减少了出错的可能性,并且原生支持 ES6 模块系统,使得代码组织更加清晰。

那么,TypeScript 会取代 JavaScript 吗?

答案是“不”!

JetBrains 官方认为,JavaScript 是软件开发行业中最流行和最基本的技术之一,可以肯定地说,它不会很快消失。虽然 TypeScript 因其增强的功能和优势而越来越受欢迎,但 JavaScript 的广泛采用、简单性和强大的生态系统确保它仍然是 Web 开发的重要组成部分。TypeScript 不会取代 JavaScript,而是更有可能继续与 JavaScript 共存,为开发人员提供基于其项目需求和偏好的选择。

Python 是另一个值得开发者关注的编程语言。数据显示,人工智能和机器学习最常用的编程语言是 Python。作为第二大最受欢迎的编程语言,Python 拥有丰富的库(例如 TensorFlow、Keras、PyTorch 和 scikit-learn)和强大的社区支持。

图片

对此,JetBrains 分析道,“七年前,我们第一次进行调查时,Python 的份额为 32%(几乎与 PHP 的 30% 持平),而现在,全球超过一半的程序员都在使用 Python。

论及开发者是否会放弃当前所使用的语言而用其他编程语言时,Go 和 Rust 成为众人关注的焦点。这两种语言在构建时都考虑到了性能和并发性,并提供了编译器安全保证以帮助减少错误,正因此,成为不少开发者的备选学习语言。

图片

对于过去几年间,美国政府呼吁开发者应该在新程序开发时放弃使用 C/C++ 语言而选用内存安全语言的争议,JetBrains 结合开发者的选择,分析了当前 Rust 的最新进展。整体来看,美国政府的呼吁一定程度上促进了业界对 Rust 的采用。

数据显示,在今年最受欢迎的语言中,唯一创下使用率新高的语言便是 Rust。Rust 立志以其严格的安全性和内存所有权机制取代 C++,其用户群在过去五年中稳步增长。根据 JetBrains 的数据,六分之一的 Go 用户正在考虑采用 Rust。

最后,再来看看薪水最高的编程语言究竟都有谁?

调查显示,它们分别是 Scala、Go、Kotlin、C++、Rust、C、Shell、Java 和 Python。但是,薪水并不仅仅由语言决定。工作角色很重要!例如,Shell 脚本属于薪水最高的类别,因为它被 DevOps 工程师大量使用,而他们的薪水通常更高。

图片

图片

ChatGPT 是最受欢迎的 AI 辅助编码工具

毋庸置疑,AI 工具在开发人员社区中的应用取得了显著进展。根据最新数据,高达 69% 的开发人员已经尝试了 ChatGPT,其中 49% 的人将其频繁应用于编码及其它开发相关任务。紧随其后的是 GitHub Copilot,这款备受欢迎的开发者 AI 助手,已被 40% 的开发人员试用,且 26% 的受访者表示经常使用它来辅助日常工作。

图片

通过 JetBrains 提供的原始数据(未加权)来看,Anthropic Claude 虽然只有 2.7% 的受访者使用,但采用率却高达 52.4%,显示出良好的满意度。按采用率排名,接下来是 Codeium,采用率为 48.3%,然后是 Google Gemini/Bard,采用率为 37.6%,JetBrains AI Assistant 的采用率为 37.2%。 

图片

这些数字不仅反映出 AI 工具在编程领域的普及程度,也揭示了它们对提高生产力和简化复杂任务的重要作用。

日常使用中,29% 的公司允许在所有项目中使用这些第三方基于云的 AI 工具(如 ChatGPT、GitHub Copilot 或 Google Gemini)执行编码和开发相关任务。

整体来看,大多数公司(近 80%)要么不同程度地允许使用第三方 AI 工具,要么没有制定政策,只有 11% 的公司完全禁止在所有项目中使用,这意味着很多人对“AI 威胁论”的恐惧正在逐渐消退。

图片

在使用了 AI 辅助编码工具之后,67% 的受访者表示,搜索信息所需的时间显著减少。同时,58% 的人认为编码和开发速度更快,以及 57% 的人指出 AI 工具能更快地完成重复任务,并且同样比例的人认为这提高了整体生产力。

多数受访者觉得,AI 工具在提高效率、减少重复劳动和提升开发体验方面表现尤为突出。

图片

超过三成的开发者认为,借助 AI 工具至少每周可以节省 1-2 小时时间。

图片

在这次调查中,JetBrains 还特别设置了“您是否使用虚拟现实 (VR) 设备进行编码?”一问,要知道在今年 2 月苹果正式发售 Vision Pro 头显之后,有不少开发者尝试在这类设备里面编码。当时,有开发者反馈,“某种程度上来说,我感觉就像站在一个大机房里,这与传统的桌面体验完全不同”,但是因为设备太重,也有不少人吐槽称,这样看代码太累了。

无论如何,这都是一种新型的编码方式。

时下,这一方式是否已经普及?数据显示,并没有。

49% 的受访者虽然想要尝试,但是还没有开始使用。

图片

调查中,只有 8% 的开发人员尝试过使用虚拟现实 (VR) 进行编码。阻碍开发人员采用 VR 进行编码的最常见障碍包括设备成本高昂以及对其益处的不确定性。此外,18% 的开发人员会如上文所提及的,因长时间使用 VR 而感到身体不适或有健康问题。

图片

图片

其他值得关注的技术及趋势

桌面开发比移动开发更为普遍

虽然有些人认为移动开发比桌面开发更为普遍,但 JetBrains 的数据显示,桌面应用程序开发比移动应用程序开发高出 6 个百分点。这颠覆了“移动应用程序已超越桌面应用程序”的观点,证明桌面应用程序对许多开发人员来说仍然是必不可少的。

图片

根据调查,58% 的开发人员在浏览器平台上运行代码。桌面紧随其后,占比 53%,这表明尤其是对于需要更多功能或专用工具的任务而言,桌面更为重要。移动设备占 30%,也呈现增长趋势,但尚未赶上桌面的使用率。

图片

区块链在过去有段时间里很火,但是,据最新的数据显示,这项技术实际上并没有获得太大的吸引力——只有 3% 的开发人员关注它。相较之下,18% 的开发人员参与了与人工智能的整合工作,这表明人工智能正在稳步渗透到开发的软件中。

图片

开源数据库占主流

近年来,数据库的受欢迎程度一直保持相当稳定。开源数据库(MySQL、PostgreSQL、MongoDB、SQLite 和 Redis)占据了开发人员使用的存储选项的主导地位。

图片

在云服务方面,Amazon Web Service 排名第一,占比 46%。阿里云并列第三,有 11% 的受访者使用,相较去年有所提升。

图片

同时,49% 的开发者表示在本地使用 Docker,这表明 Docker 已成为开发环境中的主流工具。此外,25%的开发者表示不使用任何虚拟化或容器技术,这意味着仍有一部分开发者依赖传统的开发方式。

图片

图片

软件开发者的就业市场趋势

过去两年间,随着国际市场经济环境的变化,「裁员」、「降本增效」、「开源节流」成为科技行业热议的话题。对于身处在这一领域的开发者而言,究竟受到了怎样的影响?

调查数据显示,一半的受访者称所在的公司没有裁员,这表明目前整个行业似乎相对稳定。然而,14% 的企业经历了大规模裁员,三分之一的企业面临小规模裁员。

图片

对于个人而言,超过 50% 的受访者没有直接受到裁员的影响,但有 30% 的人受到了间接影响。16% 的人失去了工作。

在这一趋势下,大多数开发人员觉得自己的工作安全可靠。只有 11% 的人声称自己在某种程度上感到不安全。

图片

日常工作中,近一半的员工觉得自己的工作量与期望值相比有些多。41% 的人称和自己预期一样。

图片

根据这份报告,技术人员在工作中面临的最大挑战主要集中在三个方面:38%的受访者认为了解用户需求最具挑战性,这反映了在快速变化的市场需求中,准确捕捉用户需求的难度;34%的人认为与其他工作角色的沟通是主要挑战,这表明跨部门协作和有效沟通在项目成功中的重要性。32%的人表示理解他人的代码也很具挑战性,这凸显了代码可读性和团队协作的重要性。

这些数据表明,除了技术技能外,软技能如沟通能力和理解用户需求的能力在现代软件开发中同样至关重要。

图片

以上便是《2024 开发者生态系统现状》的主要内容,更多完整报告内容可查看:https://www.jetbrains.com/lp/devecosystem-2024/