测试领域还有发展空间吗?
今天看到一篇讨论测试职业发展的文章,原文比较中肯,我结合自己的经历,稍微发展一下,供大家参考。
常见的困惑
下面一些问题是测试人员的常见困惑。
- “我听说测试工作 10 年就到头了,我是不是应该转向开发或管理?”
- “我的经理建议说,成为管理者是测试职业发展的必经之路”
- “我感到困惑,不知道如何从 QA 自动化转型为 SDET”
- “测试是不是一个死胡同工作?这个领域真的有职业发展前景吗?”
职业阶梯
在国外,测试领域主要有 3 种角色。
- 测试工程师
- 测试开发工程师(SDET)
- 工程经理(EM)
其中测试和测试开发被定义为个人贡献者。
通常对个人贡献者有以下级别划分:
- 实习生、新手、入门级(0-2 年)
- 中级(2-6 年)
- 高级(6-9 年)
- Staff/主管级(8-12 年)(可能有直接下属)
- 架构师/首席(12 年以上)(可能有直接下属)
- …更高级别如高级首席/架构师、杰出工程师(比较罕见)
工程经理或者技术经理大概包含下面的级别。
- 工程经理(5-8 年)
- 高级工程经理(8-12 年)
- 总监(12-15 年)
- VP(副总裁)(15 年以上)
- SVP(高级副总裁)(15 年以上)
- GM(总经理)(15 年以上)
VP 及以上的职级通常只在大公司才有,但直到总监级别的职位却很常见。很多公司可能会根据职位需求和公司规模来设置职级上限。
在国内情况也差不多,无非就是个人贡献者的天花板可能是技术专家,技术经理的潜力可能更大一点。
晋升方式
大致来说,一般的晋升方式如下:
- 学习:在你的领域成为深度专家,确保你具备完成工作所需的技术能力,这可能涉及学习新技术、技术栈、编程语言或人际交往技能。
- 出色执行:你应该清楚理解自己在组织中的角色,与主管沟通确保双方对此有共识,然后去执行、执行、再执行。持续完成一个又一个项目,始终把客户放在心上,做到最好。确保你是团队中最优秀的 5%,努力在各个方面创造价值,成为团队的力量倍增器。
- 提前表现:关注你的下一级别职位的期望,并确保承担其中的一些职责。持续完成这些任务,展现出持续强劲的表现记录。绩效评估通常是滞后的,如果你已经在以更高级别的标准在工作,而且你的主管也不错,那么你很可能很快就会得到晋升。
- 寻求指导与传授:找到公司内部、本地区或全球最优秀的人,跟随他们。向他们学习,吸收他们的智慧。寻找导师,与他们讨论想法,然后回去实践并展示实际价值。你也应该把所学传授给身边的人,帮助他们提升。
在国内,可能还包含
- 运气。这里体现的是选择大于努力,加入一个业务好并且高速发展的团队,晋升的机会远远大于业务一般而且走下坡路的团队。
- 创新能力。国内其实非常卷创新的,测试需要晋升可能需要周期性的“搞事情”,落地一些高概念或者新技术就可能给管理者留下深刻的印象。
- 指标落地能力。能定指标,落地指标以及提升指标。其实就是换种方式去卷。
拓展领域
打怪升级不是职业生涯的全部。
你会发现,仅仅把薪酬、职称和职级作为成长的标准,最终可能会显得很肤浅。
请不要误解我的意思,这些确实很重要,你需要在这方面做得好。
✅ 你的生活和家庭都需要你这样做。我会鼓励你继续为此努力,确保你的付出得到应有的回报。
❌ 但这并不是唯一重要的事。
当人们说测试工作在 X 年后就到头了时,他们实际上是用职级阶梯作为唯一的成长指标,这种观点过于肤浅。
测试不仅仅是关于你的工作年限。
它是软件开发生命周期中的关键环节,没有它,任何软件都不应该上线。
忽视这一点将是愚蠢的。
这个领域有大量的广度需要探索,如果你想成为这个领域的大师,年轻的武士啊,你还有很多要学习和体验的。
让我试着给你展示一下我是如何思考这个问题的:
探索领域
我们可以将软件工程世界分为 6 个广泛的领域:
- 移动端
- Web 端
- 后端
- 基础设施
- 数据
- 机器学习/人工智能
每个领域都有机会在不同层次编写测试:
- 测试金字塔
- 单元测试
- 集成测试
- 端到端测试
更广泛的应用领域
- 工程效率
- 代码覆盖率
- 探索性测试
- 建设志同道合的同行社区
- 测试框架
- 测试基础设施
- 测试工具
- CI/CD
- 安全性
- 性能
- 可访问性
- 混沌/韧性工程
你可以将这三个方面进行组合,每种组合都是一个值得深入探索的独特方向。
例如:移动端测试基础设施、数据安全、数据性能、后端混沌/韧性等。
这是一个广阔的天地,等待你去探索。
工程技术能力
除了在上面的领域做排列组合之外,我们还可以探索更深层次的软件技能。
- 阅读代码
- 编写代码
- 理解编程原则
- 理解系统设计:数据库、队列、缓存、CDN 和网关是如何工作和扩展的,如何测试它们
- 构建解决方案
- 等等…
软技能
要成长为一个成熟的领导者,你还需要精炼的人际交往能力。
如果你是管理者或像架构师这样的领导者,这些都是基本要求:
- 与同事建立信任
- 推动跨职能项目
- 项目管理
- 强大的书面和口头沟通能力
- 同理心
- 服务型领导
- 通过一对一指导来培养他人
- 帮助他人的职业成长
- 在内部演讲、全体会议、聚会或会议上进行公开演讲
- 谈判能力
- 冲突解决
- 继任计划和消除团队中的单点故障
- 制定方向和战略
- 等等
未来展望
假设你已经在上述大多数领域都有所涉猎,但仍然感到困惑。
那么如何继续成长呢?
首先,恭喜你!🎊
我相信你已经进入了一个拥有这些全面经验的精英群体。
那么,
软件工程是一个庞大的领域。
如果垂直成长遇到了瓶颈,你可以考虑横向发展,转向不同的技能领域,比如开发工程师、产品经理、数据科学家、AI/ML 工程师等。
正如你所见,这个世界没有终点,总有无尽的挑战在等待着你,同时也伴随着丰厚的回报。
你能做的就是:
努力工作,享受乐趣,创造历史
这是亚马逊的座右铭,也是总结这篇博客的绝佳方式。
继续为你的客户提供卓越的价值,因为这才是真正重要的。
如果你的公司做得好,你也会做得好,你周围的领导也会很乐意分享更多的责任。
成长会自然而然地发生。
去努力吧,干得漂亮!