编译 | 弯月

责编 | 屠敏

近十年来,Stack Overflow的年度开发者调查问卷被誉为全球范围内最大的开发者调查。为了寻求多样化的代表,Stack Overflow的官方将调查问卷从技术和行为等方面提出了各类问题,希望收集的信息能够帮助改善Stack Overflow开发者的社区。

今年,在采访了全球65,000行业从业者之后,Stack Overflow正式发布了《2020 Developer Survey》,最终有一些重要发现:

  • 55%的开发人员为全栈开发,20%的开发人员从事移动开发。

  • 美国女性开发人员约占12%。而德国、巴西和波兰等国家的女性开发人员只有美国的一半。

  • JavaScript已连续第八年高居最常用编程语言的榜首。TypeScript的受欢迎程度已经超过了C。

  • 在经过五年的持续增长之后,去年TypeScript打败Python荣登最受喜爱编程语言的第二名,而Python滑落至第三。而Rust连续第五年蝉联最受喜爱的编程语言宝座。

  • 网站可靠性工程师和开发运维专家仍然是收入最高的群体。80%的开发人员认为开发运维的工作比较重要,而44%的开发人员所在公司至少有一名专职的开发运维工作人员。

  • 全球范围内,Perl、Scala和Go开发人员的收入最高,中位数约为7.5万美元。

  • 超过75%的开发人员偶尔需要加班,大约每月1-2天。25%的员工每周需要加班1-2天或更长时间。

开发人员概况

StackOverflow每个月的访问量高达5千万次,人们通过该网站学习、分享和发展职业生涯。据估计,2000-2500万人为专业的开发人员且拥有大学学历。

开发者职位发展

后端、全栈、前端开发岗位最热门

在参加调查的开发者中,55%是全栈开发人员,约20%为移动开发人员。

今年,最常见的三种开发人员包括后端、前端和全栈开发人员。

此外,还有数据库管理员和系统管理员、开发运维专家和网站可靠性工程师、学术研究人员和科学家以及设计师和前端开发人员。

开发者经验之道

30%的开发者拥有5-9年开发经验

在Stack Overflow上,拥有30多年丰富经验的开发人员占比15%,编程不足5年的开发人员也有很大的一部分,约17%。在Stack Overflow的专业开发人员中,40%的人在近10内学会了编程。

技术主管和工程经理是技术团队的核心所在

技术主管和工程经理拥有最专业的编程经验。

最有经验的开发人员通常包括系统管理员、数据库管理员以及桌面和嵌入式应用程序的开发人员。

另一方面,Web开发人员、学术研究人员和数据科学家的经验则较少。部分原因可能是Web开发培训班的激增,以及大量从学术界进入该领域的数据科学家。

8.9% 的在 10 岁前开始了第一次编程 

此次调查发现,54%的人在16岁时编写了人生的第一行代码(一个Web网页或一个hello world程序)。13%的人在20岁时第一次编写程序。

教育

全球约有75%的开发人员拥有学士或更高的学位。这与前几年的调查结果一致。

62%的人拥有专业本科背景

成为软件开发人员的专业方向有很多种。在从事专业编程工作,且拥有大学学历的开发人员中,超过62%的人拥有计算机科学、计算机工程或软件工程学位,而只有不到10%的人拥有另一个工程领域的学位。有趣的是,大约10%的人拥有与商务相关的学位,或者人文、社会科学或美术研究领域的学位。

人口

女性开发者在全球仍占少数

我们发现各个国家女性专业开发人员的数量与去年的调查一致,在美国女性开发者约为12%。而德国、巴西和波兰等国家的女性开发者只有美国的一半。这表明,为了在该领域实现男女平等还需要付出很大努力。接受此次调查的人中92%为男性。

年龄

在专业开发人员中,70%的人还不到35岁,而50岁以上的人大约为5%。

最流行的技术

主流的语言与工具

JavaScript 稳居榜首,TypeScript 比 C 更受欢迎

JavaScript已连续第八年高居最常用编程语言的榜首。如下图所示,我们还看到TypeScript的受欢迎程度已经超过了C。此外,Ruby曾在2017年进入前十,而如今已经下滑,被Go和Kotlin等新技术超越。

jQuery、React.js、Angular争夺最佳Web框架

jQuery仍然是主流Web框架的王者,但它已逐年缓慢地被React.js和Angular取代。超过35%的人在使用jQuery、React、Angular(Angular 2+和Angular.js)或某种ASP.NET(ASP.NET或ASP.NETCore)。

其他框架、库和工具

与去年相同,Stack Overflow询问了开发者正在使用的其他技术。Node.js连续第二年位居榜首,超过半数人都在使用它。我们还看到,数据分析和机器学习技术(例如Pandas、TensorFlow和Torch/PyTorch)的普及全面增长。

