在近十年的时间里,Stack Overflow的年度开发人员调查一直被誉为对世界各地的程序员进行的最大规模的调查。今年,我们的目标不是成为最大的,而是让我们的调查更能代表世界各地程序员的多样性。这就是说,这项调查仍然很大。今年的调查只有6.5万多人参加。
在我们努力超越堆栈溢出网络并寻求更多不同程序员的代表时,我们在自己的渠道上发布的调查广告比前几年更少了,并寻求从那些可能不经常访问我们网站的人那里获得回应的方法。这一方法包括社会推广和对任职人数不足的程序员的宣传。
虽然我们看到代表人数不足的群体有所增加,但代表人数的差异并不像我们希望的那样大。一些种族和族裔群体的人数有所上升,特别是西班牙裔或拉丁裔/a/x和黑人或非洲裔群体,而其他种族和族裔保持相似或减少。同样,我们看到女性性别受访者略有增加,而非二元、性别酷儿或不符合标准的受访者数量保持不变。我们承认我们有很多工作要做,而我们每年进行的调查所得的数据,有助我们作出改变,订下目标,以改善社会的欢迎程度和包容性。
使用手头的数据,我们根据适用的人口统计数据对我们的分析进行了细分。寻找图标,看看人口统计在哪些方面产生了有趣的影响。另外,一定要查看今年调查中的新话题,比如关于DevOps和加班的问题。
我们还需要指出的是,今年的调查是在2月份进行的,当时新冠肺炎还没有被世界卫生组织宣布为大流行,病毒还没有影响到世界上每个国家。在审查工作和薪资数据等信息时,请牢记调查的时间。
最后,对于那些希望自己深入研究结果的人,可以根据开放数据库许可证(ODbL)下载匿名的调查结果。我们期待看到您的发现-如果您在社交媒体上分享,请务必标记我们!
经过过去五年的持续上升,Python在最受欢迎的技术排行榜上从去年的第二名跌至今年的第三名,被打字稿击败。铁锈连续第五年荣登最受欢迎科技榜首。
最受欢迎的语言→
站点可靠性工程师和DevOps专家仍然是薪酬最高的个人贡献者角色。80%的受访者认为DevOps至少在某种程度上很重要,44%的受访者在至少有一名专注的DevOps员工的组织中工作。
全球薪资→。
52%的受访者在网上搜索编码解决方案时,发现第一个结果链接是紫色的,因为他们已经访问过该链接,他们会想到“你好,老朋友”。
已访问过的Feel→。
当被问及遇到编码问题时应该采取哪些步骤时,90%的受访者表示他们会访问Stack Overflow。
当你被卡住的时候→。
超过75%的开发人员至少偶尔会加班--每季度加班一到两天。25%的人每周加班1-2天或更多。
加班→
澳大利亚受访者报告的平均编码经验最高,为16.9年,紧随其后的是英国和美国的开发人员。与之相关的是,来自美国和英国的受访者的平均年龄最高,分别为33.7岁和33.1岁。
国家/地区→的经验。
超过40%的受访者报告说,他们是Stack Overflow以外的其他在线开发者社区的成员。
其他开发人员社区→。
超过15%的人认为Stack Overflow至少比去年更受欢迎。我们还有工作要做,但这是个开始。
共同参与→。
我们仍然看到有证据表明,有色人种在专业开发人员中的代表性不足,但当我们包括所有开发人员,而不仅仅是那些专业编码的人时,我们确实看到了一些改善。
种族和族裔→
每个月,大约有5000万人访问Stack Overflow来学习、分享和建立自己的职业生涯。业内估计,这些人中有2000万至2500万是专业开发人员和大学水平的学生。今年我们调查的绝大多数受访者表示,他们是专业开发人员,或者有时会将编写代码作为工作的一部分,或者是为这样的职业生涯做准备的学生。
有关世界各地的开发人员如何访问我们的调查的详细信息,请参阅我们的方法论部分。
约55%的受访者认为自己是全栈开发人员,约20%的受访者认为自己是移动开发人员。今年每个受访者识别开发者类型的中位数是3个,最常见的组合包括后端、前端和全栈开发者。高度相关的配对包括数据库管理员和系统管理员、DevOps专家和站点可靠性工程师、学术研究人员和科学家以及设计师和前端开发人员。
当调查样本与基本人群不匹配时,调查加权是一种用于分析调查数据的方法。例如,在我们今年的调查中,12%的美国受访者认为自己是女性,但美国劳工统计局(US Bureau Of Labor Statistics)的数据估计,女性在软件开发劳动力中的比例大约是这个数字的两倍,更接近20%。我们可以使用调查权重来调整我们的调查样本与开发商群体之间的不匹配。我们知道,不同性别的开发人员类型代表有所不同,所以让我们将美国原始结果中的总体比例与加权比例进行比较,假设我们按照劳工统计局报告显示的比率对少数性别群体进行了不足抽样。当我们使用权重时,我们看到来自女性的最具代表性的开发人员角色(如数据科学家和学术研究人员)的代表性略有增加,而其他来自女性的代表性较低的角色(如DevOps)的代表性略有下降。
我们知道,除了性别(包括使用Stack Overflow的频率)之外,我们的调查样本与潜在开发人员群体不匹配的地方还有更多,而且我们预计这种不匹配的国家并不只有美国。我们之所以在这里使用这个加权的具体例子,是因为我们知道我们有系统性的抽样问题,并且我们对预期的人口比例有一个估计。我们可以证明我们的调查样本对我们的结果的影响,无论是在方向上还是在程度上。
许多开发人员在工作之外处理代码。约78%的受访者表示,他们编写代码是一种爱好。软件之外的其他职责会减少开发人员将编码作为一种爱好;那些声称自己有孩子或其他照顾责任的开发人员不太可能将编写代码作为一种爱好。女性受访者也不太可能说她们把编程作为一种爱好。
访问Stack Overflow的开发人员有广泛的经验,从30多年前学会编程的经验丰富的开发人员(大约15%)到不到5年前学会编程的相当大比例的开发人员(17%)。在Stack Overflow上的专业开发人员中,大约40%的人在不到10年前学会了编程。有关这些体验水平如何因性别而异的更多信息,请查看。
技术主管和工程经理往往拥有最专业的编码经验。在各个贡献者角色中,最有经验的开发人员往往是系统管理员、数据库管理员和创建桌面和嵌入式应用程序的开发人员。另一方面,网络开发人员、学术研究人员和数据科学家的经验往往较少。这在一定程度上可以归因于教授网络开发的编码训练营的激增,以及从学术界进入该领域的数据科学家的数量。
在所有受访者中,超过54%的人在16岁之前编写了他们的第一行代码,无论是网页还是hello world程序。在20多岁时编写第一行代码的人占到了13%。当按国家查看平均年龄时,来自巴西和印度等国的受访者倾向于在整整两年后开始编写代码,而波兰和德国等国的开发人员平均从15岁开始编写代码。
全世界大约75%的受访者至少完成了相当于学士学位或更高的学位。这与我们前几年看到的情况是一致的。
成为专业软件开发人员有多种学术途径。在专业编写代码并在大学学习的受访者中,超过62%的人拥有计算机科学、计算机工程或软件工程学位,略低于10%的人拥有其他工程领域的学位。有趣的是,几乎10%的受访者拥有与商业相关的学位,或者是人文、社会科学或美术领域的学位。
在专业开发人员的受访者中,几乎85%的人认为正规教育至少在某种程度上是重要的,这与你不需要正规教育就能成为开发人员的流行成语相反。然而,几乎16%的人认为这根本不重要或不必要。
与去年的数据一致,我们仍然看到有证据表明,有色人种在专业开发人员中的代表性不足。然而,当我们观察所有受访者时,我们看到了一些改进-不仅仅是那些专业编码的人。尽管每年都在逐步变化,但要提高参与率,还有很多工作要做。
当按国家查看性别认同时,我们看到女性专业开发商的参与率各不相同。与去年的调查一致,女性开发人员几乎占美国开发人员的12%。在德国、巴西和波兰等国,参与率约为这个数字的一半,这表明要在该领域实现适当的性别代表性,仍有很多工作要做。在专业编写代码的受访者中,近92%是男性。
在我们的调查中,我们看到不同开发人员角色的男性和女性的代表性不同。所有类别的开发人员中,认为自己是男性的都比女性多得多,但男性和女性的比例有所不同。线上的开发商类型的受访者比平均水平更有可能是男性,而虚线以下的开发商的受访者比平均水平更有可能是女性。数据科学家或学术研究人员的男性可能性是女性的10倍左右,而系统管理员或DevOps专家的男性可能性是女性的25-30倍。女性作为前端开发人员、设计师、数据科学家、数据分析师、QA或测试开发人员、科学家和教育工作者的代表性最高。
当我们分析自从学习按性别编码以来的差异时,我们注意到一些记忆问题。虽然与去年的调查相比,我们看到男性在10岁至14岁时有了一些改善,但我们发现10岁到14岁的女性比例有了很大的下降。这与其他研究一致,即女性离开科技工作的比例高于男性。如果我们真的想要有所作为,并在反映社会的行业中看到性别平等,留住人才是关键。重要的是,不仅要雇佣来自不同背景的人,还要创造一个让他们感到被纳入并能够茁壮成长的环境。
在受访者中,近15%的人说他们有某种类型的焦虑、情绪或情绪障碍。当观察身体能力的差异时,大约2%的受访者能力不同,比如失明/视力困难或失聪/听力困难。这突显了开发易于访问的软件和创建能够容纳不同能力的人的公司的重要性。
在专业开发人员的受访者中,70%的人年龄在35岁以下,约5%的人年龄在50岁或以上。
当我们将调查对象的年龄按国家细分时,我们发现北美和西欧的开发人员倾向于年龄偏大,与其他地区相比拥有更多的编码经验。
不足为奇的是,JavaScript连续第八年保持着最常用编程语言的地位。再往下看,我们也看到了TypeScript的适度增长,在受欢迎程度上略微超过了C语言。此外,Ruby在2017年刚刚进入这份榜单的前10名,但现在已经下降,被Go和Kotlin等更新、更时尚的技术超越。
当纯粹专注于web框架时,我们看到jQuery仍然是王者,但是一年比一年慢慢地输给了React.js和ANGLING。我们确实看到了一些整合,因为超过35%的受访者使用jQuery,Reaction,一个版本的角度(组合了角度,代表角度2+,和Angular.js)或ASP.NET风格(ASP.NET或ASP.NET Core)。
与去年类似,我们询问了开发人员正在使用的许多其他杂项技术。Node.js连续第二年位居榜首,因为有一半的受访者使用Node.js。我们还看到数据分析和机器学习技术(如Pandas、TensorFlow和Torch/PyTorch)的受欢迎程度全面增长。
在考察数据库技术时,结果与我们去年观察到的结果基本一致。MySQL一直位居榜首,紧随其后的是PostgreSQL和Microsoft SQL Server。然而,我们看到Firebase的受欢迎程度略有上升,今年它略微超过了Elasticsearch。
Linux和Windows保持了大多数流行平台的榜首位置,超过一半的受访者报告说,他们今年已经用它们做了开发工作。我们还看到容器技术(如Docker和Kubernetes)的受欢迎程度逐年增长。
连续五年,Rust一直位居最受欢迎编程语言的榜首。与去年相比,Tyescript排名第二,超过了Python。我们也看到围棋大幅增长,从去年的第10位上升到第5位。
VBA、Objective C和Perl在最令人畏惧的语言中名列前茅-这些语言目前有很高比例的开发人员在使用它们,但没有兴趣继续这样做。
如果我们看一看开发人员报告说他们不使用但想学习的技术,Python连续第四年位居榜首。我们也看到人们对学习“锈”的兴趣略有增加。
ASP.NET Core是最受欢迎的Web框架,击败了React.js。盖茨比是此次调查的新人,已经排在第5位,受到60%的受访者的喜爱。
尽管Angular.js是最流行的Web框架之一,但它也被认为是最可怕的。
在其他剩余的框架、库和工具中,.NET Core和Torch/PyTorch仍然是最受欢迎的。DevOps、Tools、Chef和Puppet是最令人畏惧的技术。
看看数据库技术,Redis仍然是最受欢迎的,紧随其后的是PostgreSQL和Elasticsearch。据传闻,Stack Overflow在我们的技术堆栈中使用Redis和Elasticsearch已经有很多年了,从公司成立之初就开始了。IBMDB2被评为最可怕的数据库,而MongoDB仍然是开发人员最想学习的数据库技术。
Linux仍然是最受欢迎的平台。容器技术Docker和Kubernetes分别位居最受欢迎的第二和第三位。它们也是开发人员最想学习的平台之一,这表明它们是多么受欢迎。WordPress仍然是最令人畏惧的,但今年新加入榜单的松弛应用程序和集成应用程序排在第四位。
几乎一半的受访者使用Windows作为他们的主要操作系统。其余的几乎平均分配给了MacOS和Linux的一种口味。
在回应调查的专业开发人员中,近82%的人将GitHub用作协作工具,超过一半的人使用Slake。
在研究新工具时,超过四分之三的受访者喜欢通过免费试用来亲自试用该工具。社交证明也很重要,因为超过60%的开发人员会询问他们知道的其他开发人员,或者访问开发人员社区,如Stack Overflow。
关于其组织内的技术采购,约57%的受访者具有一定或很大的影响力。
在全球范围内,使用Perl、Scala和Go的受访者往往薪资最高,平均薪资约为75000美元。有趣的是,Perl是最令人畏惧的语言之一,所以这份高薪可能是为了弥补想要使用该技术的开发人员的匮乏。如果只看美国,Scala开发人员的薪水往往最高。
我们询问开发人员学习一门新语言或框架的频率。约75%的受访者表示,他们至少每隔几个月或每年学习一项新技术。这表明创新发生得有多快,开发人员不断地学习保持他们的技能新鲜。
我们询问受访者在遇到问题时会怎么做。几乎90%的人报告说他们访问了Stack Overflow。这是一个令人鼓舞的迹象,表明我们正在成功完成我们的使命,帮助人们获得他们完成工作所需的知识。
我们第一次询问开发人员,当他们在线搜索编码解决方案时感觉如何,第一个结果链接是紫色的,因为他们已经访问了该链接。大约一半的受访者选择了“你好,老朋友”,这表明在某些任务中这可能是经常发生的。也许这就是为什么超过210万人访问了如何退出Vim编辑器?关于堆栈溢出的问题。
超过92%的专业开发人员至少是兼职的。大约12%的受访者表示他们是学生。
与在调查数据中有良好代表性的其他国家相比,印度的学生比例明显更高。在所有这些地点,超过70%的开发人员都是全职受雇的。
总体而言,开发人员倾向于对自己的工作感到满意,近65%的人报告说,他们对自己的工作略有或非常满意。在光谱的另一端,大约25%的人略有到非常不满意。
近83%的受访者表示,他们要么不积极寻找新的工作机会,要么对新的工作机会不感兴趣。这与我们关于开发人员工作满意度的发现是一致的--大多数开发人员对自己的工作很满意。
纵观拥有大量开发人员的几个国家,工作满意度基本上是一致的。在美国、印度、英国、德国和加拿大,超过80%的开发人员没有积极寻找工作,但至少有一半的人愿意接受新的机会。
如果我们按工作职能细分数据,超过20%的学术研究人员、数据科学家和数据/业务分析师正在积极寻找新工作,紧随其后的是设计师、游戏开发人员和移动开发人员,这一比例为19%。这与过去调查的结果是一致的,在过去的调查中,我们发现学术研究人员和设计师是工作满意度最低的角色之一。
我们第一次询问开发人员是什么驱使他们寻找新工作。到目前为止,更好的薪酬是受访者最常见的因素,70%的受访者指出更高的薪酬很重要。想要使用新技术是第二个最受欢迎的因素,这与。
..