Java开发者薪资最低?程序员只能干到30岁?国外真的没有996?Intellij真的比Eclipse受欢迎?
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开发者赚钱最少这件事情,你有什么看法呢?
好了,以上就是这份报告的解读,如果你有什么想说的,欢迎留言。
往年报告分析:
高效学习新技术的10种方法——总结自StackOverflow 2017开发者调查
Java开发者薪资最低?程序员只能干到30岁?国外真的没有996?Intellij真的比Eclipse受欢迎?的更多相关文章
- Java常用排序算法+程序员必须掌握的8大排序算法+二分法查找法
Java 常用排序算法/程序员必须掌握的 8大排序算法 本文由网络资料整理转载而来,如有问题,欢迎指正! 分类: 1)插入排序(直接插入排序.希尔排序) 2)交换排序(冒泡排序.快速排序) 3)选择排 ...
- Java 常用排序算法/程序员必须掌握的 8大排序算法
Java 常用排序算法/程序员必须掌握的 8大排序算法 分类: 1)插入排序(直接插入排序.希尔排序) 2)交换排序(冒泡排序.快速排序) 3)选择排序(直接选择排序.堆排序) 4)归并排序 5)分配 ...
- java 书籍推荐 JavaEE程序员必读图书大推荐
java 书籍推荐 JavaEE程序员必读图书大推荐 转自:http://www.cnblogs.com/xlwmin/articles/2192775.html 下面是我根据多年的阅读和实践经验,给 ...
- 在Java大环境下.NET程序员如何夺得一线生机
先来看一组数据,从某招聘网站直接检索3-4w的岗位,会看到Java与.NET社会需求量的巨大差异,这里就不再对比高薪的岗位了,.NET的高薪岗位更是少的可怜: 笔者从业十余年,一直是在.NET圈子 ...
- 程序员应该知道的几个国外IT网站
程序员应该知道的几个国外IT网站 摘要:文中总结了几个常用的国外IT网站,下面列举出来供大家学习参考: 导读:文中总结了几个常用的国外IT网站,下面列举出来供大家学习参考: 1. TheServe ...
- 少走弯路,给Java 1~5 年程序员的建议
参考:https://www.jianshu.com/p/5681a1f0aad6 今天LZ是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍.这一部分的内 ...
- 为什么用 Java:一个 Python 程序员告诉你
这篇文章专门给程序员写的,普通读者慎入.原作者:Kevin Sookocheff 译者:Celia Zhen,原文点击文末链接. 每当我告诉别人我一直在用Java工作时,大家的反应都是: “纳尼!Ja ...
- 【黑马18期Java毕业生】黑马程序员Java全套资料+视频+工具
Java学习路线图引言: 黑马程序员:深知广大爱好Java的人学习是多么困难,没视频没资源,上网花钱还老被骗. 为此我们历时一个月整理这套Java学习路线图,不管你是不懂电脑的小 ...
- 在培训机构花了好几万学Java,当了程序员还常被鄙视,这是招谁惹谁了?
在之前的文章中说过,我是非计算机专业,通过参加培训进入程序员这行的. 入了程序员这行后,挺长一段时间在亲戚朋友中,我还是挺有面子的:家族里的第一个程序员,工作不用风吹日晒,收入比其他行业高不少,尤其是 ...
随机推荐
- 搭建本地的idea激活服务器
前言 博主用的是idea这个IDE,因为最近idea官方打击第三方激活服务有些严重,所以我的idea经常处于今天可以用,到了明天就不能用的状态,所以,从idea激活的网站找到了本地的id ...
- Okhttp3源码解析(1)-OkHttpClient分析
### 前言 上篇文章我们讲了[Okhttp的基本用法](https://www.jianshu.com/p/8e404d9c160f),今天根据上节讲到请求流程来分析源码,那么第一步就是实例化OkH ...
- P2746 [USACO5.3]校园网Network of Schools tarjan 缩点
题意 给出一个有向图,A任务:求最少需要从几个点送入信息,使得信息可以通过有向图走遍每一个点B任务:求最少需要加入几条边,使得有向图是一个强联通分量 思路 任务A,比较好想,可以通过tarjan缩点, ...
- CodeForces - 534B-Covered Path+思路
CodeForces - 534B 题意:给定初始和末尾的速度,和最大加速度和总时间,求出走的最长路程: 我一开始以为代码写起来会很繁琐... #include <iostream> #i ...
- CodeForces 939E Maximize
Maximize 题意:整个程序有2种操作,操作1将一个元素放入集合S中,且保证最新插入的元素不小于上一次的元素, 操作2 找到集合S中的某个子集合, 使得 集合中最大的元素减去平均数的值最大. 题解 ...
- Gym 101482 题解
B:Biking Duck 题意:现在有一个人要从(x1,y1)点走到(x2,y2)点, 现在走路的速度为v. 还有骑自行车的速度v2,自行车要从某个自行车站到另一个自行车站,现在我们可以视地图的边界 ...
- WPF 字体图标样式
1.在网上下载Font ICO 字体字体压缩包 Font Awesome 矢量图标库 2.下载到的压缩包,解压后获得图标字体文件 3.然后把字体文件夹拷贝到项目中,目录为(/fon ...
- Spring Cloud Alibaba | 微服务分布式事务之Seata
Spring Cloud Alibaba | 微服务分布式事务之Seata 本篇实战所使用Spring有关版本: SpringBoot:2.1.7.RELEASE Spring Cloud:Green ...
- win10 设定计划任务时提示所指定的账户名称无效,如何解决?
我想把我的 python 爬虫脚本设定为自动定时执行,我的设备是win10 操作系统,这将用到系统自带的计划任务功能.且我希望不管用户是否登录都要运行该定时任务,但在设置计划任务的属性时,遇到一个报错 ...
- 锁和synchronized
锁的常见概念 互斥: 同一时刻只有一个线程执行 临界区:一段需要互斥执行的代码 细粒度锁: 用不同的锁对受保护资源进行精细化管理. 细粒度锁可以提高并行度,是性能优化的一个重要手段 死锁 :一组互相竞 ...