社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

全球开发者大调查:编程始于少年,Python 成最爱

CSDN • 7 年前 • 521 次点击  

点击上方“CSDN”,选择“置顶公众号”

关键时刻,第一时间送达!

近日,编程竞赛网站 HackerRank 基于 39441 位开发者的调研数据,总结了 2018 年开发者在教育、技能和招聘实践中的各类流行趋势。HackerRank 在算法、数学、SQL、函数式编程、AI 等众多不同领域为开发者们提供了相应的编码谜题。以下为报告全文。

Hello World

无论你的工作是什么,对每个人来说,学习如何编码都是很重要的一件事。编码不仅有助于丰富你的计算思维,还能提高决策性,让你在招聘中脱颖而出。

我们在 2012 年底推出了 HackerRank,目标是让每个开发人员都能找到合适的工作。近年来,我们社区的用户增长速度非常惊人——截止去年,社区已拥有 320 万名开发人员,是去年所有被雇佣开发人员总数的 2%。

今年,我们首次对 HackerRank 社区进行了调查,以获得开发者技能的相关信息,比如他们第一次推代码的时间、他们如何学习编码、最喜欢的语言和框架、他们想要什么样的工作、招聘经理希望的候选人是什么类型的等等。有 39441 位开发者参与了我们的调查,希望通过本文能让你对 2018 年开发人员的技能信息有更加深入的了解。

一、学习与教育

编码学习早于驾驶?四分之一的开发者在 16 岁前就开始编码了

编码不分早晚。在所有专业级别的 39000 名开发人员中,有超过四分之一的开发人员在他们 16 岁之前就写了第一个代码。

与此同时,在 26 岁以后才开始编写代码的开发者中,有 36% 是现在的高级甚至更高级别的开发人员,他们的职业发展会很快。

70 年代开发者:一场个人电脑革命引发的壮志雄心

与此后的几代人不同,如果七十年代的人想要看到创新的技术,他们就必须自己去建造——处于那个年代下的他们别无选择,因为没有充分的资源来教会他们如何创建软件。在 45 岁至 54 岁之间的所有开发者(47%)中,几乎一半在 16 岁之前开始编码。同时,今天 18 到 24 岁的开发者最不可能在 16 岁以前开始编码(仅占 20%)。

45 到 54 岁之间的开发者是第一批掌握个人电脑的一代,如Acorn Archimedes、TRS-80、Commodore 64 和 Apple II。由于无法获得正规教育,“个人电脑革命”中的年轻人更有动力去学习编码。

英国卫冕最年轻的编码人员排行榜之首!中国未进前十

在参与调查的 17 个国家中,至少有 100 名受访者表示,英国人开始编码的人群最年轻,编码年龄在 5 到 10 岁之间,这些开发者大多数是今天的三十多和四十多岁。

当这些开发者还在学校的时候,位于剑桥的个人电脑 Acorn Archimedes 就出现了。通过与 Tesco 的合作,英国的学校得到了相当数量的电脑,更多的孩子可以使用电脑。

今天,这种前瞻性的教育文化在英国仍然存在——它成为第一个通要求 5 岁以下的孩子参加编程课程来实现课程现代化的国家。政策制定者也曾多次指出,尽早接触编码是打造软件职业门户、了解影响日常生活的计算思维和软件原理的重要一步。

毋庸置疑,开发者都有渴望学习的心

似乎每年都会有一个新的标志性编程语言、框架或库在整个开发者社区泛滥。自我教育是所有年龄段开发者的常态,尽管 67% 的开发人员拥有 CS 学位,但大约 74% 的人表示至少有一部分是自学的。

开发者平均知道 4 种语言,但是他们还想学习更多。对学习的渴望程度也因人而异:18 至 24 岁的年轻开发者计划学习 6 种语言,而 35 岁以上的人只打算学习 3 种语言。

自学作为成功开发者的重要组成部分,学习工具是成长的一种手段。但是工具总是会改变的,所以对程序的好奇心和真正的兴趣,应该推动学习新工具和适应技术不断发展的前景。

我们不一样:新一代开发者最爱 YouTube

堆栈溢出是自学者的头号工具,这在各个年龄段都是如此。但是,YouTube 和书籍之间存在着明显的年龄段差距,成为编码学习中第二个最受欢迎的资源。

学习的本质正在改变,年轻一代正在涌向 YouTube,而老一代仍更喜欢通过书籍来学习新技能。更具体地说,当学习一个新工具时,千禧一代会登录到 YouTube(65%),而 X 一代则手拿起了一本书(85%)。

