首页 > 编程语言 >Stack Overflow 2017 开发者调查报告(程序员必看)

Stack Overflow 2017 开发者调查报告(程序员必看)

时间:2023-05-21 15:06:01浏览次数:42  
标签:web 缩进 必看 学习 程序员 开发者 Overflow 空格 Stack


最近,Stack Overflow 发布了一篇 2017 开发者调查报告,此次在全球有超过 64,000 名开发者参与调查,分别对其技能、工具、学习趋势等数据进行了统计,比较遗憾的是中国参与调查的开发者很少,只有大概 300 人左右,所以有些调查结果可能跟中国环境不太相符,不过毫无疑问,这几乎代表了全球技术的趋势,这份数据有很多有意思的点值得我们关注。

做技术的,我个人一直认为一定要时刻关注趋势,因为这个时代变化太快了,技术的更新日新月异,做技术的尤其不能固步自封,我们要以一种开放的心态,来拥抱变化,为未来做准备,那么今天,我就以我个人的角度,来带大家解读下这份报告,值得一提的是,这份报告涉及的方面很多,我只挑一些大家比较关心的报告进行解读。

1. 哪种人才最紧缺?

这次受访的开发者中有将近四分之三竟然都是 web 开发,其次是桌面开发和移动开发占比最高,这个结果其实蛮有意思的,我们一直都说我们已经从 PC 时代过渡到移动时代了,但是移动开发者数量依然是比 web 开发和桌面开发少不少的。

这让我联想到了之前的一份互联网趋势调查报告,调查结果是人们对手机的使用时间一直在高速增加,然而 PC 的使用时间并没有下降,而是平缓维持,也就说,手机其实并没有吞噬 PC 的使用时间,而是吞噬了人们的闲暇时间而已。

不过从另一个角度来看,web 开发的岗位需求还是大,市场上 web 开发的人才供给量也是很大的,不过物以稀为贵,这意味着竞争也更加激烈。我们看下最近比较热门的人工智能、机器学习岗位只有 3.8% ,所以人才非常紧缺,而且这是未来的趋势,还在读书的同学,尤其是那些算法、数学基础比较好的同学,建议考虑下机器学习的方向。

对了,Stack Overflow 又做了进一步调查,web 开发中有 63.7% 的比例是前后端通吃的全栈,如果你是 web 开发,但是不是全栈,你都不好意思说你是 web 开发,而且要小心了,未来很可能竞争压力会非常大。

2. 哪种岗位与编程语言工资最高?

我想大家比较关心工资的问题,尤其对于很多还没工作的同学来说,肯定是想着未来哪个方向工资高就干哪个方向,那么下图就来告诉你到底哪个岗位工资高:

可以看到移动开发的工资几乎垫底,足以说明移动开发实际上已经没有那么抢手了,而 DevOps 与机器学习是工资最高的,DevOps 是近几年刚兴起的一个职位,是介于开发、运维和测试三个部门之间的一个部门,感兴趣的可以自行搜索了解下,机器学习的抢手我就不需要再强调了。

另外,如果按照编程语言划分的话,到底哪种编程语言工资最高呢?

可以看到,相对来说 Rust、Go、Scala、Ruby、Python 这几种近几年较流行的语言工资较高,这几种语言的开发人员也最年轻,另外,必须要提的是,这世界上最好的语言 PHP 工资排名垫底,所以如果想要面向工资编程的同学,PHP 可以从你的学习清单中剔除了。

3. 想自学编程,该通过哪种方式学习呢?

如果你想学习编程,但不知道从哪下手? 那么这份调查报告告诉你该如何学习编程。

