2020 年 HackerEarth 调查:Go 语言成为最受欢迎的语言(内含 Go 语言图谱下载)

简介: 近日 HackerEarth 发布了 2020 年开发者调查报告,有来自 76 个国家和地区的 16,000 多位开发者参与其中。 HackerEarth 联合创始人兼首席执行官 Sachin Gupta 在报告中提到:「今天技术开发者人才的短缺达到了自 2008 年以来的最高值,招聘者想要得到开发者们的青睐变得难上加难。」

image.png

对 Go 语言感兴趣但又不知从何学起的同学,可以参考一下 Go 语言系列文章:

近日 HackerEarth 发布了 2020 年开发者调查报告,有来自 76 个国家和地区的 16,000 多位开发者参与其中。

HackerEarth 联合创始人兼首席执行官 Sachin Gupta 在报告中提到:「今天技术开发者人才的短缺达到了自 2008 年以来的最高值,招聘者想要得到开发者们的青睐变得难上加难。」

这个观点似乎和我们的普遍想法不同,在中国的互联网上总是有「开发岗位」已经饱和的声音,或经常听到某公司的一个开发岗位有几十人争夺的新闻,那么 Sachin Gupta 究竟为什么会得到这样的观点呢?让我们一起来看下这份报告。

以下是报告的详细解读:

报告调查重点:

Go 是今年最受欢迎的编程语言。无论是学生(29%)还是专业人士(32%),都将 Go 语言列在「最想学习的语言」第一位。受访的学生最想学习的语言还有 JavaScript 和 Kotlin,而专业人士将 Python 和 Kotlin 作为接下来的选择。

开发者技能篇

1.到了 2020 年,数据科学仍占统治地位

image.png
image.png

数据科学无止境!从学生开发人员(63%)到在职专业人员(61%),每个人都想学习它。

学生开发人员感兴趣的其他领域包括网络安全和物联网,而在职专业人员对物联网和区块链感兴趣。

数据是当今世界的石油。而数据分析就是钻取石油的机器,通过数据分析可以帮助你使用先进的机器学习算法检测欺诈、在机器中建立智能的能力、执行情绪分析来衡量客户的品牌忠诚度等,所以数据分析备受欢迎。

2.最受欢迎的编程语言

image.png
image.png

在学生(29%)和经验丰富的开发人员(32%)中,Go 语言成为最受追捧的编程语言。

Go 语言受到欢迎的原因可以归纳为以下几点:

  • Go 语言天生支持并发
  • Go 语言的项目,部署及其方便
  • 良好的语言设计,规范足够简单灵活

不仅是开发者喜欢 Go 语言,Go 语言创造者 Google、Facebook、腾讯、小米等公司都在大量使用 Go 语言,这也是促成开发者欢迎它的主要原因之一。

image.png
image.png

学生开发人员还更喜欢 JavaScript,Kotlin 和 C#,而在职专业人员希望学习 Python 和 Kotlin。

随着大数据和 AI 的兴起,Python 也随之迅速发展,如果你想学习大数据或 AI 那你一定不能不学 Python。

在 2017 年的谷歌开发者大会上,Google 正式宣布 Kotlin 为 Android 的官方开发语言,于是 Kotlin 也被称为 Android 世界的 Swift。

选择 Kotlin 语言的受到欢迎的原因有以下几点:

  • 简洁:样板代码数量大为减少;
  • 安全:避免空指针异常等整个类的错误;
  • 互操作性强:可利用现有 JVM、Android 以及浏览器的库;
  • 工具友好:可使用任意 Java IDE 或命令行构建。

优势众多又被谷歌钦定为 Android 官方开发语言,它受欢迎也就不奇怪了。

学生开发人员当前知道的顶级编程语言包括 C++ 、Python 和 HTML / CSS,而高级开发人员经常使用 SQL,Java 和 HTML / CSS 进行编码。

3.技能提升平台

image.png
image.png

大多数开发人员,70% 的学生和 53% 的在职专业人员使用诸如 HackerEarth 之类的在线编码平台来提高自己的技能。他们还非常依赖 YouTube 教程来掌握新技能。

其他提高技能的途径包括 Coursera 和 Udemy 等在线教育平台和开发人员平台。

现在越来越多的开发者在视频网站上学习编程语言,国内的 B站 等平台也专门推出的学习板块,当然视频网站学习也有缺点,学习者往往无法判断老师的能力,也得不到专业的实时指导。

4.编程经验

image.png

大多数开发人员(无论是初学者还是经验丰富的人员)都具有全栈开发以及前端和后端开发的专业知识。

尽管大多数开发人员都表示希望从事数据科学项目,但在机器学习方面经验不足。

作为人工智能的核心,机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。复杂度较高的它很难掌握。

开发人员评估篇

1.开发人员喜欢带回家的编码挑战

image.png

大多数经验丰富的开发人员都喜欢带回家的编码测试,然后进行现场会议以评估编码技能。令人惊讶的是,有 10% 的开发人员表示他们希望有一个选择来决定他们的会议过程。

2.在线视频面试

image.png

与 YoE(专业领域)无关,大多数开发人员都喜欢实时视频面试而不是白板会议。这可能是因为白板方法利用了可能过时的场景来测试开发人员的技能。

另一方面,实时面试采访使求职者能够实时开发和编译代码,并使招聘经理有机会测试他们的工作准备情况。

开发者利益相关

1.良好的职业发展道路对学生而言至关重要

image.png

您是否想聘请优秀的开发人员并长期保留他们?是时候为您的开发人员制定出色的职业发展计划了。大约 53% 的学生说,职业道路是必不可少的福利。

