Stack Overflow作为全球最大的程序设计领域的问答网站,每年都会出据一份开发者调查报告。近日,Stack Overflow公布了其第9次年度开发者调查报告(https://insights.stackoverflow.com/survey/2019),这份报告基于对9万 Stack Overflow用户的调查。涉及众多领域,今天,挑其中和广大开发者最息息相关的几个重点调查结果给大家介绍一下。

这份报告的受访者主要是国外的开发者,其中的数据并不能完全的反应中国开发者的实际情况,但是也可以从一些侧面看出整个行业的一些信息。

这份报告还可以揭示几个一直困扰开发者的问题的答案,如:

1、哪种编程语言的开发者最赚钱? 2、Eclipse和Intellij哪个更受欢迎? 3、程序员可以干到多少岁? 4、哪种编程语言最受开发者欢迎? 5、国外程序员真的没有996吗? 6、到底要不要做Code Review?

接下来我们主要从技术、工作、开发者、薪水等4个方面展开,分析下这份报告。

一、关于技术

在Stack Overflow每年的报告中,都会对开发者所使用的技术做比较详尽的调查,其中包含编程语言、常用框架、甚至使用的操作系统等。

先来一张Stack Overflow描绘的技术全景图,方便开发者们了解自己所使用的技术所在的位置,以及和其他技术的关联性。

最常用的开发语言

在所有技术中,编程语言是必不可少的一项调查要素,今年的调查结果显示,目前使用量比较大的编程语言前五分别是JavaScript、HTML/CSS、SQL、Python和Java。

连续第7年,JavaScript是最常用的编程语言。Python一路飙升,从去年的第七名一跃跻身前五,超过Java位居第四。

最喜欢的编程语言

和往年一样,Rust是全球开发者最喜欢的编程语言。Python在今年的调查中相比去年上升1名,位列亚军。

使用最广泛的开发框架、数据库

最常用的框架中,jQuery排名第一,Java系的Spring排名第六,相比去年下降一名。

最常用的数据库中,MySQL位居榜首

最喜欢数据库

在关于最喜欢的数据库的调查中,非关系型数据库相比于关系型数据库更受欢迎一些,其中Redis是最最受欢迎的。

最流行的开发工具

下面是开发者常用的开发工具排行榜。Java开发者日常使用的IntelliJ和Eclipse分别位列第4和第8名。和去年相比,IntelliJ上升了1名,而Eclipse下降了1名。

看来IntelliJ和Eclipse之争,广大开发者已经给了我们答案。

二、关于工作

每年的报告中都会披露一些和程序员工作相关的数据,今年也不例外,这里我们简单展示几个可能有些参考性的数据。

工作时长

今年的报告结果中多了一项关于工作时长的数据,我们通过下图可以看到,一周中,超过半数的人的工作时长在40-44小时之间,按照每周5个工作日计算,相当于每天工作8-9个小时。

按照996的工作进行计算,一周大概需要工作72小时,那么受访者中只有2%的人达到了这个工作强度。

如果是在国内展开这项调查,相信结果会有很大不同吧。

所在行业

软件开发涉及到各个行业,报告中前几名分别是其他行业、信息技术、金融银行类、SaaS服务和Web开发等。

不知道你所在行业在上图中的哪个位置呢?

最近一次换工作是多久之前

关于工作的更换,其中最多的人,超过3成是一年内刚刚换过工作的,不知道是不是有一些也是因为受到了互联网寒冬的影响?不知道这其中有多少人是拿到过N+1的?

看来国外开发者换工作也是比较频繁的,这点和国内没有太大差异。

工作选择最关心什么

此次调查,Stack Overflow让开发者选择了自己在选择工作的时候最关心的事情,结果显示,超过一半的人对公司的技术栈是最关心的,其次是工作环境和公司文化,然后是灵活的工作时间。

看来国外开发者都不缺钱,工作选的时候,薪水的多少并不是很在乎。

工作中是否做CodeReview

关于CodeReview,其中超过70%的开发者在工作中会做CodeReview,其中大部分是因为自己自己到CodeReview的价值,少部分是因为公司要求。

那么,你呢?你做Code Review吗?

二、关于开发者

年龄

软件行业一直是一个对年龄比较敏感的行业,很多人都担心程序员到底可以干到多少岁?

这份报告给出了答案,对于所有的受访者,年龄介于20-30岁之间的有近50%,30-40岁之间的有30%,超过40岁的还有15%左右。

所以,很多人担心是不是程序员只能干到30岁?这份报告显示其实超过30岁的程序员还是大有人在的。

但是话又说回来,中国的人口基数是要比国外多一些的,所以竞争就会大一些,作为技术工种,建议所有读者还是要建立起自己的技术壁垒,提高自己的不可替代性。

编程年限

程序员的工作年限跨度很大,报告从5年内到50年以上的数据都有,其中超过1/5的程序员的编程经验在5年内,工作经验在10年内的人数超过了一半。

编程是不是自己的爱好

爱好是人最好的老师,那么编程是你的爱好吗?

超过80%的开发者是喜欢编程的。

二、关于薪水

工作年薪与开发者类型对薪水的影响

下图描述了工作年限以及开发者类型对薪水的影响。很明显,工作年限越久,工资越高。但是,有些类型的开发者在同样的年限可以拿到更高的薪资。

从图中可以看出,与数据打交道的开发人员(数据科学家和工程师)以及在DevOps和站点可靠性方面工作的开发人员的经验水平较高,而学术研究人员和教育工作者的经验水平较低。

工作年薪与编程语言对薪水的影响

下图中,有一条蓝色的实线,在实线上面的语言,如Clojure、Scala、Go、Rust和R的开发人员,拥有越丰富的经验,就会获得更高的报酬。但是实线下方的语言,如PHP、VBA等,即使有多年的经验,工资也会更低。可以看到Java目前处于实线的阴影范围的边缘。

图中圆圈的大小表示与其他语言相比,有多少开发人员正在使用这种语言。

哪种编程语言的开发者最赚钱

下图中是各类编程语言的开发者的年薪。可见,越是常用的开发语言,工资越低。

Java语言开发者年薪大概是5.2万美元(去年是9万美元),是所有开发者中赚的最少的。相对比较赚钱的开发语言是Clojure、F#、Go以及Scala。

国内的Java开发者们,你们的粘性有达到5万美元吗,对于Java开发者赚钱最少这件事情,你有什么看法呢?

好了,以上就是这份报告的解读,如果你有什么想说的,欢迎留言。

往年报告分析:

Stack Overflow 2018 开发者调查报告出炉

高效学习新技术的10种方法——总结自StackOverflow 2017开发者调查

Java开发者薪资最低?程序员只能干到30岁?国外真的没有996?Intellij真的比Eclipse受欢迎?的更多相关文章

  1. Java常用排序算法+程序员必须掌握的8大排序算法+二分法查找法

    Java 常用排序算法/程序员必须掌握的 8大排序算法 本文由网络资料整理转载而来,如有问题,欢迎指正! 分类: 1)插入排序(直接插入排序.希尔排序) 2)交换排序(冒泡排序.快速排序) 3)选择排 ...

  2. Java 常用排序算法/程序员必须掌握的 8大排序算法

    Java 常用排序算法/程序员必须掌握的 8大排序算法 分类: 1)插入排序(直接插入排序.希尔排序) 2)交换排序(冒泡排序.快速排序) 3)选择排序(直接选择排序.堆排序) 4)归并排序 5)分配 ...

  3. java 书籍推荐 JavaEE程序员必读图书大推荐

    java 书籍推荐 JavaEE程序员必读图书大推荐 转自:http://www.cnblogs.com/xlwmin/articles/2192775.html 下面是我根据多年的阅读和实践经验,给 ...

  4. 在Java大环境下.NET程序员如何夺得一线生机

    先来看一组数据,从某招聘网站直接检索3-4w的岗位,会看到Java与.NET社会需求量的巨大差异,这里就不再对比高薪的岗位了,.NET的高薪岗位更是少的可怜:   笔者从业十余年,一直是在.NET圈子 ...

  5. 程序员应该知道的几个国外IT网站

    程序员应该知道的几个国外IT网站   摘要:文中总结了几个常用的国外IT网站,下面列举出来供大家学习参考: 导读:文中总结了几个常用的国外IT网站,下面列举出来供大家学习参考: 1. TheServe ...

  6. 少走弯路,给Java 1~5 年程序员的建议

    参考:https://www.jianshu.com/p/5681a1f0aad6 今天LZ是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍.这一部分的内 ...

  7. 为什么用 Java:一个 Python 程序员告诉你

    这篇文章专门给程序员写的,普通读者慎入.原作者:Kevin Sookocheff 译者:Celia Zhen,原文点击文末链接. 每当我告诉别人我一直在用Java工作时,大家的反应都是: “纳尼!Ja ...

  8. 【黑马18期Java毕业生】黑马程序员Java全套资料+视频+工具

        Java学习路线图引言:        黑马程序员:深知广大爱好Java的人学习是多么困难,没视频没资源,上网花钱还老被骗. 为此我们历时一个月整理这套Java学习路线图,不管你是不懂电脑的小 ...

  9. 在培训机构花了好几万学Java,当了程序员还常被鄙视,这是招谁惹谁了?

    在之前的文章中说过,我是非计算机专业,通过参加培训进入程序员这行的. 入了程序员这行后,挺长一段时间在亲戚朋友中,我还是挺有面子的:家族里的第一个程序员,工作不用风吹日晒,收入比其他行业高不少,尤其是 ...

