2020 中国 Go 开发者调查报告

2020 中国 Go 开发者调查报告

2020 年初,看过Go官方在过去一年里面的总结,GopherChina 也通过网络的方式对中国的 Go 开发者进行了一次深度调查。本次调查旨在关注 Go 在中国的最新趋势并总结 Go 开发的发展情况。

来自全国数十个城市的 1300 多名开发人员参与了此次调查,帮助我们勾勒出一个尽可能准确的中国 Go 社区的全景图。调查内容涵盖 Go 在中国的使用、开发类型、框架、库、技术、开发工具、就业等方面。

01 Go使用情况

Go 作为主要语言 vs 第二语言

在我们的调查中,61.5%的 Go 用户使用 Go 作为主要语言,而 38.5%的用户把 Go 作为第二语言。

2020 中国 Go 开发者调查报告

在 Go官方 2018 年的 Go 开发者调查报告中,使用 Go 作为主要语言的比例达到 72%,比 2019 年国内高出近11%。

除 Go 外的语言使用情况(多选)

2020 中国 Go 开发者调查报告

中国的 Go 用户中,有近 40% 的用户还使用 Python、JavaScript 和 SQL。这和 Go 官方在 2018 年统计的前三名非 Go 语言(Python、JavaScript、C/C++)基本上差不多。

而使用 C/C++、Java、PHP、HTML 的开发者比例紧随其后,均有 30% 左右的比例。

可见中国的 Go 开发者也是其他热门语言的使用者。

C# 和 Rust的开发者也有一定的比例,但是目前在Go开发者体系目前还不算流行。

02 Go 开发用途

人们平常会在什么场景下使用 Go,会用 Go 进行什么类型的开发,以及如何进行结合?

2020 中国 Go 开发者调查报告

87% 的用户在工作中都会使用 Go,4.3%的学生会使用 Go,应该是云计算这一波让大学生了解Go。其他的比例在10%左右的人应该是个人项目等使用了。

使用 Go 的目的是什么?做什么?(多选)

2020 中国 Go 开发者调查报告

在中国使用 Go 做 Web 开发的人最多,有超过76%的人选择 Go 开发 Web。其次是网络编程、云原生开发等 Go 的优势领域,Go 。

此外,在 DevOps/运维开发 领域,Go 也发挥着重要的作用,有20% 左右的 Go 开发者从事相关领域的开发。

在 Go 官方 2018 年的 Go 开发者调查报告中,排名第一的 Go 使用领域是Web开发,达到 65%;第二是 DevOps,达到 41%;第三是 系统编程,达到 19%。

相较于全世界的 Go 开发者来说,中国开发者对比上面也差不多,但是在网络编程和云原生的更多一点。

03

Go 版本和环境

Go 1.13 vs others

2020 中国 Go 开发者调查报告

因为在我们这一次调研的时候Go1.14版本还处于beta阶段,所以很多人还是在使用1.13版本,从调研发现 Go 开发者大部分人(60%)还是选择最新版本作为开发和部署的版本。从调研发现0.5%的同学居然还在用老版本,估计是老系统不愿意升级了。

使用的版本管理工具是什么

2020 中国 Go 开发者调查报告

一直以来,Go的版本管理一直是Go开发者所诟病的点,但是直到最近推出Go Modules大家才逐步的转过来。不出所料,管理 Go 版本管理的 Go Modules 是最常用的版本管理工具。

04

框架、库和技术

Web 框架

2020 中国 Go 开发者调查报告

Gin 和 Beego 毫无疑问成为中国 Go 开发者中最受欢迎的 Web 框架。老牌的 revel 框架基本上退出了历史舞台,而 Echo 等新兴框架则在一众框架中拔得头筹。尽管之前社区开发了异步版本的 fasthttp,但使用诸如 iris 等框架的比例仍然较低。

在 Go 官方 2018 年的 Go 开发者调查报告中,世界 Go 开发者使用 Gin 和 Beego 的比例分别为 30% 和 10%,中国开发者使用它们的比例则达到 65% 和 28%,可见国内开发者的热忱。

常用的通用工具和库(多选)

2020 中国 Go 开发者调查报告

不出所料,gRPC 荣登通用工具和库中的宝座,无疑是 Go 世界中最受欢迎的库之一。在排名前五的库中,网络库占到3个,足见开发者对网络库的依赖。此外,数据库ORM库 GORM 也十分受欢迎,占到 41.5%。

05 开发工具

常用开发工具

2020 中国 Go 开发者调查报告

工欲善其事必先利其器,在开发工具这一块,国内开发者基本上选择付费的Goland和免费的VS Code作为他们的主要开发工具,分别占到了71和49%的比例。Vim一直以来都是很多Linux开发者的最爱,从统计来看vim也占到了12.8%的比例。

