开题首先要说明,也是为了端正态度:程序员工资不必然和编程语言有必然的联系。编程语言是行业所影响的,而工资是非常个性化的,不仅跟自己的编程技术能力相关,还跟自己的其他综合能力,具体环境有关,比如你遇到一个慷慨与你很聊得来的老板。但作为开发者整体而言,编程语言的选择确实会影响到自己起薪和天花板,所以排行榜也可以作为辅助参考。
国外著名开发者社区Stack Overflow 对全球近 90,000 名开编程语言开发者发起调查,内容包括开发者的开发语言、薪资、工作经验(从业年长)、工作地区等信息,最后发布了2019年各编程语言从业者工资的整体水平报告。
编程语言与对应的平均工资排行
各编程语言对应的平均工资排行 从榜单来上看,大众语言全面垫底,小众语言独领风骚。最让大家意外的是常年占据编程语言排行版前三的C和Java在薪资排行版上居然是垫底的,但这不意味着C和Java就要凉凉了,也许正是因为热度高,所以吸引了大部分人学习和采用C和Java开发,从而拉低了整体的工资水平。同样意外的是一些小众语言异军突起,榜单前三是Clojure、F# 和 Go 语言。火的一塌糊涂的Python表现的中规中矩,前端较为常见的javascript和html之类的排名中下,只有TypeScript较高,这也说明前端开发者也是规模庞大。总体而言,集合这几年的编程语言排行榜,一个规律就是物以稀为贵,所以想入行的朋友也可以思考下要不要一位的追逐热门语言。
不同开发语言与工作年龄的关系
开发语言工作年龄的工资 图中可以看出,前8年挣钱挣得比较多的几乎集中于Web开发领域,大概在第9年,一些老牌的较为底层的语言逐渐显露出来,但工资水平也不会太高。最悲剧的是PHP,从世界上最好的语言一下子成为了世界上最便宜的语言,反而一些小众语言Go、Elixir、Scala工资水平高高在上,真是亮瞎眼。总体而言,与编程语言排行榜结果类似,只是这种表现更为明显,一些小众语言因为人少,有工作经验的就更少,所以导致有经验的小众语言从业人员的水平水涨船高。
不同开发岗位工作经验与薪资关系
主成分来看,薪资与工作年龄是正相关的。就工作岗位而言,与数据开发相关的工作薪资遥遥领先其他技术工种,这也与这几年大数据的发展密切相关。其次是Web开发,web开发不仅人数众多,薪资也还可以,比行业研究员和移动开发的工资都要高出不少,其中web全栈开发大于web后台开发大于纯前端开发。但随着工作年龄的增强,纯技术岗位的逐渐较少,较多的从事是产品经理、系统架构、数据库管理、运维、IT教育等岗位,其中运维相关的两个岗位SRE和DevOps最高。这个我们的提醒就是,靠纯技入门,但一定要保持学习,不断“上进”,35岁程序员的现象虽然没那么严重,但却是存在,工程师一定要有明确的发展路径和职业规划。
开发者过劳指数调查
报告中呈现的是作为编程行业从业者每周工作小时数的整体情况,这里就称之为疲劳指数了,基本符合正态分布。大部分人还是集中在5840的规律作业中,偶尔加加班,这也看出调查的取样我国的开发者样本还是少了点。我们的开发者过劳指数不可能这么完美的5840,看看前一段时间的996大讨论的怒气就知道了,如果这个不直白,你就看看程序员头上的发量就知道了。
我觉得我们可以来做一个不同语言开发者发量和薪资的关系调查!
程序员发量调查