JetBrains 发布 2021调查报告:咱Gopher不爱做饭???

2023-10-31 10:59

本文主要是介绍JetBrains 发布 2021调查报告:咱Gopher不爱做饭???,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我是一只可爱的土拨鼠,专注于分享 Go 职场、招聘和求职,解 Gopher 之忧!欢迎关注我。

欢迎大家加入Go招聘交流群,来这里找志同道合的小伙伴!跟土拨鼠们一起交流学习。

前言

周五下班前看到一个关于2021年JetBrains关于Golang开发者的调查报告。大概看了一下关于咱Gopher和关于其他技术栈的调查报告。下面咱们来看下JetBrains的调查方法和罗列的一些我感兴趣的主题调查结果(调查中涉及技术较多,细节不多赘述)。

首先这里说下JetBrains关于2021 开发者生态系统现状的调查结果的一些重要发现。

  • JavaScript 是最受欢迎的语言。

  • 最想学习使用的语言是Go(Gopher又是欢喜又是悲),其次是Kotlin、TypeScript、Python 和 Rust。

  • 增长最快的 5 种语言是 Python、TypeScript、Kotlin、SQL 和 Go。

调查方法

被受访人群

参与调查的人数有47000人之多,报告的产生是基于 183 个国家/地区的 31743 位开发者的回复,样本实体包括 17 个国家,约占全球所有开发者的 70%。每位受访者仅能看到与本人职业相关的其中的两项:持续集成、问题跟踪和 VCS、测试、DevOps 和托管、静态分析、开源等、教育、跨平台和微服务、通讯工具。

关于样本的准确性

为了减少对非英语受访者的潜在偏差,还采用了多种语言进行调查问卷。为了减小样本偏差,JetBrains还通过不同的渠道针对性地邀请潜在受访者参与调查。另外进行了23 个区域的专业开发者数量在职和失业开发者的比例就业状况、编程语言、JetBrains产品用法三个阶段的加权,以减少全球开发者群体的偏差。

本地参与调查的开发人员占比中,还是咱国人占比最大。

Go

关于Go开发者吃饭问题

纳闷JetBrains居然调查吃饭问题。调查居然发现Go 开发者比其他开发者更喜欢在咖啡馆和餐馆吃饭,还喜欢订外卖,不太愿意自己做饭。这是想说明咱Gopher懒嘛,尴尬。

Gopher们的IDE哪家强

IDE哪家强呢,当然还是Goland了,一方面因为调查主要是JetBrains发起的,调查结果可能有点偏向Goland,但是我以为Goland TOP1是无疑的。另外前段时间记得有一位神仙大佬居然用Word编辑Go程序,学习态度超赞,不过在大神眼里无视这些IDE。

Router你觉得哪家多呢?

结果是gorilla/mux凭借它的小巧、功能强大独占鳌头,甚至比标准库的router还高。go-chi势头也跟上来了,把httproute甩在了后面。建议Gopher们都试用和分析这几个库。相信你会有很大的收获。

WEB框架的选择

gin无疑还是web框架开发者中的大头。

测试框架

调查表明还是Go官方testing包用得最多,不过选择mock框架的话,也可以尝试使用下面几个库进行测试。

你们是如何构建系统呢?

Go build仍然是最受欢迎的构建系统,虽然其份额自去年以来有所下降,从 97% 降至 85%。Makefile 以 37% 的份额位居第二。

看看工资占比

工资高低看来还是架构师最香,Gopher们加油,朝着咱们的目标架构师进发。发现DevOps 工程师也很香哦。工资居然高于开发者。看来DevOps工程师也是很稀缺的。

DevOps

前几天群里还有不少同学们在问DevOps是啥?在这里顺便给大家解读一下DevOps是Development和Operations的结合。维基百科中:DevOps是一组过程、方法与系统的统称,用于促进开发、技术运营和质量保障(QA)部门之间的沟通、协作与整合。最终是让开发和运维更好地沟通合作,通过自动化流程来使得软件更快更稳地交付。

配置工具的选择

结果来看Ansible 仍然是最受欢迎的选择,自定义解决方案也是很多公司的选择。而 DevOps 工程师往往倾向于列出的既有解决方案。

