大家好,我是测试奇谭的作者谭叔。
自开通博客以来,我被问及最多的问题,便是:
……
针对以上问题,谭叔写过文章介绍,也做过线上分享,你可以翻翻之前推送的文章。
但我总觉得还差个东西——软件测试的职业环境。
就我个人来说,我每隔一段时间(或半年、或一年)便会审视、总结软件测试职业,给自己的未来一个交代。
最近,借金三银四招聘旺季的契机,我爬取了某招聘网站 8483 条测试工程师的用人需求,通过分析这些数据,跟大家讲一讲软件测试的职业环境。
具体请看:数据爬取、数据清洗、数据分析
我不喜欢重复造轮子,在分析之前,我依旧在网上浏览,却发现并无多少博主通过分析招聘需求来研究软件测试。
因此,我找到了尘封在我资料库里两年的代码(两年前 ,我在做职业抉择时,做过类似的分析)。
但却发现,两年过去,招聘网站进步了不少——反爬虫机制成熟,一些关键数据,已无法通过正常手段获取。
可我还是不想重复造轮子,但在网上能找到的爬虫脚本,也无法使用。
于是乎,我花费了两个下午的休息时间,仔细研究了该网站的反爬虫机制,加上一休老师的灵光一闪。最终,我成功找到该网站的后门,爬取到了我需要的所有数据。
计,8483 条测试工程师的招聘需求。
我设计了两张表,一张 position 表,用于存储岗位信息,如薪资、公司规模、年限要求、学历要求等。
一张 info 表,用于存储岗位描述,如岗位职责、岗位要求。
01 去重
我 group by 了下 position 表的数据,发现数据有不少重复值。去重后,只有 7650 条,足足少了 833 条。
在确保爬虫脚本无误的情况下,我检查了数据的 create 时间点,再次排除脚本问题,并且排除动态页面刷新导致的重复(比如,岗位编号 123,原本在第 2 页,但因为岗位新增,可能跑到第 3 页去了,造成数据重复记录)。
最终,我猜测:该招聘网站的岗位总数,可能有水分。
但此为个人猜测,并且不是本篇文章的重心,故看看就好。
02 清洗 position 表(职位信息)
我选取关键字段做分析,并分别要处理:
positionName 岗位名称:去关键词,获取一些定制岗位的招聘数量(如性能测试工程师、自动化测试工程师、测试开发、测试主管等)
salary 薪水:取上下限
salaryMonth 能拿到的薪水月份 (年终奖):获取枚举值
workYear 工作年限:获取枚举值
education 教育程度:获取枚举值
positionAdvantage 岗位福利:提取关键词,做词云分析
companySize 公司规模:获取枚举值
financeStage 公司融资情况:获取枚举值
industryField 公司行业:提取关键词,做词云分析
companyLabelList 公司福利:提取关键词,做词云分析
city 城市:获取枚举值
district 区域:获取枚举值
03 清洗 info 表(职位信息)
将爬取到的汇总数据,拆分成:
work_duty 岗位职责:提取关键词,做词云分析
work_requirement 岗位要求:提取关键词,做词云分析
因谭叔本人在成都工作,故此篇文章,我只会放上成都的测试岗位(550 条招聘需求)分析。
如果你需要查看其它城市的分析报告,可搜索同名公号,在后台回复地区即可获取。
01 招聘岗位分析
①招聘需求
在招聘的岗位名称上,自动化、测试开发等关键词的比例为 17%,但真实的占比不止 17%(一些企业在招聘时并不会打上自动化、测试开发等标签,但实际却需要此类技能)。
你觉得高吗?悄悄告诉你,北京、杭州是 40%。
其次,测试开发的招聘需求明显大于自动化测试——毕竟,掌握了测试开发技术,再做自动化测试并不是什么难事。
so,还没学自动化技术、测试开发技术的小伙伴,赶紧行动起来,未来这个比例只会更高。
此外,专职的性能测试、安全测试,依旧是小众需求。
②岗位职责
什么是词云?由词汇组成类似云的彩色图形。某词汇出现次数越多,则在词云上显示最大。
测试工程师的岗位职责,仍旧以产品为主:理解产品需求、对产品进行、发现产品缺陷、确保产品质量等关联词,出现频次最高,近 6 成的公司有此基础要求。
此外,近 5 成的公司,要求自动化技术,4 成的公司,要求求职者具备独立工作的能力。
结合上一个分析 & 两年前的职责数据,我们能看出:测试在向全技能型人才(自动化、开发、性能测试等技术)发展。
关键词出现的频率,如下:产品 61.03%、自动化 45.06%、负责 40.68%、问题 29.28%、执行 28.33%、分析 28.14%、质量 27.19%、编写 27.00%、开发 25.48%、性能 25.48%
③岗位要求
经验,经验,经验,重要的事情说三遍!丰富的测试经验,带来的更加优秀的迁移能力,快速发现问题、定位问题的能力……懂者自懂,不再强调。
软技能方面,沟通能力、学习能力、分析能力,符合测试工程师岗位的客观规律。
关键词出现的频率,如下:经验 111.98%(一个岗位要求里可能有多个经验关键词,故超过 100%)、沟通 34.79%、项目 34.60%、流程 34.22%、产品 33.84%、技术 32.13%、学习 31.56%、测试工具 29.85%、分析 26.24%
02 福利分析
①年终奖
从数据可以看出,近 6 成的公司没有年终奖(数据不绝对,此数据挂靠在薪水上,不排除无法挂靠的项目/绩效奖金,或者部分企业未填写此字段),愿意给年终奖的公司占到 4 成,以 13-15 薪为最大占比。
那么,年终奖大于 15 薪的是哪些神仙公司呢?
给出 18 薪的,又是哪家神仙公司呢?
一家培训机构,真香。
②岗位福利
在岗位福利上面,我们可以看出:五险一金、周末双休、带薪年假、团队 nice等为测试工程师这个岗位的高频福利,和其他技术岗没多大区别。
关键词出现的频率,如下:五险一金 23.45%、周末双休 14.00%、带薪年假 10.36%、团队好 8.91%、六险一金 6.73%、弹性工作 6.18%
③公司福利
在公司福利上面,近 3 成的公司愿意给带薪年假,其次,节日礼物、定期体检、技能培训等福利出现的频次相对较高。
关键词出现的频率,如下:带薪年假 29.27%、节日礼物 17.27%、定期体检 12.73%、技能培训 12.36%、年底双薪 12.18%、股票期权 12.00%、岗位晋升 11.64%
01 公司规模与学历的关系
从图中得出的结论:大公司对学历的要求更高,专科生进大公司的路相对较狭窄。
02 公司规模、融资情况与薪水的关系
什么是箱型图?一种用作显示一组数据分散情况资料的统计图,有上边缘、下边缘、中位数和两个四分位数。
什么是四分位数?指在统计学中把所有数值由小到大排列并分成四等份,处于三个分割点位置的数值。
还是不懂?了解最少、最大、中位数三个值即可。
公司规模越大,薪水越高。所以,想提高薪水,进大公司是一种选择。
天使轮和 D 轮 + 的公司,更愿意给出高薪职位。毕竟这两个阶段是公司快速冲刺的阶段。
03 工作年限与薪水的关系
抛开应届毕业生不谈(大公司开高价招聘应届生,不具备统计学意义),其余数据符合社会客观规律。
你可以根据以下数据,对比自己的薪资是平均别人还是被别人平均。
不限:最少 3k,最大 7k,中位值 3.7k,Q1 3k,Q3 6.4k。最少、最大、中位值趋近且中位数靠近 Q1,说明大部分岗位薪水在 3.7k-7k 之间。
1 年以下:最少 4.5k,最大 32k,中位值 8.5k,Q1 6.7k,Q3 11.5k。中位值趋近 Q1,说明有更多高薪选择,意味着摇摆更大,择业容易出现特别明显的分水岭。
1-3 年:最少 6.5k,最大 37k,中位值 12.5k,Q1 10k,Q3 15.5k。中位值稳定,该中位值能代表平均水平。
3-5 年:最少 2.5k,最大 44.5k,中位值 18k,Q1 13.5k,Q3 22.5k。同上,中位值稳定,该中位值能代表平均水平。
5-10 年:基本不走简历投递招聘模式。
04 学历与薪水的关系
学历方面,本科(及以上)与专科,在薪水方面,差异明显。
本科:最少 1.5k,最大 44.5k,中位值 11.5k,Q1 8.5k,Q3 15.5k
大专:最少 2.5k,最大 22.5k,中位值 7k,Q1 5.5k,Q3 9.5k
硕士:最少 1.5k,最大 32.5k,中位值 11.5k,Q1 6k,Q3 15k