在 Go 官方 2018 年的 Go 开发者调查报告中,世界 Go 开发者使用 VS Code 和Goland 的比例分别为 35% 和 22%,中国开发者使用它们的比例则达到 49% 和 71%,看来Goland在国内普及度很高啊,国外Vim用户占到了25%的比例,可见国外开发者用vim的比较多。

操作系统(多选)

2020 中国 Go 开发者调查报告

有超过三分之二的受访者使用 MacOS 作为开发环境的操作系统,说明苹果电脑颇受开发者欢迎,将近40%的用户使用 Linux进行开发,使用 Windows 的比例也很高,达到 37.3%。

托管 Go 程序的平台(多选)

2020 中国 Go 开发者调查报告

超过一半的受访者将 Go 程序托管在私有服务器中。在使用云平台的用户中,他们最偏爱阿里云,使用比例达到 53.8%,而腾讯云和AWS 依次是上一个云平台的一半份额。UCloud、谷歌云、Azure 和华为云的使用比例近似,在 2-5% 左右。

数据库(多选)

2020 中国 Go 开发者调查报告

MySQL 在数据库使用中占据绝对优势的地位。大多数人使用免费或开源数据库,关系型数据库 MySQL、PostgreSQL、SQLite 使用比例较多,非关系型数据库 Redis、MongoDB也很受欢迎。

国外用户中PostgreSQL使用比例比较高,可见 MySQL 在中国的受欢迎度。

Jenkins、Gitlab CI 和 自研 占据了持续集成系统中的前三名,其中 Jenkins 是最受欢迎的,比例高达 40.1%。从前三名也可以看出来有 16.2% 的受访用户很喜欢造轮子,打造自己的持续集成系统。

持续集成系统(多选)

2020 中国 Go 开发者调查报告

Jenkins、Gitlab CI 和 自研 占据了持续集成系统中的前三名,其中 Jenkins 是最受欢迎的,比例高达 40.1%。从前三名也可以看出来有 16.2% 的受访用户很喜欢造轮子,打造自己的持续集成系统。

配置管理和运维(多选)

2020 中国 Go 开发者调查报告

有超过一半的用户使用 SSH/脚本 的方式进行配置管理。而在开源的配置管理运维工具中,Ansible 则是最受欢迎的。有 26.1% 的用户使用自研系统,比持续集成系统的自研比例更高,由此可见配置管理和运维方面的定制化需求更多。

06 就业和工作

雇佣状态

大多数(87%)的 Go 用户有全职工作,4.3% 为学生,而只有 3.1% 为自由职业者,创业的比例占到了2.1%。

工作岗位

2020 中国 Go 开发者调查报告
2020 中国 Go 开发者调查报告

近三分之二(68.6%)的受访者为开发者,十分之一左右是架构师。团队领导的比例合计占到十分之一以上,这个比例对于后期 Go 能够快速推广至关重要,很多团队用 Go 都是因为这些团队领导的大力支持和推进。

团队合作 vs 独立工作

2020 中国 Go 开发者调查报告

超过三分之二的受访用户进行团队协作,近三分之一的受访用户则独立进行项目开发。

团队规模

2020 中国 Go 开发者调查报告

约一半的开发者在规模很小的团队中工作,其中 37.5% 的团队规模为 2-7 人。

2020 中国 Go 开发者调查报告

企业规模

使用 Go 的团队有将近三分之一的人都在大企业使用 Go,可见中国大企业都在用Go进行开发,这对带动Go在中国的发展至关重要。

使用 Go 的时间

2020 中国 Go 开发者调查报告

Go 萌新(少于2年)的比例最高,超过50%;其次是 3-5 年经验的用户,占到了 34.7%。而 Go 老兵的比例较低,约为 5.6%。

平均年龄

2020 中国 Go 开发者调查报告

有 50% 左右的受访者的年纪低于 30 岁,有 0.1% 为青少年。四十岁以上的用户比例较低,但仍是活到老学到老。北京成为 Go 开发者最多的城市,占到四分之一,其次是上海、深圳(如下图所示)。

2020 中国 Go 开发者调查报告

平均年收入

2020 中国 Go 开发者调查报告

大部分受访者的年薪在 30 万以下,其中 10-30 万年薪的占据主流,差不多占到50%。有30% 的受访者年薪达到 30 万以上,说明Go开发者的年薪在开发者社区里面还是比较高的,有极少数能到 100 万甚至更高。而有11.1%的同学不便透露薪资,毕竟薪资是比较敏感的数据。

每种语言都有其适用的场景,不论是哪种语言,觉得喜欢和合适,那么就用吧~


分享到:


相關文章: