大多数优秀的程序员都是自学成才!

服不服?

很多人在听到这句话时,或许都会不屑一笑,毕竟这一结论的得出似乎在一定程度上抬高了非科班转行以及培训班出来的技术人,同时将科班出来的程序员们置于一个较为尴尬的位置。

但是,据最新的数据研究结果显示这一结论确实有理可依。日前,国外知名的编码对战平台 HackerRank 深入研究了全球 10351 名学生开发者的学习方式以及技能状况,并最新发布了《2018 年 Student Developer Report》。令人惊讶的是,报告显示,当前有 76% 的学生正在攻读计算机科学学位,但有 65% 的学生开发者是自学成才。那么接下来,我们将用数据说话。

学位不足以支撑开发者的技术能力

无论是在国内还是在国外,计算机专业的学生都会在大学期间学习 Java、C、C++、数据结构等基础的软件开发技能,从而向专业的开发者过渡。但据调查报告显示,在超过一万名的开发者中,有 37.7% 的人表示是通过学校和个人相结合的方式来学习编码,27.4% 的开发者表示是完全通过自学的方式学会了编程,相比之下,仅有 31.9% 的人仅通过学校教学的途径学习编程。

由此可见,自学已成一种学习的趋势。但是此前,我们也曾报道了一些企业的 HR 对于半路出家自学以及培训机构出来的开发者常带有有色的眼镜来区别看待,其表示:

从面试经验来看,我厂对培训班出来的基本不会招,基础太差,干活也是浮于表面,知其然而不知其所以然。 另外除非你特别特别牛,否则一个正规的本科文凭还是需要的,其余的直接简历就被刷掉了。

这一席话不禁让很多信心满满的开发者最终因一纸文凭的门槛而寒了心。然事实上,早在 2013 年时,Twitter 的创始人 Jack Dorsey 就在公开场合表示,他相信最好的程序员大多数都是自学成才。另外,据微博大 V 博主 @斌叔儿童编程爆料:

我以前微软团队,真正计算机专业毕业生的只有 30%,都是别的专业转的。

所以说,无论是科班还是非科班的开发者,自主学习的态度均是抓住前沿技术潮流的必备技能,也是为成功铺垫的一层基石。不过从侧面来看,自学知识的流行也意味着两件事:

  • 第一,计算机科学课程落后于技术发展的步伐。对于当今行业不断更新迭代的技能,譬如每隔六个月就更新的 Java、崛起的 Python、层出不穷的各种最新的框架......学生必须依靠自学来填充技术空白。

  • 其次,自我学习能力已经在开发者基因中根深蒂固。开发者对学习有着永不满足的渴望。平均而言,当高级工程师正在学习 4 种编程语言时,不少开发者在学生时代就计划着要学习 6 门语言。此外,根据报告显示,亚太地区的学生更有雄心壮志,其计划学习 7 种编程语言!

就以上而言,所谓的计算机科学(CS)学位不应该是学生开发技能的主要衡量标准。相反,企业的技术团队除了需要开发者在学校良好的表现,还要将个人项目以及扩展技能纳入评估范围,更不能“一棒打死"诸多从培训机构出来的技术人。

全球范围内,JavaScript 开发者供不应求

在技能方面,学生开发者如果学习 JavaScript 编程语言和以 JavaScript 为中心的框架将会有较好的就业前景。因为据调查报告显示,雇主对 JavaScript 的需求量最大。而且随着静态 Web 页面逐渐过渡到渐进式 Web 应用程序,JavaScript 在业界日益占据主导地位。除此之外,当前 95% 的 Web 应用程序都是基于 JavaScript 构建的,所以它的需求量会如此之大也就很容易理解。

不过从数据上来看,虽然有 48% 的雇主表示他们需要会 JavaScript 技能的开发者,但全球只有 42% 的学生开发者表示他们熟悉这种语言。这就产生了供不应求的局面。当调查人员在深入挖掘这一现状时,发现该语言在使用学习方面存在较强的区域差异。其中,印度和加拿大的差距特别大,美国和英国拥有较多的 JavaScript 开发者。

而这种技能差距可以追溯到大学的计算机科学课程。总的来说,JavaScript 并未在标准计算机科学课程中讲授。事实上,在美国报道的十大 CS 项目中,将 JavaScript 明确纳入到核心课程中的高校几乎为零,当然这在中国诸多高校中也不例外,因此想要掌握该门编程语言的学生必须依靠实践、个人项目或指导来学习。这也就是为什么更有可能自学代码的学生(包括美国和英国学生)更好地掌握 JavaScript。

不过,现实来看,计算机科学课程中也不太可能很快加入 JavaScript 教学。因为在大学的课程中,更多的是注重编码理论(与应用程序相比),而不是像 JavaScript 这类因行业驱动的技术。此外,对于想要将 JavaScript 融入日常的教学,它的可行性也具有很大的挑战。据调查显示,有一半的 JavaScript 开发者认为 JavaScript 的生态系统变化太快,所以即使是那些渴望将它加入教学材料的人也很难保持他们的课程能跟上时代。

在学生开发者心中,老牌 C 仍占据首位,Ruby、Python、JavaScript 为潜力股

尽管 JavaScript 的开发者在供与求之间存在差距,但这种现状无论是对开发者还是雇主来说,都是一个好消息,毕竟可以更好地激发相关技术人才的诞生。不过受大学教育的环境影响,老牌 C、C++、Java 语言对学生开发者的影响很大,但是据统计发现,Ruby、Python、JavaScript 将成为他们接下来想要学习的首要三大技能。

