近日,开发者调查分析公司 SlashData 发布了 2021 年《开发者报告》,覆盖了来自 155 个国家和地区的 19,000 多名受访者。SlashData 的调查方法和 Stack Overflow 或 Redmonk 等公司略有不同,所以一些数据也会略有不同。一起来看看吧。
JavaScript 位居榜首,Rust 涨势迅猛
在连续十次的调查中,JavaScript 受欢迎程度都位居第一,毕竟全球有近 1750 万的开发者在使用它,另外 JavaScript 不仅被世界上的绝大多数网站所使用,而且被世界主流浏览器(Chrome、IE、Firefox、Safari、Opera)支持。霸榜也是理所当然。
自从 Python 超越 Java 之后,就长期占据第二的位置,现在已经拥有了 1570 万个用户。简单易上手可能是 Python 被大规模采用的主要原因。
在过去的一年里,Rust 获得了更多开发者的青睐,从 2021 年到 2022 年第一季度,使用 Rust 的开发者数量迅速增长,从 60 万增加到了 220 万。
Go 和 Ruby 都是后端开发的重要语言,不过 Go 似乎获得了更多开发者的喜爱,其增长速度是 Ruby 的两倍。
中间型人格是大多数程序员的属性
在许多人的眼中大多数程序员都是以一种类似宅男的形象出现的,简单的 T 恤和背包,给人一种话不多的感觉。程序员的性格到底是怎样呢?SlashData 使用了 TIPI 法(Ten-Item Personality Inventory)对开发者的五大人格维度(情绪稳定性、外向性、经验开放性、合群性和自觉性)进行了调查。
有 52% 的开发者属于 " 中间型 " 人格,即不外向也不内向,情绪即没有很不稳定但也不缺乏情绪,这可能是大多数人眼中的程序员形象。
大约有 8% 的人的经验的开放程度更高,求知欲更强。这一类的开发人员通常更加倾向于研究新的工具和技术,走在科技的前沿。
另外还有 5% 的开发者比其他的开发者负责感和亲和力更强。这类人一般更适合担任具有创造性的角色,如用户体验设计师。
经验超过十年的程序员用不上低代码 / 无代码工具
好的工具能够大大提高开发的效率。一些低代码 / 无代码工具能够让一些没有软件开发经验的人创建应用程序,同时也能够为专业的开发人员节约时间和成本。那么不同专业地位、地域和经验的开发人员使用 LCNC 工具有什么差异呢?
虽然低代码 / 无代码工具看似像是为一些没有软件开发经验人创建的,但是使用 LCNC 工具的开发人员在不同人群之间的比例差异不大(专业人员 46%,非专业人员 45%)。
随着经验的增加,开发人员使用 LCNC 工具的可能性就越低。特别是拥有超过 10 年经验的开发者几乎不会使用 LCNC 工具。
这些工具通常比较适合应用于简单的编程任务,而富有经验的开发人员所要完成的工作往往比较复杂。
不过说到底,工具只是一个辅助的角色。所以无论是处在哪一个经验级别,单靠工具而没有一定程度的手动编码是非常罕见的(2-4%)。
不同地域的开发人员在使用 LCNC 工具方面存在显著的差距。中国有 69% 的开发人员使用 LCNC 工具,高于全球的平均水平(46%),这表明中国的 LCNC 工具已经进入了发展阶段。
另外,南亚、中东、非洲、东亚(不包括中国)的 LCNC 使用率都高于全球的平均水平。虽然这些地区的 LCNC 工具有很大的发展,但是还并不是很成熟,不足以成为开发人员的主要特征。
LCNC 使用率低于全球平均水平的有西欧、以色列、大洋洲、东欧和南美等地区,这些地区的 LCNC 工具市场还处在初级阶段。
自学才是王道
下面是关于中国和东亚其他地区的开发者调查。中国的开发者占全球开发者人数的 9%,是其他东亚地区的开发者的总和(9%)。其中在东亚的开发者由主要分布在两个国家:日本(21%)和印度尼西亚(32%)。
中国拥有六年经验的开发者超过三分之一(34%),这个比例在全球是 43%。此外,中国经验丰富(超过 16 年)的开发者只有 4%(全球比例为 22%)
自学是开发者必备的技能之一。全球有超过 60% 的开发者通过自学来学习编程。在中国,50% 的开发者是通过大学教育学习计算机,完全自学的开发者比例不高,但即使是接受大学教育,自学也是必不可少的一种方式。
在东亚其他地区,自学是最受开发者欢迎的方法(61%),其次是通过大学教育(软件工程本科 41%)。印度尼西亚的学习方式比较多样化,一般使用三种方式学习编码:自学、在线课程和开发者训练营。
Stack Overflow 作为一个国际性的论坛网站、计算机技术交流社区,受到许多开发人员的青睐,85% 的开发人员都使用或者访问过这个网站。不过中国拥有 Stack Overflow 账户的比例不高,只有 19%。在对国内的开发者的调查发现,用 CSDN 解决技术难题的居多(36%)。而日本的 Stack Overflow 更低,只有 36% 的开发者使用过 Stack Overflow,5% 拥有账户。不过中国和日本都有本土的开发网站,这可能是其 Stack Overflow 使用率较低的原因之一。
还是委托开发 " 香 "
调查发现,最受开发者欢迎的营收方式是委托开发 /(31%),委托开发的时间可以持续数月或者数年,自由度较高,允许开发人员和公司在项目期间合理的规划资源。此外,开发者和它们的公司可能会在此过程中为客户提供额外的服务,以增加收入。
排名第二的是通过应用商店或者在自己的门户网站上销售软件和应用程序(24%)。
有趣的是,虽然数据经常被称为新的黄金,但只有不到十分之一(7%)的专业开发者是通过销售数据来创收的。因为出于隐私保护等原因,许多地区都制定了相关规定来限制开发者出售用户数据。
另外公司的规模也会对盈利模式产生影响。公司的规模越大广告的收入模式使用的就越少,一些小型的游戏和软件充斥着广告,主要依靠广告盈利。
大热门:AI 辅助软件开发
谈到可能改变世界的新兴技术,自动驾驶汽车、元宇宙和 AI 辅助编程绝对值得一提。
为了了解开发人员对不同新兴技术的参与(将对一项技术感兴趣、进行学习或者致力于这项技术开发的人都定义为参与)和采用(目前从事这项技术的开发人员)情况,SlashData 设置了四个象限:
高参与 / 高采用——这些技术吸引了许多开发者并且已经取得商业上的成功。
高参与 / 低采用——这些技术吸引了许多开发者,但还未产生商业影响。
低参与 / 低采用——这些边缘技术没有引起许多开发者的兴趣,而且商业价值也没有体现。
低参与 / 高采用——这些技术可能没有对许多开发人员没有吸引力,但对于那些感兴趣的人来说,商业采用率很高。
主要对这些新技术进行调查:
AI 辅助软件开发
元宇宙
NFTs
有 14% 的开发者正积极的从事 AI 辅助软件开发,这项技术的应用是所有新兴技术中排名第三的,也算的上是个大热门。
在所有技术中,开发人员对区块链技术(包括加密货币)的兴趣增加的最多,但对区块链应用程序的采用却停滞不前。不过总体来说,新兴技术采用率的采用率的增长都已经停滞。