数据库

数据库技术的调查结果与去年大致相似。MySQL一直位居榜首,其次是PostgreSQL和微软的SQL Server。此外,Firebase的受欢迎程度略有增长,今年它超过了Elasticsearch。

平台

Linux和Windows稳坐最受欢迎平台的头把交椅,超过半数的人都表示今年的开发工作中用到了这两个平台。此外,Docker和Kubernetes等容器技术呈现出逐年增长。

最受喜爱的技术

编程语言

连续五年来,Rust一直是最受开发者喜爱的编程语言。与去年相比,TypeScript超越Python位居第二。我们还发现Go取得了很大的进步,从去年的第10位上升到第5位。

VBA、Objective C和Perl则为最令人畏惧的编程语言。使用这些编程语言的开发人员比例很高,但没人希望继续使用。

在开发人员目前没有使用但很想学习的技术中,Python连续四年位居榜首。对学习Rust感兴趣的人也在不断增长。

Web框架

ASP.NETCore打败React.js,成为了最受欢迎的Web框架。作为调查问卷上的新面孔Gatsby已名列第5,受到60%开发者的喜爱。

虽然Angular.js是最受欢迎的Web框架之一,但同时也在最令人畏惧的榜单中名列第一。

其他框架、库和工具

.NET Core和Torch / PyTorch仍然是最受喜爱的工具。而开发运维工具Chef和Puppet是最令人恐惧的技术。

数据库

Redis仍然是最受喜爱的数据库,其次是PostgreSQL和Elasticsearch。有趣的是,自公司成立以来,Stack Overflow一直在使用Redis和Elasticsearch。IBM DB2被认为是最可怕的数据库,而MongoDB仍然是开发人员最想学习的数据库技术。

平台

Linux仍然是最受喜爱的平台。容器技术Docker和Kubernetes分别名列第二和第三。它们也是开发人员最想学习的平台之一。WordPress仍然是最令人恐惧的平台,但是今年新加入调查的的Slack应用及集成在最令人恐惧的平台中排名第四。

开发环境和工具

主流操作系统

将近一半的开发者主要使用Windows操作系统,其余的人中一半使用MacOS,而另一半则使用Linux。

协作工具

在专业开发人员中间,将近82%的人使用GitHub作为协作工具,超过一半的人使用Slack。

开发者的收入

收入最高的编程语言

全球范围内,Perl、Scala和Go开发人员的收入最高,中位数约为7.5万美元。有趣的是,Perl是最令人恐惧的语言之一,因此高薪可能是为了弥补该技术开发人员的匮乏。在美国,Scala开发人员的薪水最高。

各类型开发人员的收入

总的来看,工程经理、SRE、开发运维专家和数据工程师的收入偏高。在美国,移动开发人员和教育工作者的薪水比较高。

数据库、框架、语言、平台技术的连接

各种技术之间其实有着千丝万缕的关系,并可以被同一开发者而使用。

就业状况

就业状况 

公司规模

从公司规模来看,超过20%的开发人员就职于中等偏小规模(22-99人)的公司。

加班

今年,我们第一次询问开发人员加班的频率。过75%的开发人员称偶尔会有加班现象,每月大约1-2天。

开发运维的普及

当问及组织是否有专门的开发运维人员时,将近一半的开发人员说,他们公司至少有一名专职员工来处理开发运维工作,而另一半则表示没有。

开发运维的重要性

将近80%的开发人员认为开发运维工作很重要,而且近一半的开发人员指出这项工作非常重要。

职业满意度

总的来看,开发人员对自己的工作都很满意,大约65%的开发人员表示对自己的工作满意或非常满意。另一方面,大约25%开发人员略有不满。

参考链接:https://insights.stackoverflow.com/survey/2020?from=singlemessage&isappinstalled=0

更多精彩推荐
☞苹果或在 WWDC 宣布放弃英特尔转向自研 5nm ARM 芯片,这次时机成熟了?
☞国产数据库技术全面破冰,金融核心系统打破国外巨头垄断指日可待
☞Linux 之父怒删工程师提交的补丁,称“太蠢了”网友:怼得好!
☞干货!3 个重要因素,带你看透 AI 技术架构方案的可行性!
☞干货 | 大白话彻底搞懂 HBase RowKey 详细设计
☞热评 | 警惕新基建热潮中的区块链项目烂尾
你点的每个“在看”,我都认真当成了喜欢

