乐趣区

ActiveState-开发者调查2019年

ActiveState 今年再次面对开发人员进行了年度调查。这次调查共收到来自 88 个国家的 1250 份回复。ActiveState 将此次调查结果与 2018 年基线指标进行比较,以便更明确的了解编码人员(开发人员,工程师,数据科学家等)在不断变化的挑战中是如何使用开源技术的。

今年的调查问卷相比去年还增加了一些问题,这样可以更好地理解编码人员在 2018 年使用开源技术时获得的一些见解。由此产生的调查数据是衡量和跟踪编码人员遇到的开源运行难题的重要工具。

ActiveState 已经在开源领域工作了 20 多年,热衷于为企业提供开源,并通过优雅的解决方案激发编码人员的热情。

以下是 SegmentFault 对此次调查结果的编译,希望可以帮助到广大的开发者群体。

Job Function Questions

今年 ActiveState 要求受访者首先选择他们的主要角色。在收到的 1250 份回复中,专业开发人员成为最大的受访者群体占比 65.4%,其余的受访者中爱好者开发者占比 5.3%,学生开发者占比 10.2%,其他人员占比 9.1%。

在对其工作角色的描述中,最大的受访者群体(37.5%)将开发人员或程序员确定为其工作角色的描述。人数第二多的受访群体选择了将其他人和开发或工程经理作为他们对其工作角色的描述,选择这两个描述的受访者数量都达到了 9.6%。

调查结果显示,绝大多数受访者(74.4%)已经花费了 6 年甚至更长的时间担任技术角色,其中受访者中有超过十年技术工作背景的人数占比 62.4% 这与 2018 年(77%)的结果非常相似.

同样与 2018 年开发者调查结果类似,受访者中人数占比最多(23.28%)的群体来自软件行业,其余的人员交错分布在多个行业中。

受访者被要求按全职员工的数量来表明其组织的规模。超过一半的受访者(53.3%)分布在 100 多名员工的组织中。38.2%的员工表示其组织总人数少于 100 人。

Demographic Questions

在问及他们居住在哪个国家时,结果显示这次接受调查的 1250 人遍布全球的 88 个国家(2018 年调查结果为 92 个国家)。接近一半的受访者(47.36%)表示居住在美国,其次收到回应较多的国家是加拿大和德国,中国也有部分开发人员参与了此次调查。

如图,从受访者的年龄跨度之大可以看出编码事业真的是老少皆宜,其中占比最大(14.96%)的受访者群体年龄在 41-45 岁,有 37.84% 的受访者年龄在 40 岁及以下,47.2% 的受访者年龄在 46 岁及以上。可见因为国外人员接触开发者行业要比我们早,所以国外开发者人群的年龄普遍较大。

Productivity Questions

受访者被问到他们在一天中用多少小时编程。在 1250 份回复中,受访者中最大部分(38.8%)每天仅花费 2-4 小时编程,这类似于 2018 年的结果,37% 的受访者每天花费 2-4 小时编程。

相比之下,只有 27.92% 的受访者每天花费 5-7 小时编程,而 2018 年的受访者中每天花 5-7 小时编程的人数占比 31%。

最值得注意的是,ActiveState 的 2019 年开发者调查结果表明,多达 61.52% 的受访者现在花费 4 小时甚至更少时间进行编程,而在 2018 年,这样的人群只占总人数的 51%。

调查中还涉及到,受访者在没有编程时把大部分时间花费在了哪里?其中最大的响应群体(44%)表示不得不花时间参与各种活动(包括会议、测试、维护以及社交)。然而,11.36% 的受访者表示开发人员需要花费时间编程的最大单项活动是软件设计 / 架构,其次是占比 8.24% 的出席会议。

今年还调查了受访者们设置新开发环境的频率。几乎 69% 的受访者会在一年或一季度之内创建一个新的开发环境,在每个季度都会建立 1-2 个新的开发环境的人群占比仅仅略多于 31%。

为了理解建立一个新的开发环境对生产力的影响,这次调查还了解了受访者建立一个开发环境平均需要多长时间。43.68% 的受访者表示一般需要 2-4 个小时,只有 28.72% 的受访者可以花费少于一个小时的时间去建立一个新的开发环境,还有 27.6% 的开发者表示需要 5 个小时或更长时间去完成一个开发环境的建立。

从上面的问题来看,如果每年建立一个新的开发环境的时间只花费不到一个小时,那么对生产力的影响可以忽略不计。相比之下,有人每月都要建立新的开发环境,假如每年建立 13 次,每次花费 18 个小时,那么在一年 2000 小时的工作时长中,设置开发环境总共要花费掉 234 小时,这就要占掉总开发时间的 10%。