掌握前端框架技能的程序员严重欠缺

根据调查报告显示,全球范围内,掌握前端主流三大框架 AngularJS、React、Node.js 和轻量级的 Java 开发框架 Spring 的人才严重不足,甚至达不到雇主需求量的一半。

导致这样的原因有很多,一方面,在大多数 CS 课程中,学生更多的是学习建立理论和基础知识,而不是工作技能。此外,大学课程既没有行业反馈,也没有敏捷性,同时它的资源与行业趋势并没有保持同步。

因此,想要更好地掌握框架技能以及跟上日新月异的技术潮流,最好在实践项目中不断积累成长。

65% 的程序员竟都是自学成才?相关推荐

  1. “非科班”出生的程序员,都怎么样了?

    "为什么选择程序员?" 因为薪资高,短期实现买车买房! 因为喜欢写代码的感觉! 非科班出生的程序员大多数都是第一种情况,向钱看!对于非科班出生的程序员大家一直有所质疑!能否学会?能 ...

  2. 转程序员,都去写一写前端代码吧

    转自: http://www.oschina.net/news/36972/programmer-write-frond-end-code 你可以认为我是一个极端的人,就像有许多人专注于自己的领域而不 ...

  3. 程序员心中都有一个江湖,java世界,就是一个江湖!

    大千世界,无所不有.这世上不光有人类世界,还有咱们的 java 世界.今天就由我这个实习导游带领你们了解了解咱们的 java 世界的奇妙之处. 有一种暖男叫 catch,有一种真爱叫 try---ca ...

  4. 某网友发表如此言论:程序员基本都是diao丝,是农村进城务工人员!有资源有关系的都不干程序员!...

    都知道程序员工资高,但同时也要承受996的高强度工作.那么程序员里什么群体比较多呢? 一个程序员发帖说,程序员基本都是diao丝,大多是农村进城务工人员,有资源有关系的人都不干程序员这行. 许多程序员 ...

  5. NDC 2010视频下载:看看其他微软平台程序员们都在做什么

    原文地址:<NDC 2010视频下载:看看其他微软平台程序员们都在做什么> NDC(Norwegian Developers Conference,挪威开发者大会)是一年一度的挪威最大的微 ...

  6. 厉害了,天刚一冷程序员就都换上了衬衫。。

    Java技术栈(id:javastack)整理于网络 这才农历九月初,大秋天的,深圳的天气就已经降温了.更搞笑的是,朋友圈.群里都在转发下面这张图片,相信大部分人已经看过了吧. 这是哪家公司的?这么搞 ...

  7. 牛逼的程序员,都长什么样?

    程序员,是世界上少有的能改变世界的人! 在程序员圈子里,有很多如明星般闪耀的牛人! 有中国第一代程序员求伯君: 有获得图灵奖的姚期智: 有产品取得巨大成功的张小龙: 有开创信息推荐新模式的张一鸣... ...

  8. 在鹅厂,我作为一个Java 程序员每天都在摸鱼!!!

    作为一名 在大.中.小微企业都待过 的 Java 开发者,今天和大家分享下自己在不同公司的工作日常和收获.包括一些个人积累的工作提升经验,以及一些 Java 学习的方法和资源. 先从我的第一份 Jav ...

  9. 程序员转行都去干嘛了?产品经理很正常,这位卖烧饼的也太强了

    程序员转行都去干嘛了?以下这些切实又不切实的选择仅供参考 1.转往临近岗位,比如你讨厌的产品经理 程序猿和产品经理可谓是最像夫妻的两个职位,相爱相杀,知根知底. 程序员转产品经理有很大优势,因为了解产 ...

最新文章

  1. 与14级团队同学的约定
  2. foreach_and_函数
  3. CSP认证201609-1 最大波动[C++题解]:遍历
  4. gentoo.tw的临时解决方法[转贴]
  5. 为什么传值时加号变成了空格_URL的参数中有加号传值变为空格的问题(URL特殊字符)...
  6. [你必须知道的.NET]第二十五回:认识元数据和IL(中)
  7. Regal灰度发布智能分组引擎
  8. 【docker】win10子系统ubuntu安装docker
  9. Log4net系统日志
  10. failed to initialize monitor thread
  11. 27. 安全 HTTP (2)
  12. 计算机房通气换气次数,各种换气次数汇总
  13. 杭州电子科技大学第三届网络攻防大赛初赛题目
  14. 中线提取算法_一种应用VisualGraph算法提取道路中线的方法与流程
  15. css3中自适应边框图片运用
  16. A3Mall电商平台——测试计划
  17. python分析qq好友_Python2.7获取QQ空间部分好友
  18. quartz和timer的区别
  19. 【镜像取证篇】DD和E01镜像格式区别(简)
  20. Android手机QQ的UI自动化实践,为什么spring能最好地改变Android

热门文章

  1. 手写数字识别——算法
  2. 南开22春学期(高起本1709、全层次1803-2103)《药理学》在线作业【标准答案】
  3. java开发经常遇到的bug
  4. linux重新下载文件命令,linux下载服务器上的文件命令-sz
  5. 读书:《吃掉那只青蛙》
  6. 基于飞凌RK3399核心平台的3D打印机解决方案
  7. AP Autosar平台设计 9 诊断
  8. 深入浅出JVM调优,看完你就懂
  9. 软件可以下载到移动硬盘里面吗
  10. ChatGPT 简单介绍