Go开发人员调查2020结果

2021-03-11 07:45:07

在2020年,我们有另一个伟大的投票率为9,648次响应,约为2019年。感谢您在使用我们的经验的情况下提供社区的时间,以便使用我们的经历!

您可能会注意到一些问题具有较小的样本尺寸(" n =")比其他问题。那个'因为每个人都显示了一些问题,而其他问题则仅显示对随机的受访者的随机子集。

Go Usage在工作场所和企业中扩展,拥有76%的受访者使用工作和66%的响应者对其公司的成功至关重要。

大多数受访者在不到3个月的时间内含有生产力,含81%的感觉非常或非常富有成效。

受访者报告迅速升级到最新的GO版本,前5个月内76%。

GO模块采用近乎普及,满意度77%,但受访者也强调了对改进文档的需求。

人口统计问题有助于我们区分哪个年度一年过度的差异可能因谁的变化而导致对调查的变化而导致情绪或行为的变化。因为我们的人口统计数据与去年类似,我们可以合理地相信其他一年同期的变化,而且主要是由于人口转移。

例如,组织大小的分发,开发人员体验和行业从2019年到2020年仍然大致相同。

近一半(48%)的受访者已经使用了不到两年的时间。在2020年,我们使用的响应较少不到一年。

多数人表示,他们使用工作(76%)和工作之外的工作(62%)。每年使用去工作的受访者的百分比一直在培训。

今年,我们介绍了一个关于初级工作职责的新问题。我们发现70%的受访者的主要责任正在开发软件和应用程序,但少数群体(10%)正在设计IT系统和架构。

与之前的几年一样,我们发现大多数受访者不是频繁的贡献者才能转向开源项目,75%的人表示他们这样做"很少见到"或"从不"

与之前的几年一样,绝大多数的调查受访者报告了在Linux(63%)和MacOS(55%)系统上工作。主要在Linux上开发的受访者的比例似乎略微趋向于随着时间的推移。

首次,编辑器首选项似乎已稳定:VS代码仍然是最优选的编辑器(41%),Goland是强度的第二个(35%)。这些编辑占76%的回答,其他偏好在前几年没有继续减少。

今年,我们要求受访者通过在拥有100个“Gophercoins”(虚构的货币)的情况下,他们将在其假设上的建立时间来优先考虑他们的编辑。代码完成收到了每个受访者的最高平均水槽数量。一半的受访者给出了前4个功能(代码完成,导航代码,编辑器性能和重构)10个或更多硬币。

大多数受访者(63%)花费10-30%的时间重构,这表明这是一个共同的任务,我们希望调查改进它的方法。它还解释了为什么重构支持是最资金的编辑改进之一。

去年我们询问了特定的开发人员技术,发现近90%的受访者正在使用文本日志记录进行调试,因此今年我们添加了一个后续问题,以了解为什么。结果表明,43%使用它,因为它允许它们在不同语言中使用相同的调试策略,42%更喜欢使用其他调试技术的文本记录。然而,27%don'知道如何开始使用go& #39; S调试工具和24%从未尝试过使用Go' S调试工具,所以有机会在可发现性,可用性和文档方面改进调试器的工具。提出,因为四分之一的受访者从未尝试使用调试工具,可能会被丢失疼痛点。

这是今年的第一次,我们询问了整体满意度。 92%的受访者表示,在过去一年中,他们非常满意使用。

这是第三年我们' ve问了"你会推荐..."净启动子评分(NPS)问题。今年我们的NPS结果是61(68%"促进者"减去6%"批评者"),从2019年和2018年统计上不变。

与前几年类似,91%的受访者表示,他们更愿意为他们的下一个新项目使用。 89%的人说,Go适合他们的团队。今年,我们在2019年2019年的59%到66%的人同意的受访者增加了一致的受访者,这是2020年的66%。在5,000名或更多员工的组织中工作的受访者不太可能同意(63%),而那些在较小的组织中更有可能同意(73%)。

比如去年,我们要求受访者根据满意和重要性来评估具体的去发展领域。使用云服务,调试和使用模块的满意度(去年被强调为改进机会的区域)增加,而大多数重要评分仍然存在约束。我们还介绍了一对新主题:API和Web框架。我们看到Web框架满意度低于其他区域(64%)。它不是对大多数当前用户来说至关重要的(只有28%的受访者表示这是非常或非常重要的),但它可能是WOWE-PELOPERS的缺失关键特征。