调查结果显示,有 64.7% 是通过一些在线课程、视频学习的,49.9% 是买书学习的,31.9% 和 31.5% 的比例分别是通过业余时间的课程以及参与开源项目学习的,不得不说,在线教育的普及程度比我们想象的要大,现在这个时代,如果你想学习编程甚至其他知识,完全可以通过一些在线教育网站的课程来学习,一些线下培训机构死贵、没效率而且没法保证课程质量,只不过在线学习这种理念在中国很多人还没法接受,但这是未来的趋势,我个人建议,以后想学习编程,直接买本书,然后购买一些在线教育的课程,可以充分利用自己业余时间的同时还能培养自己的自学能力,我很看好在线教育,我认为线下的培训应该会被淘汰,大家以后可以在家就学习到全球各种各样的知识与技能。

4. 哪种编程语言最流行?

JavaScript 连续五年夺得流行的编程语言,不过不意外,毕竟 web 开发者这么多, SQL 再次占据第二位,Java 第三。 值得一提的是,Python 增长势头很猛,在五年内首次超过了 PHP。

另外,Python 的势头可能还会更猛,因为这次 Stack Overflow 有一项调查是「你最希望使用哪种语言」,调查结果显示 Python 在今年居守,而去年仅仅第四。

5. 大部分程序员都在什么行业?

超过 50% 的程序员在软件、互联网、以及金融三个行业上班,这个结果有点没想到,没想到金融行业对程序员吸引力也这么大,不知道这个结果适应于中国不。

6. 女性程序员在全球范围内都是稀缺物种。

调查显示,全球范围内只有 7.6% 的女性开发者,不得不说,不止中国,全球范围内程序员还都是以男性为主,如果你的公司有女性程序员,好好珍惜吧!

7. 程序员都是吃青春饭?

假设我们姑且认为写程序能写 10 年吧,那么这次对专业程序员工作经验的调查结果显示,10 年以内工作经验的程序员占比 74%,这份结果显示 20 年以上工作经验的程序员竟然占比 7.5%,不得不说国外环境跟国内不一样,如果把这部分也去除的话,超过 10 年以上的程序员只占比 18.5%,所以,不得不说,国外写代码的中坚力量依然是年轻程序员,国内的话程序员可能还会更年轻,竞争压力更大,如果你已经工作十年以上了,还在写代码,这本身没有错,有些人就是热衷于写代码,但是这部分人在企业工作的话不得不面对年轻人的冲击与竞争。

8. 你还没有在使用 Git?

在代码的版本控制工具调查这项,结果显示 69.2% 的人都在使用 Git,如果你还没有使用 Git,那么你所在的企业难免有点技术落伍。

最后,Stack Overflow 的开发者调查报告内容很丰富,涉及到开发者的方方面面,我也只是挑了一些我认为的大家比较关心的结果进行了解读,想查看全部报告的可以点击阅读原文。

另外,再给大家说个非常有意思的报告,这次报告挖出了一份数据:「使用空格缩进的开发者比使用 TAB 缩进的开发者工资更高」,是不是觉得有点扯?以下是调查截图:

其实看似很扯,但是我觉得有道理,我们知道我们在写代码的时候,为了使代码可读性更好,经常需要缩进,但是不同的人的缩进的习惯不一样,有的习惯用 tab 有的习惯用空格,但是你知道这俩的区别么?其实使用 tab 缩进最大的问题是可能不同的平台、不同的编辑器设置,都可以代表不同尺寸的空格,也许在你这边 tab 代表 4 个空格,而到了别人那里就成了 2 个空格,这就会导致代码格式不一致了,而使用空格缩进则没这个问题。

其实这个对于一些使用 IDE 的同学不是什么大问题,一般 IDE 回车键会自动换行缩进,但是如果你用一些轻量级的编辑器,如 vim、sublime、atom 之类的,就会遇到这个问题,我之前做 Ruby 的时候使用 sublime 我们团队内部就默认使用空格缩进,并不是说你现在把 tab 缩进习惯改成空格工资就高了,这个调查结果说明,那些注意这种细节的开发者,往往在其他地方依然会这么细致,这种工作态度是他们比别人高薪的本质原因。

最后,以上就是我针对 Stack Overflow 2017 开发者调查报告的一些个人解读,希望对广大开发者有所帮助,如有不认同之处,欢迎交流。

