调查了6万多名开发者后,我们发现了这些...

2020 年 12 月 08 日

调查了6万多名开发者后,我们发现了这些...

近十年来,Stack Overflow 的年度开发者调查一直是针对全球编码人员最大的调查。今年,他们调查了 60,000 多名软件开发人员,包括他们的工作时长、喜欢的编程语言、薪水、使用的工具和技术以及他们如何编程等,并分享了一些令人惊叹的统计数据。本文将对他们的调查结果进行详细分析。


不同技术之间的关联以及开发人员如何使用这些技术?


该网络图显示了哪些技术之间的关联度最高。每个圆圈的大小对应于使用该技术的受访者比例。


人们倾向于并用 Ruby 和 Rails。同样,.NET 开发人员通常在 Windows 计算机和 Azure 云上进行开发。


同样,MySQL 与 PHP 的联系更紧密,它们都在 LAMP 堆栈(Linux、Apache、MySQL、PHP)中。



不同技术如何相互关联(Pic credits: Stack Overflow)


由于 Flutter 框架的日益普及,最初在 Google 作为 Web 开发工具的 Dart 现在与移动应用程序开发更加相关。


你还可以看到数据科学和机器学习技术如何相互关联,并形成一个工具链来承担 AI 世界的工作。

最喜欢、最讨厌和最想要的编程语言


在过去的 5 年中,Rust 一直位居榜首,TypeScript 现在是第二受欢迎的编程语言,而 Python 排名第三。



最受欢迎的编程语言


Visual Basic for Applications、Objective C、Perl 和 Assembly 占据了最令人讨厌的编程语言前列,虽然它们是许多开发人员当前使用的语言,但开发者对继续使用这些语言不感兴趣。



最令人讨厌的编程语言


就最想要的编程语言而言,Python 连续第四年位居榜首,其次是 Javascript。好吧,我一点也不惊讶,现在 Python 是新程序员的首选。



最想要的编程语言


使用最广泛的编程语言-JavaScript



使用最广泛的编程语言


JavaScript 是最常用的技术。一些有趣的变化是——随着用于移动开发的 Flutter 的推出,Dart 正在迅速发展。


Kotlin 一直在迅速发展为 Java 的替代语言。


每周工作几小时?


在全球范围内,超过 75%的开发人员每周工作时间少于 45 小时。大约 2%的开发人员每周工作时间超过 70 小时。



开发人员每周工作小时数



国家/小时数


高级管理人员和工程经理往往会工作更长时间。



谁工作时间最长


有多少开发人员将编程作为爱好?


大约 78%的调查受访者表示,他们将编程作为爱好。有家人和孩子的受访者表示,他们在工作时会编程。女性通常不将编程作为爱好。我认为我们必须通过鼓励更多的女性参加工作以外的编程项目来改变现状。



编程爱好?


开始学习编程多少年?


大约 30%的受访者表示,他们已经学习编程 5-9 年,而有些人已经编程 30 多年了。惊人不是吗?



开始学习编程以来的时间


最喜欢、最讨厌和最想要的 Web 框架是什么?


根据受访者反馈,ASP.NET Core 是最受欢迎的 Web 框架,而 React.js 紧随其后。有趣的是,Vue.js 排名第三。



最受欢迎的 Web 框架


根据受访者的说法,Angular.js 是最令人讨厌的 Web 框架,其次是 Drupal 和 jQuery。



最令人讨厌的 Web 框架


根据受访者的说法,React.js 是他们最想要的 Web 框架,其次是 Vue.js 和 Angular。



最想要的 Web 框架


根据开发人员的偏好,最重要的框架、库和开发人员工具是什么?


Node.js 排在第一位,这是一个非操作系统、非数据库工具。



随着对机器学习和人工智能应用的需求不断增长,诸如 TensorFlow、Pandas 和 PyTorch 之类的机器学习工具变得非常流行。


最喜欢、最讨厌和最想要的平台是什么?


Linux 是开发人员最喜欢的平台,其次是 Docker 和 Kubernetes。Windows 排名第十。



最受欢迎的平台


WordPress 是开发人员最讨厌的平台,其次是 IBM Cloud 和 Heroku。令人惊讶的是,Android 位居第六,接着是 Windows。



最令人讨厌的平台


不出意外,Docker 在最想要的平台中排名第一,紧随其后的是 AWS 平台。



最想要的平台


最重要的数据库技术是什么?


Redis 是最受欢迎的数据库技术,其次是 PostgreSQL 和 Elasticsearch。Redis 是开源(BSD 许可)的内存数据库,用作数据库、缓存和消息代理。



最受欢迎的数据库技术


IBM DB2 是关系数据库管理系统(RDBMS),被认为是最令人讨厌的数据库。



最令人讨厌的数据库技术


NoSQL 数据库 MongoDB 仍然是开发人员最想学习的数据库技术。



最想要的数据库技术


最喜欢的协作工具是什么?


大约 82%的开发人员使用 GitHub 作为协作工具,而超过一半的开发人员使用 Slack。Github 是广泛使用的协作工具,我很喜欢用,也难怪它居于首位。



最受欢迎的协作工具


哪种编程语言为开发者带来的收入最高?


在全球范围内,Perl、Scala、Go 和 Rust 开发者的薪水最高,其中位数约为 7500 美元。



全球薪水最高的编程语言


在美国,Scala 排名第一,成为收入最高的编程语言,其次是 Go 和 ObjectiveC。



美国薪水最高的编程语言


2020 年开发人员的平均工资是多少?


Y 轴——中位数工资。


X 轴——编程经验年数



由此我们可以得出结论,与其他开发人员相比,DevOps 和站点可靠性工程师收入最高


开发人员多久学习一次新技术?


专业开发人员每隔几个月就会使用一次新工具。他们中有将近 38%的人似乎每年都会学习至少一项新技术。



开发人员多久学习一次新技术


大多数专业开发人员的教育背景是什么?


大约 75%的开发人员拥有大学学士学位,有些继续深造获得了研究生学位。大约 2%的专业开发人员在完成了两年制副学士学位后没有继续上学,大约 17%的开发人员根本没有获得任何大学的学位。这说明你可能不需要大学学位即可成为专业开发人员。



大多数开发人员的教育背景



开发人员的专业背景


计算机科学是美国最常见,薪酬最高的专业。因此,如果你打算上大学,请明智地选择专业。


专业软件开发人员平均年龄多大?


大多数专业开发人员年龄都在 30 岁左右。



专业开发人员年龄


美国的开发人员往往比其他国家的开发人员年龄大,他们的平均年龄将近 35 岁。



专业开发人员的国籍和年龄


美国开发人员似乎也比其他国家的开发人员更晚开始编程,并且平均开发时间仅约 15 年。好吧,为了在技术领域建立坚实的职业发展,额外的编程经验始终是加分的。



前端开发人员和全栈开发人员通常平均具有 8 年以上的编程经验。经理和主管通常具有 15 年或以上的编程经验。



受访者来自哪些地区?



受访者的区域细分如下:



受访者区域


受访者中男性和女性各有多少人?


在受访的专业开发人员中,几乎 92%是男性,而只有 7.7%为女性。



有多少开发人员存在生理或心理上的缺陷?


有趣的是,有相当多的开发人员存在视力障碍或完全失明。尽管生理或心理上有缺陷,但他们仍参与编程,这应当能鼓励更多的人开始编码。这就是所谓的“激情”。



生理或心理有缺陷的开发人员



开发人员面临的问题


大多数开发人员使用什么操作系统?


将近 46%的开发人员使用 Windows 作为其主要的桌面操作系统,而 MacOS 和 Linux 分别排名第二和第三。



开发人员如何选择他们的工具?


选择工具的最常见方法是查看它是否有免费试用版,然后尝试一下。



开发人员如何选择他们的工具


全职和自雇的开发人员占比多少?


大约 83%的开发人员是在 FAANG 等公司(在 Google,Facebook,Amazon 和 Apple 均拥有超过 15,000 名员工)工作的全职员工,这也包括拥有全职实习或被录用的学生。大约有 10%的开发人员仍然喜欢以自由职业者或自雇人士的身份工作。