81%的受访者表示,他们感觉非常或非常富有成效。较大组织的受访者更有可能感受到比较小组织的受访者能够非常富有成效。

我们已经听到了听到的是,随着去的方式很容易变得富有成效。我们要求受访者感受到至少略微富有成效的人,他们将它们变得富有成效。 93%表示花了不到一年,大多数在3个月内富有成效。

虽然与去年相同,但与陈述&#34同意的受访者的百分比;我觉得在Go社区&#34中受欢迎;似乎随着时间的推移,或者至少没有持有与其他领域相同的上行趋势。

我们还看到了在感受到的受访者比例的比例上逐年逐渐达到了他们的需求的受访者(63%)。

所有这些结果表明,在大约两年内开始,所有这些结果都有更高的协议。在大约两年内,从大约两年开始。在其他方面,受访者一直在使用的时间越长,他们就越有可能与每个陈述同意每项陈述。

我们向我们可以做些什么来提出开放的文本问题,以使Go社区更加热情,最常见的建议(21%)与学习资源和文件的不同形式或改进/添加。

建立API / RPC服务(74%)和CLIS(65%)仍然是最常见的使用用途。我们不会看到去年的任何重大变化,当我们在选项的排序中引入随机化时。 (在2019年之前,列表开头的选择不成比例地选择了。对于返回HTML的Web服务。

今年,我们现在更好地了解哪种软件受访者在家里与工作一起写作。虽然Web服务返回HTML是第4个最常见的用例,但这是由于非工作相关的用途。更多受访者使用Go for自动化/脚本,代理和守护进程,以及工作的数据处理,而不是Web服务返回HTML.A的比例最不常见的用途(桌面/ GUI应用程序,游戏和移动应用程序)正在写入之外写入。

另一个新问题询问受访者为每种用例是如何满意的满意度最高,85%的受访者表示他们非常,适度或略微满意使用Go for Clis.Common用于Go倾向于具有更高的满意度,但满意度和流行不完美对应。例如,代理商和守护进程具有2个最高比例的满意度,但它的使用率是第6个。

额外的后续问题探索了不同的用例,例如,借助他们的clis.it and#39的响应者响应者的目标是鉴于高度所代表的Linux(93%)和麦斯科斯(59%) Linux和MacOS和高Linux云使用),但即使是Windows也是由CLI开发人员的近三分之一的目标。

仔细看看Go进行数据处理表明,Kafka是唯一广泛采用的发动机,但大多数受访者表示他们使用定制数据处理引擎。

我们还询问了受访者与Go的更大领域。到目前为止的最常见区域是Web开发(68%),但其他公共领域包括数据库(46%),DevOps(42%)网络编程(41%)和系统编程(40%)。

类似于去年,我们发现76%的受访者评估了当前的生产使用,但今年我们提出了我们的时间尺度,发现60%开始在发布之前或之内评估新版本。这突出了平台和服务提供商的重要性,以快速支持新的稳定版本。

今年,我们发现近乎普遍采用GO模块,并且只使用包装管理模块的受访者比例大幅增加。 96%的受访者表示,他们正在使用包裹管理的模块,比去年89%。 87%的受访者表示,他们只使用了包管理的模块,从去年的71%。虽然,使用其他包管理工具的使用减少了。

与模块的满意度也从去年增加。 77%的受访者表示,它们对模块非常适度或略微满意,而2019年为68%。

大多数受访者表示他们与官方文件斗争。 62%的受访者努力寻找足够的信息来充分实现其应用程序的一个特征,而且三分之一曾挣扎,以便开始与之前没有做过的东西。

官方文档中最有问题的领域正在使用模块和CLI开发,其中20%的受访者在CLI开发周围的文档中略微找到模块文档。

Go是设计的现代分布式计算,我们希望继续提高BuildingCloud服务的开发人员体验。

三大全球云提供商(亚马逊Web服务,谷歌云平台和微软Azure)继续增加调查受访者之间的使用情况,而大多数其他提供商每年则被较小的比例受访者使用。特别是从7%〜12%。

对自有或公司拥有的服务器的可在线部署继续作为最常见的部署目标进行攻击。

部署到AWS和Azure的受访者SAW的部署逐渐增加到管理的Kubernetes平台,现在分别为40%和54%。 Azure看到了将Go程序部署到VM的用户的比例显着下降,并且容器使用量的一些增长从18%到25%.Meanwhile,GCP(已经具有高比例的受访者报告管理的Kubernetes使用)在部署中看到了一些增长无服务器云运行从10%到17%。

总的来说,大多数受访者都对所有Themaajor云提供商进行了满足,并且从去年开始统计上没有改变。回复报告了与GO开发武器(82%满意)和GCP(80%)的类似满意度水平。Azure收到较低的满意度评分(满意58%),并且自由文本响应通常需要改进Azure' s go sdk并支持Azure函数。

受访者表示,他们无法使用Go更努力练习另一语言(54%)的项目,致力于更喜欢使用另一种语言(34%)的团队,以及缺乏进入的关键特征( 26%)。

今年我们介绍了一个新的选择,“我已经使用了我想去的地方,”那个受访者可以选择没有做出Don' t阻止他们使用的选择。这显着降低了所有其他选项的选择速率,但没有改变相对排序。我们还介绍了“缺乏关键框架”的选择。

如果我们只看看没有使用未使用的理由的受访者,我们可以更好地了解一年同年趋势。在另一种语言和项目/团队/领导偏好的现有项目上工作随着时间的推移而降低。

在26%的受访者中,缺乏他们需要的语言功能,将88%选定的泛型作为关键缺失功能。其他严重的缺失功能是更好的错误处理(58%),空安全(44%),功能性编程特征(42 %)ANDA更强/扩展类型系统(41%)。

要清楚,这些数字来自受访者的子集,他说他们能够更多地使用Go更多,这不是他们所需要的一个或多个关键特征,而不是整个调查受访者。为了使这一点,由于缺乏泛滥,可以防止18%的受访者使用。

在使用Go时报告的最佳挑战再次出现且缺乏泛型(18%),而模块/包裹管理和学习曲线/最佳实践/文档的问题均为13%。

今年,我们要求受访者为其有关的有关问题的五大资源。去年我们只要求前3名,所以结果不可比较,然而,Stackoverflow仍然是65%的最流行的资源.Reading源代码(57%)仍然是另一个流行的资源,而依赖于Godoc.org( 39%)大幅下降。 Package Discovery Site PKG.Go.dev今年列表新是新的,是32%的受访者的最高资源。使用pkg.go.dev的受访者更有可能同意他们能够快速查找所需的Go软件包/库:PKG.Go.dev用户对其他人的用户与82%。

多年来,受访者的比例没有参加任何与相关事件有关的趋势。由于Covid-19,今年我们修改了我们的问题,在去往活动周围,发现四分之一的受访者在网上去往渠道上花了更多的时间,而且14%的人参加了一个虚拟的召开了,最后一次达到了虚拟的比赛,两倍多年。 64%的人参加虚拟活动表示这是他们的第一个虚拟事件。

我们发现12%的受访者认为,传统上持有的小组(例如,种族,性别识别等,等等),与2019年相同,2%妇女识别,少于2019年(3%)。与经验丰富的团体确定的受访者表现出更高的分歧率与陈述"我觉得在Go社区和#34中受欢迎; (10%vs.4%)比那些不认同不足的小组的人。这些问题允许我们衡量社区的多样性,并突出外联和增长的机会。

我们今年在辅助技术使用情况下增加了额外的问题,发现8%的受访者正在采用某种形式的辅助技术。最常用的辅助技术是对比或颜色设置(2%)。这是一个很好的提醒,我们拥有可访问性需求的用户,并有助于推动我们在Go团队管理的网站上的一些设计决策。

Go Team重视多样性和包容性,并不简单地作为正确的事情,但由于不同的声音可以照亮我们的盲点并最终使所有用户受益。我们询问关于敏感信息的方式,包括性别和传统持有的团体,根据数据隐私法规,我们希望将这些问题置于这些问题,特别是在未来更具包容性。

感谢您加入我们在审查我们2020年开发人员调查的结果!了解开发人员的经验和挑战帮助我们衡量我们的进步并指导Go的未来。谢谢曾经为这项调查做出了贡献的人 - 我们可以' t有没有你完成它。我们希望明年见到你!