TypeScript 热度超 C 与 Python、Go 开发收入高、运维吃香,调查了 65000 名开发者有这些发现!...相关推荐

  1. 万字干货 | Python后台开发的高并发场景优化解决方案

    嘉宾 | 黄思涵 来源 | AI科技大本营在线公开课 互联网发展到今天,规模变得越来越大,也对所有的后端服务提出了更高的要求.在平时的工作中,我们或多或少都遇到过服务器压力过大问题.针对该问题,本次公 ...

  2. python windows自动化 爬虫_Python体系(网络爬虫、人工智能、WEB开发、自动化运维)详细介绍...

    不论你是对Python初出茅庐,还是如指诸掌,这篇文章对你的收获总归还是有的啦,可能只是程度的问题.好了不扯远了,来说正题,下面在分享这套体系前还是要让Python做一下"自我介绍" ...

  3. 干货 | Python后台开发的高并发场景优化解决方案

    嘉宾 | 黄思涵 来源 | AI科技大本营在线公开课 互联网发展到今天,规模变得越来越大,也对所有的后端服务提出了更高的要求.在平时的工作中,我们或多或少都遇到过服务器压力过大问题.针对该问题,本次公 ...

  4. 运维学python用不上_运维工程师为什么要学python?

    现阶段,掌握一门开发语言已经成为高级运维工程师的必备计能,不会开发,你就不能充分理解你们系统的业务流程,你就不能帮助调试.优化开发人开发的程序, 开发人员有的时候很少关注性能的问题,这些问题就得运维人 ...

  5. 运维学python哪部分_初入运维的小伙伴,别再问需不需要学Python了

    这篇文章来自百度知道(你可以搜索"运维需不需要学Python"),或许有些观点不一定正确,但运维学Python这事毫无疑问是主流了,不信可以到各大招聘网站,看看但凡招聘运维有编程技 ...

  6. 【社区图书馆】《网络工程师的Python之路:网络运维自动化实战(第2版)》

    文章目录 图书前言 图书简介 图书作者.简介 图书好评 图书目录 总结:本人选择此图书的意义 图书前言 光阴似箭,岁月如梭.转眼之间,距离本书最早的电子书出版已经过去了三年之久.承蒙广大读者的厚爱,电 ...

  7. 运维学python用不上_运维朋友们,别再问需不需要学 Python 了!

    运维人员需不需要学开发?需不需要学 Python?PythonN 和 Shell 有什么区别?天天问这种好水的问题,我实在受不了,决定帮大家扫扫盲. 现阶段,掌握一门开发语言已经成为高级运维工程师的必 ...

  8. python自动化书籍pdf_Python自动化运维技术与最佳实践PDF可复制版电子书免费下载...

    市面上介绍互动的.面向对象的Python编程语言的书有很多,其强大而又灵活的特性,使其成为很多企图通过工具来实现工作(半)自动化的运营同学的首选.更难得的是,本书作者以其在腾讯游戏运营的工作经验,辅以 ...

  9. python与linux系统运维_《Python Linux系统管理与自动化运维》碎碎念

    在此记录学习<Python Linux系统管理与自动化运维>的过程 感觉碎碎念全放在一篇文章里编辑时太乱,于2020年12月16日重新分开整理. 2020年12月13日,看了一下需要学习的 ...

最新文章

  1. SpringBoot上传文件大小限制
  2. 贝尔实验室:如何让6G成为通用技术
  3. css sprite技巧详解
  4. 2018-04-12 Linux学习
  5. python tkinter计算器实例_python小实例——tkinter实战(计算器)
  6. 【Linux网络编程】无连接和面向连接协议
  7. .Net Core 读取文件时中文乱码问题的解决方法
  8. LeetCode 836. 矩形重叠
  9. idea中tomcat服务器的配置
  10. docker 日志_Filebeat 采集 Docker 日志
  11. wpf 加载page后启动_App启动之Dyld在做什么
  12. Oracle数据库链接源文件
  13. 如何使用dosbox运行程序——步骤详解
  14. 视频教程-Visio应用视频教程(下)-Office/WPS
  15. Python之shp文件
  16. 每天一kernel:正太概率图
  17. python大鱼吃小鱼
  18. 2019全国计算机模拟题,2019年全国计算机二级Java考试模拟习题3
  19. Golang可视化工具——go-callvis
  20. 奇异值分解究竟是个啥,该如何理解

热门文章

  1. java字节码指令集简介
  2. 【小技巧积累】用Style实现必填提示“*”根据选项的不同而显示或隐藏
  3. WinCE OAL中的RAM定制函数
  4. 木马编程DIY (Delphi版) - 第2篇 单实例运行
  5. sklear中IsolationForest的使用场景
  6. Kerberos工作流:一个简单示例
  7. leetcode 786 第K个最小的素数分数
  8. vscode+leetcode环境配置
  9. 安川机器人焊枪切换设定方法_【分享】焊接机器人的性能要求与系统构成
  10. leetcode题库1314-- 矩阵区域和