接下来询问了受访者开始新软件项目的频率。总体而言,61.4% 的受访者至少每季度开始一个新项目,这个结果几乎与 2018 年的 61%相同。然而,2019 年的结果显示,每周启动一次项目的受访者比例从 12% 上升到 8.24%,每季度启动一次项目的受访者比例从 26% 增加到 29.2%。虽然有大约 32% 的受访者以月度或更频繁的节奏开始新项目,但调查显示只有约 14% 的受访者会为该项目构建新的开发环境。

去年我们询问受访者在一周内,他们花了多少时间来管理依赖关系和处理开发工具。(注意:73% 的受访者将大部分时间用于管理依赖项和开发工具,只有 25% 的受访者花很少的时间管理依赖项和开发工具。)今年我们希望更好地了解开发者们是如何分配时间去处理以下问题:

•安全要求
•构建库或包
•管理依赖关系
•许可证合规性或开源许可证

以下是四个问题的加权结果。

加权结果表明,受访者在与安全性或代码相关的问题上花费的时间最多,在与构建库或包相关的问题上花费的时间与管理依赖关系花费的时间几乎相等,分别为 1.77 和 1.72。受访者仅花费 70% 的时间专注于解决许可证合规性问题的安全性。

72.81% 的受访者表示他们几乎从不花时间在许可证合规性和开源许可证上。相反,61.67% 的受访者表示他们将所有时间用于管理依赖项,还应该指出的是,与去年相比,这是一个显着的下降,当时是有 75% 的受访者表示他们花了很多时间来管理依赖项和开发工具。

2018 年和 2019 年结果之间的差异可能是由于考虑了每个管理依赖项和开发工具所花费的总时间。最后,ActiveState 的 2018 年开发者调查在询问受访者构建库或包时遇到问题的频率时,71% 的受访者表示在构建库或包时始终会遇到问题。今年有 61.19% 的受访者表示他们花费大部分时间来构建库或包。

Language Questions

当受访者被问及他们使用哪种编程语言时,最受欢迎的三种语言是 SQL(80.4%),Javascript(76.8%)和 Python(72.08%)

Python 是第三大最流行的语言,也有着最高的满意度,76.58% 的受访者对 Python 是满意的,这个数据相比 2018 年的结果是显著增长的,2018 年只有 68% 的受访者对 Python 表示满意。SQL 作为受访者们当下使用最多的语言,有 66.09% 的受访者对其表示满意。相反,大家对 Clojure 的满意度最低,只有 42.26% 的受访者表示对其很满意。Elm 是最不受欢迎的语言,只有 43.94% 的受访者表示对其满意。

关于是否要添加新的编程语言这个问题,63.5% 的受访者表示不会添加语言,只有 36.5% 的受访者会选择添加语言。这类似于 2018 年的结果,其中 67% 的受访者选择不添加新的编程语言,因为添加语言的痛苦将超过使用该工具的好处。

Setup, Deployment, Runtime

受访者被要求对开发时可能遇到的问题从 5(非常困难)到 1(不困难)进行排列,用以更好地提炼开源运行时开发人员面临的挑战。在 2018 年,有 56% 的受访者认为“将一种语言添加或组合到一个组织中”是难度最大的挑战,今年也仍有 52.14% 的受访者认为这是很困难的。

此次调查还要求受访者按照从 5(很多)到 1(根本不是)的等级对安全性,稳定性和瓶颈等方面是否会导致问题进行排名。如图所示,安全性和稳定性分别以 41.43% 和 40.49% 的高比率成为受访者考虑最多的问题。

接下来受访者还要按 1(不重要)到 5(非常重要)的等级来评估包质量的重要性、共享环境配置的简易性,使用特定配置和包许可信息的开源语言构建。有关包装质量和易于共享环境配置的信息的结果在受访者中排名接近重要,分别为 58.58% 和 55.95%。其在开发者心中的重要性相比去年 61% 和 60% 的百分比略有下降。

Open Source

今年的调查结果显示超过三分之一的受访者参与了开源项目,近三分之二的受访者没有参与开源项目。

作为一个后续问题,今年还询问了哪些因素会影响受访者为开源项目做出更多贡献。绝大多数受访者(49.2%)选择了“时间”。有趣的是,几乎四分之一的受访者(24.08%)以工具或设置的形式表明了具体的项目要求,这将对他们对开源项目的贡献产生积极的影响。

报告原文链接
报告 PDF 版下载链接

退出移动版