容器编排服务哪家强

结果看来Kubernetes一直在持续增长。但很多公司还是未将容器编排应用于生产中。虽然Kubernetes会减轻开发和运维同学的很多工作。但服务数量少、应用并发量小、学习和运维成本相对较高等这些因素还是暂时将容器编排排除在外了。

对Kubernetes的熟悉程度

看来大部分还是对Kubernetes接触和应用过的。

你选择哪家云服务提供商呢?

亚马逊以一半之多独占鳌头,国内的话还是阿里云比重较多,我们公司也在用。同时也看出很多公司更倾向于公有云服务。

测试

研发项目过程中QA 工程师还是不可或缺的,结果表明50%左右的受访者表示10 名开发者只有不到一名 QA 工程师,这就要求我们开发同学也要具备一些测试的技巧。另外超过40%左右的QA工程师只会手动测试和没有编程技能。看来QA同学也要加强编程技能的学习了。

单元测试中使用哪些覆盖率指标呢?

前几天听群友说他们项目的UT覆盖率竟然要达到60~80%,有点为难了,真是编码一小时,测试一整天啊。不过严格些也好,case还是要尽量都覆盖到。免得上了生产哭戚戚。

项目中有哪些类型的测试呢?

一般简单的功能测试还是最有必要的。大部分公司服务上线的话都会经过如下的测试流程。

你使用BDD(行为驱动开发)技术吗?

12% 的受访者在其测试过程中使用行为驱动开发技术,8% 的受访者使用 AI / ML。其中,AI / ML 主要用于系统日志和用户行为数据分析。

你用哪些测试框架和工具呢?

作为开发人员的我下面好多工具都没用过。测试同学可以多了解了解。

微服务

微服务开发你用什么语言呢?

微服务开发中最受欢迎的 3 种语言是 Java (41%)、JavaScript (37%) 和 Python (25%)。预计,未来更多公司会在项目中使用微服务。加上采用Go语言作为微服务开发的首要语言。相信在接下来的几年里,Go语言会在微服务开发中大放异彩。

服务之间用什么通信呢?

服务之间进行通信的 3 种最流行方式没有改变。仍然是 REST、消息队列和 WebSocket。

API文档你放哪里呢?

个人也比较倾向于API文档放服务中,这样修改接口逻辑等接口文档也随之更新,还可以跟着代码了解变更历史。

PHP&&Java

发现PHP 作为主要编程语言的开发者比例最高的国家居然是法国,甚至比去年还增加了 5 个百分点。不愧是浪漫之都。

在韩国、中国和德国,Java 是最常用的语言。Java 在韩国的份额为 55%,在中国为 47%,在德国为 34%。

Rust

研究表明学习Rust主要是基于自己的兴趣爱好和作为自己的副业语言。而讲Rust应用于工作中的占比只有16%。

编写Rust用什么IDE呢

Visual Studio Code 仍然是 Rust 开发最常用的 IDE (40%),其次是 CLion (24%) 和 IntelliJ IDEA (19%)。不过我很期待JetBrains系列的Rust IDE(不知道在不在计划和开发中)。

如何调试 Rust 代码呢?

调试代码当然用打印了。

Rust能开发什么项目呢?

统计发现Rust 主要用于 CLI 工具 (49%)、系统编程 (38%) 和 Web 开发 (33%) 等项目类型。Rust应用的领域也越来越广,相信不久的将来会有更多Rust应用出现。据我了解现在微软也在大幅度使用Rust进行某些重构开发工作。

团队工具

工具的话相对源代码协作工具比例占比更高些。

CI系统中Jenkins还是最后欢迎的,目前我们公司也是Jenkins用的多一些,相信不久将来GitlabCI也日益增长。

另外发现JetBrains也出来了很多团队协作工具,就算给JetBrains打广告了,真的不得不说太强了。下面是罗列的几个工具,感兴趣的同学可以试用体验一下。

  • Space[1](结合了Git 托管、代码审查、自动化、CI/CD、软件包、问题与文档等)。

  • YouTrack[2] (为敏捷团队打造的项目管理工具)

  • TeamCity[3](面向以 DevOps 为中心的团队的强大持续集成)

  • Upsource[4](代码审查、项目分析)

