Stack Overflow近期发布了《2019年开发者年度调查报告》,近90,000名开发者接受了本次调查。Stack Overflow对本次调查给出的关键结论是:
- Python成为2018年年度增长最快的语言。
- 超过一半的受访者在16岁就写下了人生第一行代码(因地域、性别而异)。
- DevOps工程师与可靠性工程师的薪资最高。越是资深的工程师,对当前的工作越满意,越不容易寻找新的工作。
- 中国开发者的乐观情绪占比最高,而法国、德国等西欧国家的开发者则垫底。
- 男性开发者认为非开发工作是影响效率的根因,而女性开发者则认为糟糕的环境是罪魁祸首。
- Stack Overflow能为开发者每周节约30~90分钟。
本次被调查开发者以美国、印度、西欧国家为主,中国的受访比例只占0.75%。所以,本次报告对现今中国开发者状态的参考价值不大。但是,我们可以从世界的潮流中学习并预测中国的软件开发的发展趋势。
笔者对Stack Overflow的关键结论颇有微词,故重新整理出关键结论:
- 全球范围内都存在中年危机,但欧美国家的中年危机出现在40岁之后,稍比国内普遍担忧的35岁略有增长。
- 全栈工程师的趋势越发明显。
- 成为开发角色的年龄进一步下探,同时越来越多的学生、独立开发者加入进来。
- 越是资深的开发者,对当前的工作越满意(或更容易满足),寻找下家的欲望更多(或者是更加不敢换工作)。
- 开发者接受过高等教育的比例提升,同时专业背景为计算机相关课程受到更多的青睐。
- 开发者中,男女比例约 12: 1。
- 开发者普遍对管理的工作或角色不感冒。
- 开发者的加班现象并不严重,平均每周约40~44小时为主流。
- 开发者的迷之自信,接近70%的受访者认为自己的能力超过平均水平,且仅不到10%的人认为自己处于平均水平以下。
- 管理者、可靠性工程师及DevOps专家收入最高,Clojure、Go、Scala等语言则成为收入领先的编程语言。
- 全球的开发都在吐槽:嘈杂的工作环境、会议多、与开发无关的任务。
1、开发者概述
1.1 开发角色分布
受访者中的50%是全栈工程师,他们中的17%同时还是移动开发工程师。平均每个受访者约3个角色,其中全栈工程师与前端开发、后台开发是最常见的配对,数据库管理员与系统管理员、DevOps专家与可靠性工程师、设计师与前端开发 也是高度关联的配对组合。
其中QA Or Test的占比约7.8%,此比例将会受到质疑,因为在开发者网站上的调查,其对测试领域的调查渗透是不足的。这就好如在TesterHome等网站上调查软件从业者角色一样,得出的结论可能是超过50%的受访者会从事测试工作。
1.2 程序猿猿龄
受访者中,以15年以下(超过82.4%)工作经验为主。每个年龄间隔的程序猿占比会逐步降低,说明随着工作年限的推移,开发者逐步被淘汰。不仅在中国,全球趋势都是类似的,中年危机无处不在,社会讲究的是优胜劣汰。
猿龄 表示 成为全职程序猿的年限。
1.3 开发者角色的平均猿龄
1.4 年龄分布
开发者的年龄集中在20~35岁之间,随着年纪的增长,被淘汰的开发者越来越多。
1.5 受教育程度
受访者大多接受本科及研究生学历教育(及部分辍学生),低于该学历的占比约6%。
1.6 大学专业
计算机相关专业背景的开发者占据的比例越来越高,说明计算机并不是大家普遍认为可以随意进入的领域。
1.7 性别
1.8 胜任力
接近70%的受访者认为自己的能力超过平均水平,且仅不到10%的人认为自己处于平均水平以下。
2、技术
2.1 编程语言受欢迎程度
被誉为世界上最好的语言并不是最欢迎的语言,排名设置有点靠后。
占据前面位置的HTML/CSS及SQL是不是语言值得商榷。
2.2 Web框架
jQuery是不是web框架值得讨论,起码与ASP.NET或Django不是一个级别的。
2.3 数据库使用
2.4 开发平台
2.5 开发环境
VS Code 威武!
2.6 常用操作系统
2.7 区块链应用
2.8 收入排行
3、工作
3.1 工作状态
3.2 公司领域
3.3 公司规模
3.4 对管理的预期
3.5 上次换工作时间
3.6 影响工作效率
3.7 代码评审比例
3.8 每周代码评审时长
3.9 单元测试
3.10 收入状况
3.11 工作时长
4、小结
本次的调查结果有值得我们参考的价值,值得我们学习。另外,从调查结果中,我们可以进一步梳理出开发技术的关系链,指引测试的进一步深入了解与实践。