其他必须获得的好处包括公司的财务稳定性,具有挑战性的项目以及良好的薪酬计划。

2.角色和薪资

image.png

经验丰富的开发人员正在寻找具有挑战性的角色和高薪水。

他们希望获得的其他好处包括灵活性,例如自家选择的工作以及工作的多样性。

3.ESOP 和公司评论

image.png

您是否正在使用员工股票期权(ESOP)来吸引开发人员人才?再想一想!

大多数开发人员都不在寻找 ESOP。这是大多数开发人员都不在乎的 Glassdoor评论带来的好处之一。

开发人员如何放松

1.开发人员喜欢看什么

image.png
image.png

当被问及最喜欢的电视节目时,学生(43%)和经验丰富的开发人员(42%)都说是朋友。他们喜欢看的其他电视节目包括《权力的游戏》和《大爆炸理论》。

image.png
image.png

大约 52% 的学生和 47% 的经验丰富的开发人员喜欢科幻小说中的电影,其次是喜剧和动作。

本文转自<阿里巴巴云原生技术圈>——阿里巴巴云原生小助手

相关文章
|
4天前
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
52 20
|
2天前
|
存储 监控 算法
探秘员工泄密行为防线:基于Go语言的布隆过滤器算法解析
在信息爆炸时代,员工泄密行为对企业构成重大威胁。本文聚焦布隆过滤器(Bloom Filter)这一高效数据结构,结合Go语言实现算法,帮助企业识别和预防泄密风险。通过构建正常操作“指纹库”,实时监测员工操作,快速筛查可疑行为。示例代码展示了如何利用布隆过滤器检测异常操作,并提出优化建议,如调整参数、结合日志分析系统等,全方位筑牢企业信息安全防线,守护核心竞争力。
|
10天前
|
Go C语言
Go语言入门:分支结构
本文介绍了Go语言中的条件语句,包括`if...else`、`if...else if`和`switch`结构,并通过多个练习详细解释了它们的用法。`if...else`用于简单的条件判断;`if...else if`处理多条件分支;`switch`则适用于基于不同值的选择逻辑。特别地,文章还介绍了`fallthrough`关键字,用于优化重复代码。通过实例如判断年龄、奇偶数、公交乘车及成绩等级等,帮助读者更好地理解和应用这些结构。
34 14
|
25天前
|
存储 监控 算法
内网监控系统之 Go 语言布隆过滤器算法深度剖析
在数字化时代,内网监控系统对企业和组织的信息安全至关重要。布隆过滤器(Bloom Filter)作为一种高效的数据结构,能够快速判断元素是否存在于集合中,适用于内网监控中的恶意IP和违规域名筛选。本文介绍其原理、优势及Go语言实现,提升系统性能与响应速度,保障信息安全。
28 5
|
1月前
|
算法 安全 Go
Go语言中的加密和解密是如何实现的?
Go语言通过标准库中的`crypto`包提供丰富的加密和解密功能,包括对称加密(如AES)、非对称加密(如RSA、ECDSA)及散列函数(如SHA256)。`encoding/base64`包则用于Base64编码与解码。开发者可根据需求选择合适的算法和密钥,使用这些包进行加密操作。示例代码展示了如何使用`crypto/aes`包实现对称加密。加密和解密操作涉及敏感数据处理,需格外注意安全性。
46 14
|
1月前
|
Go 数据库
Go语言中的包(package)是如何组织的?
在Go语言中,包是代码组织和管理的基本单元,用于集合相关函数、类型和变量,便于复用和维护。包通过目录结构、文件命名、初始化函数(`init`)及导出规则来管理命名空间和依赖关系。合理的包组织能提高代码的可读性、可维护性和可复用性,减少耦合度。例如,`stringutils`包提供字符串处理函数,主程序导入使用这些函数,使代码结构清晰易懂。
95 11
|
1月前
|
存储 安全 Go
Go语言中的map数据结构是如何实现的?
Go 语言中的 `map` 是基于哈希表实现的键值对数据结构,支持快速查找、插入和删除操作。其原理涉及哈希函数、桶(Bucket)、动态扩容和哈希冲突处理等关键机制,平均时间复杂度为 O(1)。为了确保线程安全,Go 提供了 `sync.Map` 类型,通过分段锁实现并发访问的安全性。示例代码展示了如何使用自定义结构体和切片模拟 `map` 功能,以及如何使用 `sync.Map` 进行线程安全的操作。
|
10天前
|
监控 关系型数据库 MySQL
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
19 0
|
1月前
|
监控 安全 算法
深度剖析核心科技:Go 语言赋能局域网管理监控软件进阶之旅
在局域网管理监控中,跳表作为一种高效的数据结构,能显著提升流量索引和查询效率。基于Go语言的跳表实现,通过随机化索引层生成、插入和搜索功能,在高并发场景下展现卓越性能。跳表将查询时间复杂度优化至O(log n),助力实时监控异常流量,保障网络安全与稳定。示例代码展示了其在实际应用中的精妙之处。
44 9
|
2月前
|
算法 安全 Go
Go 语言中实现 RSA 加解密、签名验证算法
随着互联网的发展,安全需求日益增长。非对称加密算法RSA成为密码学中的重要代表。本文介绍如何使用Go语言和[forgoer/openssl](https://github.com/forgoer/openssl)库简化RSA加解密操作,包括秘钥生成、加解密及签名验证。该库还支持AES、DES等常用算法,安装简便,代码示例清晰易懂。
64 12