总结

上面就是关于JetBrains的《2021 开发者生态系统调查》的一些关键性概况和添加的个人描述。更多调查问卷报告细节请到https://www.jetbrains.com/zh-cn/lp/devecosystem-2021/ 查阅。最后你怎么看呢?欢迎留言讨论,表达对JetBrains调查结果的看法。

参考资料

[1] 

Space: https://www.com/zh-cn/space/

[2] 

YouTrack: https://www.com/zh-cn/youtrack/

[3] 

TeamCity: https://www.jetbrains.com/zh-cn/teamcity/

[4] 

Upsource: https://www.jetbrains.com/zh-cn/upsource/

[5] 

什么是DevOps?: https://www.zhihu.com/question/58702398


欢迎关注Go招聘公众号,获取更多精彩内容。

后台资料分享

(后台回复以下数字获取对应资源)

100:Go简历模板 | 101:Go最全面试集锦 | 102:Go超级简历 | 103:Go安全指南 | 1024:LeetCode刷题指南 | 6379:redis集锦 

往期精彩回顾

(点击关键词查看文章)

城市内推

北京 | 上海 | 深圳 | 杭州  | 广州 | 成都 | 西安 |  重庆 | 珠海  | 非996 | 外企.远程办公 

大厂招聘

百度 | 阿里 | 腾讯 | 字节跳动 | 360  | 安全企业 | 京东 | 贝壳 | 滴滴 | 搜狗 | 新浪 | 探探 | 好未来 | 金山云 | 伴鱼 | 联通数科  | ApiSix | AiBee | 游戏公司 | 区块链 | 跨境电商 | 电商 

资源分享

Go项目 | Go资源 |  Rust项目 | Python项目 | 前端项目 |

面试专题

面经 | 面试题 | 每日一股 

Golang专题

每周一库 |  Go好文 

这篇关于JetBrains 发布 2021调查报告:咱Gopher不爱做饭???的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/314889

相关文章

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

售价599元起! 华为路由器X1/Pro发布 配置与区别一览

《售价599元起!华为路由器X1/Pro发布配置与区别一览》华为路由器X1/Pro发布,有朋友留言问华为路由X1和X1Pro怎么选择,关于这个问题,本期图文将对这二款路由器做了期参数对比,大家看... 华为路由 X1 系列已经正式发布并开启预售,将在 4 月 25 日 10:08 正式开售,两款产品分别为华

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

Nginx实现前端灰度发布

《Nginx实现前端灰度发布》灰度发布是一种重要的策略,它允许我们在不影响所有用户的情况下,逐步推出新功能或更新,通过灰度发布,我们可以测试新版本的稳定性和性能,下面就来介绍一下前端灰度发布的使用,感... 目录前言一、基于权重的流量分配二、基于 Cookie 的分流三、基于请求头的分流四、基于请求参数的分

定价129元!支持双频 Wi-Fi 5的华为AX1路由器发布

《定价129元!支持双频Wi-Fi5的华为AX1路由器发布》华为上周推出了其最新的入门级Wi-Fi5路由器——华为路由AX1,建议零售价129元,这款路由器配置如何?详细请看下文介... 华为 Wi-Fi 5 路由 AX1 已正式开售,新品支持双频 1200 兆、配有四个千兆网口、提供可视化智能诊断功能,建

五大特性引领创新! 深度操作系统 deepin 25 Preview预览版发布

《五大特性引领创新!深度操作系统deepin25Preview预览版发布》今日,深度操作系统正式推出deepin25Preview版本,该版本集成了五大核心特性:磐石系统、全新DDE、Tr... 深度操作系统今日发布了 deepin 25 Preview,新版本囊括五大特性:磐石系统、全新 DDE、Tree

Linux Mint Xia 22.1重磅发布: 重要更新一览

《LinuxMintXia22.1重磅发布:重要更新一览》Beta版LinuxMint“Xia”22.1发布,新版本基于Ubuntu24.04,内核版本为Linux6.8,这... linux Mint 22.1「Xia」正式发布啦!这次更新带来了诸多优化和改进,进一步巩固了 Mint 在 Linux 桌面