微信号:Kesciw

介绍:kesci.com - 科赛网,专业的大数据竞赛平台,帮助中国青年收获数据领域的伙伴和经验,锻炼数据才能,对接发展机会.

可视化丨看编程工具们神仙打架—— Stack Overflow 2018 调查报告(附源

2019-01-11 20:00 小科

没听过 Stack Overflow 的程序员,和咸鱼有什么区别。


这是 Jeff Atwood 和 Joel Spolsky 在 2008 年创建的 IT 技术问答网站,汇集了技术领域的各种问题。基本上,只要是你能想到的技术问题,就能在上面发现相关信息。

最近,Stack Overflow 针对它的数十万开发者进行了一项包含  129 个问题的调查,小科从其中挑了一些与我们息息相关的问题做了可视化探索。


数据集来源

参考 Stack Overflow 2018用户调研的结果报告, 从129个调查问卷问题中选取了15个问题进行了可视化的代码复现,从受访用户的当前现状、编程经验、热门的技能与工具、用户的生活习惯这个四个大方面选取各选取了一些内容来进行分析。


  • https://www.kesci.com/home/dataset/5b5892c3a711e6001093f577

  • https://insights.stackoverflow.com/survey/2018/#development-environments-and-tools


  总览  


Stack Overflow 的用户主要都是开发者(Developers),先来看看他们的总体情况。


地域分布


可以看到,共 20.309k 开发者在美国,是 Stack Overflow 用户中的大头;印度的 13.721k 开发者也很可观。


开发方向


据统计,Stack Overflow 上开发者的岗位共有 9568 个,小科一度以为代码错了还想 debug...原来他们之中,一些人只写了单一职位,另一些写了多个职位。


筛选后,我们发现单一职业共有 20 个。

排名前5的分别为:

  • 后端开发者(57.9%)

  • 全栈开发者(48.2%)

  • 前端开发者(37.8%)

  • 移动端开发者(20.4%)

  • 桌面或企业应用程序开发者(17.2%)


光后端开发者和全栈开发者加起来就超过 100% 了,可见当一个开发者还是要多几项技能啊。


再看看开发者很看重的开源精神和职业兴趣:

开源贡献

是否热爱 coding 


整个比例还是很高的,56.4% 的受访开发者曾经对开源项目做过贡献,80.8% 的用户将 coding 视为兴趣爱好。


  编程经验  


那 Stack Overflow 的用户中究竟是老兵多还是新手多呢?我们找到了这一个问题:不论何种形式,受访者有多少年的编程经验?


得到了以下结果:

大多数人拥有 3-8 年的编程经验,拥有超过 30 年编程经验的用户也不少,如果你在工作、学习中有技术上的问题,我想这群人是有能力解决的。


如果只论专业编程经验,我们得到了另一张图表:

0-2 年编程经验的人显著增多,占据了最高比例。可见,对于绝大多数程序员,自学是重要的成长武器之一


热门技能与工具


再探讨一下数据库环境,常用的共有21个:

'Amazon DynamoDB' 'Amazon RDS/Aurora' 'Amazon Redshift' 'Apache HBase'
'Apache Hive' 'Cassandra' 'Elasticsearch' 'Google BigQuery'
'Google Cloud Storage' 'IBM Db2' 'MariaDB' 'Memcached'
'Microsoft Azure (Tables, CosmosDB, SQL, etc)' 'MongoDB' 'MySQL' 'Neo4j'
'Oracle' 'PostgreSQL' 'Redis' 'SQL Server' 'SQLite'


我们用 plot.ly 得到了下面两张图:


开发者在2018年最常用的数据库环境


开发者希望在2019年使用的数据库


  • MySQL 稳占C位,无论是在过去一年的工作中还是未来期望,都是开发者心中的NO.1的数据库环境;

  • MongoDB PostgreSQL 分别成为开发者最想使用的第二、三名数据库环境;

  • Google Cloud Storage 成为一支潜力股,过去一年只有5.5%开发者使用它,但有13.1%的开发者表示希望未来一年可以经常使用;同样的情况也发生在 Microsoft Azure(Tbales, CosmosDB, SQL,etc) Amazon RDS/Aurora 身上。

  • 上升比例最高的还数 Google Bigquery,虽然2018年仅有2.1%的开发者在工作中经常用到它,但有8.8%的用户表示 Google Bigquery 是他们在下一年最希望使用的数据库环境。


编程语言


编程语言一直是大家关心的话题,这一块的竞争也是神仙打架,一起来看看开发者最常使用的编程语言又有怎样的变化了。


开发者在2018年最常用的编程语言

  • 接近7成的开发者最常使用脚本语言 JavaScript

  • 对比过往 6 年 Stack Overflow 的调查问卷,我们发现 Python 提升的速度很快,它不仅在去年赶超了 PHP 的排名,还在今年赶超了 C# ,已经有近4成的用户表示常在工作使用 Python;

  • Python号称是增长最快的主要编程语言



开发者在2018年最常用的框架、库、工具

  • Node.js Angular 的地位依然不可撼动,React .NET Core 对于大部分的开发者来说也依然重要。



开发者在2018年最常用的开发环境(IDE)

  • Visual Studio Code 成为第一最常用的开发环境,但开发环境的不同选择是由开发者的类型与角色的不同所决定的。 比如,

    • 移动应用程序(Mobile Application)编程的开发人员更偏向于选择Android Studio、Xcode来进行开发;

    • DevOps sysadmins 最常使用 Vim 来工作;

    • 数据科学家(Data Scientists) 更常使用IPython/JupyterRStudio来工作。



开发者在2018年最常用的操作系统

  • 近一半的受访开发者使用 Windows 系统,其次 MacOS 与基于 Linux 系统的开发者用户各占剩余份额一半。



开发者在2018年最常用的平台

  • Linux 是最常用的平台,Windows Desktop or Server Android 紧随其后。


  生活习惯  


依靠这份数据,我们还能探究一些奇奇怪怪(?)的问题,比如:


高产和吃饭哪个重要?

  • 小科身边很多朋友都觉得开发者特别忙,什么一日三餐吃泡面啊、夜宵就换火鸡面……但这次,小科拿起数据理直气壮地告诉你们:我们有在认真吃饭

  • 大多数开发者都不会为了高产而牺牲健康,只是偶尔会因为太忙而忘记。



工作日醒来时间

  • 一觉睡到大中午的开发者也确实不多,在工作日,有 72.4% 的开发者会在早上6点至9点间醒来,和大多数工作党的作息类似,这主要由他们的上班时间所决定。



  还可以探索  


除了上面这些问题,还有很多角度等你探索:

你还可以从受访用户的受教育程度、是学生亦或是在职、工作是全职还是兼职、薪资、工作以外的生活、未来的职业规划、编程的伦理道德、找工作等等很多切入点来分析开发者的画像。


小科先奉上项目源码,你可以参照这个,对你想探索的问题进行分析和可视化哦。


项目源码


点击“阅读原文”,查看源码

点击Fork,调教你的数据集


 
Kesci数据实践 更多文章 赛事丨创意已经备好,就等你用技术争夺五万奖金! 极简效率指南:数据分析师如何高效工作和提升自己 人工智能教育飞速发展,高校呼吁数据科学平台 可视化丨Top100 高校排名又变,他们是如何炼成的?(附源码) 当大数据遇上人工智能,企业转型需要从基础能力入手:数据科学平台kesci科赛网更名为和鲸科技
猜您喜欢 客户端自动化测试研究 Android逆向之旅---Android中的GG大玩家应用破解教程分析 白话 IT 之浅谈 ELK 日志系统 推荐一个神器:华为 OMF ! 云栖大会|新零售时代供应链的重“构”已经开始