经济寒冬放大了软件测试工程师职业危机,也加速推动了行业发展
自 2018 年底开始,随着经济发展下行,互联网中小型企业甚至行业巨头(包括京东、滴滴等)开始接连不断曝出裁员新闻,裁员比例普遍在 10-20%,波及所有岗位。过往快速扩张和火热招募的情景仿佛还在眼前,转瞬间却变得寒风入骨。美团创始人王兴在饭否转发了一段文字“2019 可能会是过去十年里最差的一年,但却是未来十年里最好的一年”,某种程度上也体现了企业家对经济形式的长期悲观和压力感知。
经济大环境不好,投资和业务盈利预期收紧,企业出于生存本能,会勒紧裤腰带,减员增效,即裁掉多数低端人才,保留或重新招募少数高端人才,让公司的运营成本、人力效率和业务质量达到最佳平衡点。尤其是,前些年互联网热潮红利造成 IT 技术人才平均薪资有溢价水分,企业人力成本高企,也让裁员成为过冬最直接有效的手段。
在软件测试领域,这一现象或许更为明显。为了降低人力成本,企业会更多的使用外包测试服务,而外包市场的发展壮大,又会进一步推动企业砍掉更多不必要的人力资源。外包公司本质上是通过廉价(或者说更贴合市场价值)的劳动力赚取人力成本剪刀差,也顺带挤破了部分测试岗位的薪资泡沫。所谓潮水涨起时你只看到人人都在高处,潮退时,你才知道谁在裸泳。
所以,当下可以看到测试行业有趣的人才现象:许多互联网企业尤其是大型企业在逐步大幅降低黑盒/功能测试工程师的全职比例,同时又在高薪招聘、补充具备更高技能水平的中高级测试开发工程师。甚至由于行业人才紧缺,有相当一部分研发工程师在转型成为测试开发和质量管理高级人才。
经济环境变化只是一个外部诱因,本质原因还是软件测试行业的人才结构和从业技能要求正处于快速变革的阶段。经济寒冬只是加速了这个奇点的到来。
工作被裁,面试被拒,这些都不可怕,可怕的是行业在发生巨变,而你却原地踏步
一方面,测试行业原有的瀑布流工作模式导致传统手工测试仍然占据主导地位,另一方面,随着云计算、大数据、AI 等新技术的高速发展,以及微服务架构、 DevOps 的流行,以自动化测试技术主导的测试体系正在快速崛起。
长远来看,手工测试虽仍具有不可替代的价值,但随着测试工作逐渐被开发人员分担、被自动化测试技术体系和质量平台接管,手工测试“点点点”占据的份额其实会越来越窄,无法支撑起一个单独岗位的技能要求。
未来的软件测试工程师和质量人员必须同时具备一定的开发和运维能力。测试人员会更深入介入开发工作,通过测试左移,提前与开发人员一起制定测试计划,推动代码评审、代码审计、单元测试、自动化冒烟测试、测试精准化分析以及研发自测等来保证研发阶段的质量;另外,测试人员会也会参与配置部署,将自动化测试用例配置到持续交付链中,并通过测试右移,全流程监控发布后的应用质量。总之,作为 DevOps 关键角色,测试人员将推动开发和运维共同实现高效交付高质量产品的目标。
TesterHome 社区软件测试行业 2018 年度调研报告
当前测试阶段的众多测试流程能有效直接的保证产品的验收质量,合理的资源分配和安排能让测试价值输出更大,这是过去测试行业很多年积累下的经验结晶。而研发阶段的质量保证手段能够对阶段性的工作的产出进行有效的评估度量,从而能更早的发现问题,有效的提升产品质量。
但过去几十年的测试行业一直没有很好的对测试工作进行有效的数据化建设,导致测试工作一直处于价值浪费的状态。在自动化测试技术和当代的数据分析科学,尤其是 AI 技术的蓬勃发展下,测试工作将迎来新机遇,发挥出过去实现不了的更大价值。
作为测试行业从业者,你是在原地踏步,还是未雨稠缪?面对未来变化,你做好准备了吗?
打造更高质量的软件工程能力是互联网科技企业的核心竞争力
互联网+时代,软件测试和质量保障人员面对逻辑复杂而迭代加速的企业业务要求,必须不断升级技术和管理水平,才能长久的保证企业业务核心竞争能力。这是所有互联网企业尤其是动辄亿级用户的大中型公司所面临的严峻挑战。
2019 年初,华为任正非公开信《全面提升软件工程能力与实践,打造可信的高质量产品》宣布华为决定投入 20 亿美元全面提升软件质量,刷爆了 IT 技术人朋友圈。华为这一呐喊可谓振聋发聩,宣示当下互联网企业竞争已经进入拼技术实力的「硬核时代」。
随后,阿里、腾讯、小米等互联网巨头纷纷跟进,在完成各自史上最大规模组织架构调整之后,技术和质量保障委员会的重要地位都进一步凸显,对质量人才的争抢也日趋激烈。
互联网大厂 BAT 想要的测试人才能力画像
当前一线互联网大厂对不同职级测试开发工程师的能力要求可以参考下图:
对应的 BAT 薪资待遇可参看下图(仅供参考):
给测试同学的一点建议
对于测试行业同学的整体建议就是快速明确自己的职业方向,提升核心竞争力:
- 技术能力:编程能力、自动化测试技能(UI 自动化、接口自动化)、CI/CD、架构能力
- 领域知识:业务领域知识、数据管理意识、业务架构能力
- 编程语言:Java、Python、Shell、SQL
- 软实力:项目管理、沟通能力
- 职业选择:首选名企、大厂、一线城市
- 学历(学历建设是长期的事情)
- 非本科的需要注意提升学历
- 本科以上的同学注重能力和项目履历
人生如逆水行舟,不进则退。测试同行尤其是传统和初级测试工程师应积极应对行业变化,把握好时间窗口期,努力提升技能,达到行业发展对测试人才的更高要求。(end)
作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:程序员二黑】自提!