公众号 AndroidDeveloper


标签:web,缩进,必看,学习,程序员,开发者,Overflow,空格,Stack
From: https://blog.51cto.com/stormzhang/6319433

相关文章

  • 使用MASA Stack+.Net 从零开始搭建IoT平台 第四章 4.2使用时序库存储上行数据
    目录前言分析实施步骤时序库的安装解决playload没有时间戳问题代码编写测试总结前言我们可以将设备上行数据存储到关系型数据库中,我们需要两张带有时间戳的表(最新数据表和历史数据表),历史数据表存储所有设备上报的数据,最新数据表需要存储设备最新一条上报数据,这条最新数据相当......
  • 使用Ansible OpenStack SDK创建OpenStack云主机
    安装OpenStackSDKpipinstallopenstacksdk安装Ansiblepipinstallansible创建一个Ansibleplaybook文件,例如create_instance.yml,并添加以下内容:----hosts:localhostgather_facts:notasks:-name:Createaninstanceos_server:state:p......
  • overflow 出现滚动条 内容无法铺满
      如图:背景色是没有完全铺满的,现在使用的属性是:overflow:scroll改为overflow-y:overlay;即可......
  • 使用Ansible OpenStack SDK获取OpenStack的云主机列表
    1、使用Ansible的os_server_info模块可以获取OpenStack中所有云主机的列表。在使用该模块之前,需要确保已经安装了OpenStackSDK。以下是使用os_server_info模块获取所有云主机列表的示例AnsiblePlaybook:-name:Getlistofallservershosts:localhostgather......
  • HTB ACADEMY-Stack-Based Buffer Overflows on Linux x86 WRITE UP
    WewereabletogainSSHaccesstoaLinuxmachinewhosepasswordwasreusedbyanothermachineduringourpenetrationtest.Onthismachine,wehaveastandarduser"htb-student"whocanleaveamessagetotheadministratorusingaself-written......
  • openstack queen版本的安装案例
    一.基本环境描述操作系统采用ubutun16.04,系统最少8G内存,80G硬盘,控制节点和网络节点部署在同一个host,计算和控制节点采用双网卡。参考install.guide手册的第二种网络模型。Blockstorage和objectstorage不做部署。拓扑图中的地址要根据实际的环境进行相应的替换。provider网络部......
  • Openstack4j best practice-Multi Thread Token Sharing
    Openstack4jMulti-threadTokenSharingAuthor:slankkaCountry/Region:ChinaMainlandLanguagesskills:EnglishbutnotwellKeywordsCloudVirtualMachinePaasOpenstackMulti-threadingBackgroundWearebuildingaVirtualMachinePlatformasPaas,th......
  • 使用MASA Stack+.Net 从零开始搭建IoT平台 第四章 4.1处理设备上行数据-获取并通知业
    目录前言分析方案共享订阅带群组的共享订阅均衡分发策略数据格式实施流程编写代码验证效果总结前言物联网平台首先需要可以获取并处理设备上报的MQTT中的数据,我们称这部分为上行数据。本章将分为三小节。1、通过MQTT获取设备上报数据并通知业务系统2、业务系统存储和处理上......
  • openstack的用户(user), 租户(tenant), 角色(role)概念区分
     用户身份管理有三个主要的概念:用户Users租户Tenants角色Roles1.定义这三个概念的openstack官网定义(点击打开链接)1.1用户(User)openstack官网定义User为“InOpenStackIdentity,entitiesrepresentindividualAPIconsumersandareownedbyaspecificdomain.InOp......
  • docker compose fullstack example -- keycloak web grant-type: password
    fastapi-react-postgres-keycloak-ssohttps://github.com/fanqingsong/fastapi-react-postgres-keycloak-sso version:"3"services:nginx:image:nginx:1.17volumes:-./nginx/nginx.conf:/etc/nginx/conf.d/default.conf-./log......