HackerRank 发布了 2020 年《开发者技能报告》,报告调查了来自全球 162 个国家的 116000 多名软件开发者。根据官方的介绍,此次调查是有史以来规模最大的调查,规模最大不但体现在受调查人数增加的横向方面,纵向方面来看,此次调查问题的设计深度也比以往更为深入。HackerRank 要求参与调查的开发者提供有关在编程训练营(类似于线上编程培训班)方面的投入以及薪酬等信息。
HackerRank 是国外一家知名的(技术)招聘平台,面向求职者提供了编程练习、面试准备等一系列服务,面向招聘者提供客观评估人才的产品和方案。不过 HackerRank 更为人熟知的是其竞争性的编程挑战比赛,这项编程挑战比赛横跨多个计算机学科领域,旨在根据技能评估开发者的水平。
此次调查涵盖的范围比较广泛,从开发者的消遣方式到招聘者对培训班出身的程序员的看法,还有开发工具和编程语言的问题。受篇幅限制,本文将挑选一些有趣且有一定参考价值的调查结果进行介绍。
培训与招聘
- 三分之一的招聘主管聘请过从编程训练营(类似于线上编程培训班)毕业的开发者
在被问及“是否聘请过从编程训练营获取编程技能的开发者”时,有 31.7% 的招聘主管(注意不是 HR,而是指有人才需求的用人部门主管)曾聘请过培训班出身的开发者,将近一半(48.9%)的招聘主管则给出了否定的回答。
- 72% 的招聘主管认为从编程训练营毕业的开发者比其他应聘者拥有同等或更好的优势
在上面“31.7% 的招聘主管”的群体中,有高达 72% 认为培训班出身的开发者与其他开发者水平相当,有的甚至具备更明显的优势,主要是因为他们学习新技术或新语言更快,有更强的实践经验,也更愿意承担责任。
不过对于这个调查结果,如果放在国内的环境来看,相信会有不少争议。
技能
- 38% 的招聘主管对全栈开发者的需求最大,其次是后端开发者和数据科学家
根据 HackerRank 的调查,无论公司规模大小,在寻找 IT 人才时,对全栈开发者的需求都是最大的,其次是后端开发者和数据科学家。尽管关于如何评估“全栈开发者”的技能水平是一个有争议的话题,但大多数人都同意任何开发者都应该对所有层面的技术栈有基本的了解(或更深入的了解)。尤其是是在小型团队中,要求一名开发者身兼数职是基本要求,恨不得一个人把前端、后端、测试和运维的活全干了。从这方面来看,国内国外似乎都是一样。
- 60% 的全栈开发者因工作需要而学习一个全新的框架
由于全栈开发者必须熟悉更多的技术栈,因此有 60% 的全栈开发者表示,在过去的一年里,曾因为工作需求而被要求学习全新的框架,有 45% 则表示曾被要求学习新语言。凭借具备前端、后端以及更多的专业知识,全栈开发者的角色相对灵活,并需要时刻保持自己的技术广度,这就意味着他们在工作中的学习永远不会停止。
我们还可以看到,数据科学家和 DevOps 工程师是最频繁被要求学习新概念的群体。
开发工具(编程语言、框架)
- JavaScript 是最知名的编程语言,其次分别是 Java 和 C
- AngularJS 是最知名的框架,其次分别是 React 和 Spring
可以看到,Vue.js 和 Django 的排名也在稳步上升。不过从上面的两个调查结果我们也能发现,国外流行的技术框架在国内未必有如此高的流行度,例如稳居第一、第二的 AngularJS 和 React。
- 开发者 2020 年最想学习的编程语言是 Go
连续三年,Go 都是开发者最想学习的编程语言,其次是 Python 和 Kotlin。自 2009 年诞生以来,由 Google 创建的 Go 就受到越来越多开发者的欢迎,部分原因当然是其背后创建者的大力推动,但也离不开它自身的优秀。
除了上面提到的三门语言,TypeScript、R、Rust 和 Scala 等编程语言也受到不少开发者的关注。
- Perl 开发者的收入最高
学习什么编程语言能让你在职场上加薪最多?答案是 Perl。
根据 HackerRank 的调查,全球开发者的平均年薪约为 5.45 万美元(约 38 万人民币)。在全球范围内,Perl 开发者的平均年薪比平均水平高出 54%。其次是 Scala +42%) 和 Go +33%)。
像 Perl、Scala 和 Go 这些平均年薪较高的语言,部分原因涉及到了统计的数据差异。例如,Perl 的高级开发者大约为 10%,初级开发者为 2%。由于高级开发者的收入往往更高,因此使用者这些语言的开发者平均薪水自然也会更高。Scala 和 Go 也是类似的模式。
工作和生活
- 美国开发者的收入比其他任何国家的都高
观察各国开发者的收入,可以看到美国开发者的薪资最高,平均年薪为 10.9 万美元,整整是全球平均年薪的两倍。澳大利亚和加拿大是开发者第二高薪的国家,平均年薪分别为 8.8 万美元和 7.3 万美元。
至于中国开发者的平均年收入,未在报告中出现……估计是统计到的数据比较少。
- 39% 的开发者认为自己的薪资和付出不匹配
根据 HackerRank 的调查,只有 35% 的开发者认为他们获得了合理的报酬。另一方面,39% 的开发者认为与和自己经验相仿的同行对比,他们获得对应的报酬不合理,还有 26% 的开发者对此不确定。
- 61. 8% 的开发者希望在三年内成为技术 leader,而不是管理者
可以看到,62% 的开发者希望在未来三年成为技术 leader,与想要成为管理者的人数(15%)形成鲜明对比。大多数开发者对管理者岗位的兴趣不高,对像首席架构师这样的技术 leader 职位更感兴趣,因此掌握新的技术技能至关重要。
- 开发者花费大量时间在听音乐和网上冲浪
当开发者不写代码时,他们大多数会把时间花在听音乐(61%)上。网上冲浪(52%)、美食(48%)和运动(48%)也是打发时间的热门选择。但是 3% 的开发者表示,他们从不休息(难道是来自国内的开发者?)!
完整报告请查看:https://research.hackerrank.com/developer-skills/2020