当然,两者都有其独特的优势。YouTube 提供了一个系统化的教学模式,可以模仿大学中结构化的课程,稳定进步。书籍的好处是适应性,虽然 YouTube 可以引领软件进步的潮流,但教科书却是 CS 的永恒基础。任何人都可以在不到一天的时间内制作出新的 YouTube 教程,尽管它不会提供教科书多年来深思熟虑的经验教训。

但无论哪种方式,明确的一点是:我们正处在编码教育发展的最前沿。

二、开发者技能需求

企业缺什么,我们学什么:五大需求度最高的语言

即使不断地有新语言出现,开发人员掌握核心的传统语言也是非常重要的。总的来说,企业需求度最高的语言包括有:JavaScript、Java、Python、C ++ 和 C 这五个。

对比企业最需要的语言和开发者最常用的语言时,这五个语言几乎没有区别。但在细分领域中还是略有差异的, 例如:Java 已经在金融服务领域流行了多年;C 由于其性能以及跨多个平台的编译器可用性而主导硬件领域;而 C# 在政府机构中更为普遍。

开发者和企业间供需差别最大的是 JavaScript 框架

JavaScript 框架是最受欢迎的,它是唯一能够构建前端、后端、移动和浏览器扩展的多功能语言。因此,JavaScript 在网络中有着举足轻重的地位。所以大多数情况下,企业希望招聘的是了解 AngularJS、Node.js 和 React 的开发人员。

从图中可以看出,这三个框架在开发者和企业间存在着较大的差距,其中 React 框架的差距最大。换句话说,开发人员有很大的机会将 React 学习提升成为当今企业所需要的一种可交易的技能。

实战能力 No.1,企业更偏爱作战经验丰富的开发者

解决问题的能力几乎是所有企业一致要求的最重要的资格......不仅仅是编程语言的熟练程度、调试和系统设计能力,演示计算思维或分解大型复杂问题的能力也是同等重要的。

当然,小公司最关心的与大公司关心的东西之间还是有一些细微的差别。例如,较小的公司比大中型公司更需要熟悉框架使用的能力,因为拥有正确的框架知识对于初创公司来说更为重要,他们需要快速启动代码,框架可以帮助开发人员更快地推送代码。

华丽的简历?不,我们更关注你曾经做过什么

有一种观点认为,企业更愿意招聘获得名牌大学 CS 学位的人,但事实证明,他们实际上更关心的是你所做的——而不是你曾经上学的地方。绝大多数的招聘经理也表示,他们更关心简历中的技能证明,如以前的工作、多年的项目经验和 GitHub 等等。无论公司规模如何,10 个招聘经理中有 9 个都认为,以前的工作和多年的经验这两个技能指标是最受欢迎的资格证明。

一般来说,简历(学位、学历、技能认可或证书声望)的资格在企业关注度中排名最低,因为这些因素并不能代表开发者的实际能力。从简历中可以轻松筛选出的唯一顶级资质是“多年的经验”,它可以作为一种替代方法,即基于简历的信号来证明技能。

好好打理你的 GitHub,企业会认真偷看的

通过 GitHub 和项目经验能更好地补充简历和评估技能。当我们通过角色筛选数据时,可以发现那些处于 C 级职位的人,包括创始人、首席技术官和副总裁,他们都认为 GitHub 的项目实践比多年的经验更具价值。对这些人来说,学位的威望也十分重要。

这可能是由于开发者遇到高管的时候,他们已经到了招聘过程中的最终阶段,当开发人员与 C 级人员会面时,有更多时间根据项目、以前的工作和投资组合来评估已验证的技能。

三、开发工具

唯我不败:开发者就爱追随科技巨头所推送的语言

上表中,Kotlin、Rust、Scala 和 Swift 排名最高——个人开发者乐于追随硅谷科技巨头的流行语言,这是一个很明显的趋势。

谷歌的 Go 提供了高并发性、快速编译、当然还有其创建者的广泛支持,此外还推动了 Kotlin 成为开发 Android 应用的第一语言。

此外,Twitter 还将可扩展 Scala 作为一个更有效和更具成本效益的替代方案。苹果从 Objective-C 转换到 Swift 时,开发人员也必须随之切换。随着 iOS 开发变得越来越流畅,开发者也在追逐着这些流行趋势。

Python 最佳!全年龄开发者最喜爱的语言

