无论你的工作是什么,对每个人来说,学习如何编码都是很重要的一件事。编码不仅有助于丰富你的计算思维,还能提高决策性,让你在招聘中脱颖而出。
我们在 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 在网络中有着举足轻重的地位。所以大多数情况下,企业希望招聘的是了解 AngularJS、Node.js 和 React 的开发人员。
从图中可以看出,这三个框架在开发者和企业间存在着较大的差距,其中 React 框架的差距最大。换句话说,开发人员有很大的机会将 React 学习提升成为当今企业所需要的一种可交易的技能。
解决问题的能力几乎是所有企业一致要求的最重要的资格……不仅仅是编程语言的熟练程度、调试和系统设计能力,演示计算思维或分解大型复杂问题的能力也是同等重要的。
当然,小公司最关心的与大公司关心的东西之间还是有一些细微的差别。例如,较小的公司比大中型公司更需要熟悉框架使用的能力,因为拥有正确的框架知识对于初创公司来说更为重要,他们需要快速启动代码,框架可以帮助开发人员更快地推送代码。
有一种观点认为,企业更愿意招聘获得名牌大学 CS 学位的人,但事实证明,他们实际上更关心的是你所做的——而不是你曾经上学的地方。绝大多数的招聘经理也表示,他们更关心简历中的技能证明,如以前的工作、多年的项目经验和 GitHub 等等。无论公司规模如何,10 个招聘经理中有 9 个都认为,以前的工作和多年的经验这两个技能指标是最受欢迎的资格证
一般来说,简历(学位、学历、技能认可或证书声望)的资格在企业关注度中排名最低,因为这些因素并不能代表开发者的实际能力。从简历中可以轻松筛选出的唯一顶级资质是“多年的经验”,它可以作为一种替代方法,即基于简历的信号来证明技能。
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/7373.html