全职或兼职开发人员人数


开发人员对工作满意度多高?


大约 65%的开发人员对工作感到满意。



开发人员工作满意度


导致开发人员不满意的最主要原因是收入。



不满意原因



对女性开发人员而言,最重要的考虑因素是“办公环境和公司文化”。


原文链接:


https://medium.com/datadriveninvestor/stack-overflow-analyzed-data-from-60-000-software-developers-hours-they-work-languages-they-476ac6ca0197


2020 年 12 月 08 日 16:341732

评论 2 条评论

发布
用户头像
infoQ自己搞个调查呗,根本没多少中国人参与了Stack Overflow的问卷调查
2020 年 12 月 18 日 15:10
回复
用户头像
国外的不符合国内行情
2020 年 12 月 09 日 13:35
回复
没有更多评论了
发现更多内容

跨越“数字鸿沟”,日本老年智能化服务的解法

脑极体

数据类型· 第1篇《元组和列表的性能分析、命名元组》

清菡

测试开发

甲方日常 67

句子

工作 随笔杂谈 日常

Week_12 作业

golangboy

极客大学架构师训练营

Sentinel 是如何做限流的

vivo互联网技术

高可用 限流 底层

关于敏捷开发的最佳实践和工具

PingCode

程序人生 敏捷开发 研发管理 管理工具 开发平台

区块链发展前景广阔,要紧跟时代步伐

13828808769

区块链发展 时代发展

ISP芯片:如何让数字之眼“看清”真实世界?

脑极体

还在手写Operator?是时候使用Kubebuilder了

Java架构师迁哥

【架构师训练营 1 期】第十二周学习总结

诺乐

FORSAGE智能合约矩阵系统软件APP开发

开發I852946OIIO

系统开发

京东智联云与CDA携手 共同打造电商领域数字化人才认证标准

京东智联云开发者

大数据 数据分析 数据分析师

访问者模式及其在Java Parser中的应用

maijun

《逻辑和计算机设计基础》第五版(英文原版)PDF免费下载

计算机与AI

计算机基础 计算机组成原理

以理性不断的崇敬 - 对DDD之后复杂业务软件系统设计的思考

Winfield

领域驱动设计 DDD 架构设计

时序数据库DolphinDB和TimescaleDB 性能对比测试报告

DolphinDB

大数据处理 分布式系统 时序数据库 DolphinDB 数据库开发

【架构师训练营 1 期】第十二周作业

诺乐

领域驱动设计(DDD)实践之路(四):领域驱动在微服务设计中的应用

vivo互联网技术

架构 领域驱动设计 DDD 领域驱动设计DDD

架构师训练营第四周总结

Geek_xq

从面试角度分析ArrayList源码

Java旅途

Java List 面试 ArrayList

Java虚拟机科普系列—元空间Metaspace的内存结构

Java老k

Java JVM Java虚拟机 metaspace

新增原创标签相关改动

yinhaixiang

aa bb cc

浅谈产品与项目之间的爱恨情仇

求求你,别再用wait和notify了!

王磊

Java

我国一项物联网安全测试技术成为国际标准;Windows 10将支持安卓应用

京东智联云开发者

如何搭积木式的快速开发H5页面?

徐小夕

Java 前端 前端工程 React 数据可视化

一鼓作气学会“一致性哈希”,就靠这 18 张图了

四猿外

分布式 算法 一致性哈希 一致性Hash算法 哈希算法

金融科技 | 建设中台能力,助力开放生态

xcbeyond

金融科技 中台战略 中台架构

新增原创标签相关改动

yinhaixiang

测试 个人 aa bb

生产环境全链路压测建设历程之九 淘宝网全链路压测的原理

数列科技杨德华

ReactNative | 项目复盘,涉及环境、RN版本升级、安全等方案

梁龙先森

前端 混合应用开发 React Native

调查了6万多名开发者后,我们发现了这些...-InfoQ