近十年来,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%开发人员略有不满。