随机推荐

  1. IDEA导入spring-boot-plus(二)

    IDEA导入spring-boot-plus 安装lombok插件 !!!请先确保IDEA已安装lombok插件!!! IDEA在线安装lombok插件 IDEA离线下载安装lombok 如果在线安装 ...

  2. 蔡勒(Zeller)公式及其推导:快速将任意日期转换为星期数

    0. 本文的初衷及蔡勒公式的用处 前一段时间,我在准备北邮计算机考研复试的时候,做了几道与日期计算相关的题目,在这个过程中我接触到了蔡勒公式.先简单的介绍一下蔡勒公式是干什么用的. 我们有时候会遇到这 ...

  3. jmeter+ant生成xml报告

    1.jdk安装 2.jmter安装 3.ant安装 下载apache-ant-1.10.6-bin.zip,直接解压就可使用,和jmeter类似 ant环境变量配置 新建系统变量:ANT_HOME,变 ...

  4. spring加载bean流程解析

    spring作为目前我们开发的基础框架,每天的开发工作基本和他形影不离,作为管理bean的最经典.优秀的框架,它的复杂程度往往令人望而却步.不过作为朝夕相处的框架,我们必须得明白一个问题就是sprin ...

  5. C#开发BIMFACE系列10 服务端API之获取文件下载链接

    系列目录     [已更新最新开发文章,点击查看详细] 通过BIMFACE控制台或者调用服务接口上传文件成功后,默认场景下需要下载该源文件,下载文件一般需要知道文件的下载链接即可.BIMACE平台提供 ...

  6. .NET Core 使用 K8S ConfigMap的正确姿势

    背景 ASP.NET Core默认的配置文件定义在appsetings.json和appsettings.{Environment}.json文件中. 这里面有一个问题就是,在使用容器部署时,每次修改 ...

  7. Sql Server中变的定义以及赋值的应用

    --申明变量declare @ad_begin datetimedeclare @fydl varchar(50)declare @userid varchar(50)declare @jdrbm v ...

  8. javascript简单实现深浅拷贝

    深浅拷贝知识在我们的日常开发中还算是用的比较多,但是之前的状态一直都是只曾听闻,未曾使用(其实用了只是自己没有意识到),所以今天来跟大家聊一聊js的深浅拷贝: 首先我们来了解一下javascript的 ...

  9. TK可视化之文件内容查找(升级篇)

    升级为带有选择框 分三种查看格式一种是表格查看 一种是文本查看 一种是列表 1.列表查看类 # listbox 显示数据 import tkinter class ListShowData: def ...

  10. SCRUM的四大支柱

    转自:http://www.scrumcn.com/agile/scrum-knowledge-library/scrum.html#tab-id-9 迭代开发 在Scrum的开发模式下,我们将开发周 ...