根据统计,JavaScript 可能是企业最需求的语言,但是 Python赢得了所有年龄段开发者的心,Python 也是开发者最想学习的流行语言。

上面的语言偏好图代表了喜欢某一语言的开发者所占的百分比,Python 以其简单性、可读性和丰富的资源库而闻名,这也是计算机科学入门课程的一部分。

但有一个趋势是,年轻的开发者比老的开发者更喜欢新的语言(如 Go、Kotlin 和 Scala),其中关于 Go 的分歧最大:18 - 24 岁的开发者并不关心,但 45 - 54 岁的人认为这是他们最喜欢的语言之一,这在 JavaScript 中则正是相反的——年轻的开发者对知识有着天生的渴望,他们更有可能全面地学习语言,即使是一些他们并不喜欢的语言,而老的开发者则会根据自己的经验,选择那些经得起时间考验的语言。

Node.js 框架赢得开发者芳心

上图显示,Node.js 是开发人员最喜爱的框架。作为后端 JavaScript 的唯一方法,Node.js 在所有年龄段都受到青睐。至于前端框架,我们都知道 AngularJS 和 React 是流行的,这种偏好在年轻一代开发者中最为常见,45 - 54 岁的开发者则将它们排在了较低的位置。

四、人才吸引力

如何科学地评估开发者技能?企业表示很头疼

根据 7000 多个企业的资料显示,简历仍是目前评估开发者最常用的方式。调查发现,81% 的招聘经理使用简历作为申请人筛选过程的第一步,但是大多数招聘经理都认为如何正确评估技能是招聘时的最大挑战,而且只有 55% 的开发者认为简历能够很好地反映自己的能力。

目前的企业招聘正在寻找更合适的工具来评估应聘者技能,用简历进行筛选是招聘的障碍,因为他们最关心的能力并不能从简历中筛选出来。

爱工作、爱自由:开发者寻求工作与生活的平衡

网上的很多技术职位描述,通常都会重点介绍技术堆栈、工作内容以及津贴诱惑等等。但是招聘经理表示,应聘者更为关注的不是这些。相反,开发者首先关注的就是工作与生活的平衡,专业成长与学习则排在第二位。更具体地说,美国人比亚洲和欧洲等其他地区的开发者更渴望工作与生活的平衡。

对于 25 岁以上的开发者来说,两者的平衡是最重要的。在某些方面,我们发现了一个小小的矛盾:开发者想要工作与生活的平衡,但他们也渴望学习和成长。这也就导致了开发人员有时会感到不知所措甚至茫茫然,专注于做自己喜欢的事情可以帮助实现更好的工作与生活平衡。

灵活的工作时间表需求最迫切


工作与生活的平衡对于不同的人来说意味着很多东西,其平衡可以通过灵活的时间来支持——上午 10 点到下午 8 点的日程安排是最常见的。

开发者希望输出更有价值的内容,远程办公的选择也很有帮助。对于 25 岁以上的开发者来说,远程工作的愿望特别强烈,而 25 - 44 岁之间的人们更愿意选择工作数小时后关闭电子邮件这一方式。

学生开发者:我们更关心个人成长,薪酬什么的先放一放

职业成长率是学生在工作中最关注的的一点,在学生群体中,薪酬的排名甚至降到了第七。学生们渴望学习并发挥他们的潜力,因此在工作与生活的平衡中,会优先考虑他们职业生涯规划和成长。

五、报告的其他内容

VIM 文本编辑器最受开发者欢迎

VIM 击败了所有其他的编辑器,其强大的键盘命令是它被各国开发者所喜爱的重要原因。

创始人在 10 之前编码的可能性是普通开发者的 3 倍

15% 的创始人在 11 岁之前开始编码,而其他的开发者在 11 岁之前开始编码的概率为 5%,达 3 倍之高。

写在最后

本文是 HackerRank 对开发者进行的一项研究,以确定开发者教育、技能和招聘实践的趋势。2017 年 10 月 16 日至 11 月 1 日期间,共有 39441 名专业人士和学生开发者参与了在线调查。

通过这份报告,希望能为广大的开发者提供编程语言趋势、框架选择、就业偏好等方面提供一定的指导意义。

原文:2018 Developer Skills Report

链接:https://research.hackerrank.com/developer-skills/2018/

编译:言则

————— 推荐阅读 —————

点击图片即可阅读



今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/C4vHrR5xJb
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/6137
 
521 次点击