软件测试|测试专家(前阿里 P8)聊测试职业发展常见瓶颈
本文整理自 资深测试技术专家(前阿里 P8)刘**老师在「测试大咖在线沙龙」上的分享精华部分,完整演讲内容( 4 个经典案例+8 个关键问题+100 个互动答疑 ),请扫描文末二维码。
我在测试行业工作有十多年了,由于工作经历中曾面试过很多测试工程师(粗略统计在 1000 人以上),见过各种各样的应聘者,也一直在关注和思考这方面的问题。之前写过一篇**《再聊一聊测试职业发展》的文章,引发了业界同学的讨论。今天就以更加 FreeStyle 的互动形式,简单分享一下如何突破测试职业发展的常见瓶颈?**
如何定义“瓶颈”?
对个人发展来说,“瓶颈”一般用来形容事业发展中遇到的停滞不前的状态,这个阶段就像瓶子的颈部一样是一个关口,如果没有找到正确的问题所在就有可能一直被困在瓶颈处(参考百度百科)。
我选取了几个面试中遇到的真实案例,算是有一定代表性的测试职业常见瓶颈。
测试职业发展常见瓶颈实例
案例一
35 岁应聘者,某知名外企工作 9 年,是一个测试小组组长,因为企业效益非常不好正在裁员,所以出来找工作。
面试过程中发现:除了手工测试,基本上什么也不会做了,因为企业把工具封装的太好了;测试管理工作也未经过任何挑战,因为原来的流程太标准了;没有过测试架构方面的思考,因为一直是一个齿轮,只不过是被顺滑的安排到了一个运行流畅的系统上。
**点评:**不知不觉间就成为大公司的螺丝钉。个人对操作流程很熟但是对原理的思考不够。在外企标准的 Scrum 流程下,每个人都各司其职,日常工作配合是没问题的。至于为什么这么做?好处是什么?遇到的挑战有哪些?这些都讲不出来,导致对技术/管理的理解不深入,真正遇到问题的时候就会发现其实是没有能力解决的。再出来找工作就会非常痛苦。
案例二
33 岁应聘者,11 年工作经验,跳槽 7 家,包含 3 家外包公司。
面试过程中发现:做过很多行业,但业务知识都没有钻进去;使用过很多工具,好几种语言,但都是皮毛,深问一点,就回答不上来了;带团队没有太好的经验,因为换团队太频繁,未与一个团队产生过深入的互动。
**点评:**十年以上工作经验,经历过多个领域(银行、电商、在线教育),却都不深入,没有构建好技能矩阵壁垒,比较可惜。
案例三
小 A,工作 9 年,换了 3 家公司,一直处在基层,做得工作越来越没有挑战,觉得迷茫,不知道该提升什么,下一步该怎么走。
**点评:**不少同学都会经历这种状态,就是工作也能胜任,绩效也还不错,但是觉得工作很没意思,内心感到迷茫,也没有清晰的进阶方向。是要跳槽,还是继续待在这里?没有明确的 idea。
案例四
小 B 是一个技术非常好的同学,也很出活,但很缺乏自己的主见,几乎全部是被动响应工作。给他带人,基本上全部不愿意跟着他。
目前有一个升职为测试架构师的机会,他觉得他技术很好,应该晋升。但最后并没有被晋升。
点评:为什么技术很好,却没有被晋升?
虽然客观上技术确实很好(团队公认),但是工作上被动响应居多,至于团队技术上还缺什么?下一步该如何往下走?其实是没有自己的想法的。另外,也不能帮助别人成长,没有带人的这种感觉(对下属是野生放养型领导),不能带人带团队拿成果。
架构师不是一个放在那里做摆设的图腾。架构师给企业带来最大的价值是有能力解决问题,而且这种问题通常都是很有挑战性的复合性问题,比如技术、流程、团队的因素等搅在一起。这时候你就会发现一些能力很重要,比如与人沟通的能力、项目管理的能力、推动事情往前走的能力、冲突解决的能力、当然技术能力也很重要(前期技术选型、约定技术路线、找到技术突破点并解决难题等等),整合起来就是一个非常综合的能力要求。
光技术好其实是“瘸腿”的,是不足以支撑架构师这个职位的。
以上,由于时间仓促,就挑了这四个例子。
其实每个人都会有自己的瓶颈、短板,或者说是盲点(不知道自己不知道)。最重要的是要找到正确的问题所在,才能有办法去突破。
如何突破职业发展瓶颈?
先问自己 3 个问题:
你想要的是什么?
你满意现在的职业状态么?
什么决定你的升迁、加薪?
职业发展其实是一个很大的话题,第一个问题,弄明白自己真正想要的是什么,这是一个最根本的问题。举个例子:
有的人家里有矿,资产上亿,工作收入对他就没那么重要
有的人就非常迫切追求工作上的晋升,因为要养家(两个娃、四个老人),有巨大的经济压力
每个人的动机不同,要解决的问题也不同,职业在人生中占据的地位也就不同。想明白你想从职业中获得什么?然后你想在职业中投入怎样的精力?这个上下文很重要。
第二个问题,相信大部分同学对自己的职业现状是不满意的,也期待有更好的发展,那么第三个问题就很有意思:什么决定你的升迁、加薪?
这里要公布一个可能颠覆大家认知的一个答案(一个统计性结果):
跳槽 > 组织对你重要程度和贡献的认知 > 你对组织的贡献和重要程度
有些同学可能之前已经认识到这一点,但也有不少同学会觉得不爽、怀才不遇,比如上文中提到的小 B 同学。
大家可以想一下公司为什么要招聘一个人?甚至会出现工资倒挂的现象(新员工比老员工工资高)?
其实,公司的运营一般都是自上而下的,基于最高层的战略然后一层层往下推进到战术执行,进行各种战役等。你的工作怎样才算出色,有业绩价值呢?———— 满足公司对你的期望是最具决定性的。
所以,在工作中一开始就要花足够的功夫向上对焦,而不是埋头苦干。一定要提前领会老板/上司的意图,及时沟通清楚,就工作价值定义达成一致后,再行动再去迭代。尤其是有自下而上的一些工作,千万别闷着头,一定要提前得到认可。
有一句俗话说的好:“做事不由东,累死也无功”。你做的跟老板想的不一样,最后结果不是他想要的,干得再辛苦也是无用功。没有价值就无法凭结果胜出。大家一定要记住这句话。
另外,有价值的成果也需要总结、展示和汇报。踏踏实实干事,也需要一定的曝光。当然,别搞成那种成天就去汇报。
职业发展瓶颈也是非常个性化的问题,必须要结合一个上下文和自己的实际情况做思考和优化。大家可以先做一个自我评估:你认为自己阻碍自己发展的最重要的三条是什么?(写下来) 能够意识到自己的问题所在,这些问题才可能被解决。
下面讲几个最常见的职业发展问题和解决办法。
1. 感到“迷茫”怎么办?
“迷茫”可以说最常见的问题,不知道下一步该怎么走,不知道到底想要什么?不知道该学什么?
这里提供一个最简单但是巨管用的解法,闭上眼睛想想:
你眼中最钦佩(真心佩服不是嫉妒)的同行是谁?
你跟他的差距在哪里?
你能不能做成他那样?(或者想不想)
通过对标法,想明白自己最想要的职业状态,职位,薪资是什么样的?有一个清晰且合理的目标以后(比如未来 1-2 年),事情就好办多了,也不迷茫了。
可以说,**想明白这个,就解决了职业发展一大半的问题。**在工作中,我也经常跟团队小伙伴沟通这个问题,效果是很明显的。
当然,目标要是合理的,不能说我想像 XXX 一样,工作五年公司上市,实现财富自由。IT 创富主要是靠命的,不是每个人都有很好的机遇。还是要踏踏实实的规划自己的职业目标。
2. 工作很被动,缺乏思路,怎么办?
有同学反馈说,工作总是被别人牵头,有人开了头,自己才会去做,感觉缺乏一种主动思考的能力。
其实思路从两个地方来,第一个是外部。思路不一定非得自己想出来,可以多看看同行怎么做的?总结别的一线大厂的经验,可以受到很多启发。我自己也养成一个习惯,就是常年关注各大厂的技术博客、微信公众号,包括每年的行业技术大会,也会多认识一些业界优秀的大咖,多交流讨论,思路聊着聊着就出来了。
另一个是对内,就是上文说的眼里有活。现在团队的痛点是什么?比如从点点点=》自动化测试=》金字塔分层测试,从一个问题入手牵扯到更多的问题,越来越深入。解决的问题多了,能力就会越强,这是一个积累的过程。
3. 觉得只要技术好就牛逼,醉心技术
不少测试同学有这种情况,前几年技术成长很快,晋升也很快,但是到了一个阶段就卡在那个点上不去了。
其实技术好,这只是一个充分条件,不是必要条件。
企业愿意付给你工资是看你的业绩,和对于你达成业绩的期望。
还是要注意综合能力的提升。
4. 穷忙,996 天天加班,没时间成长?
刚才也有同学提到,天天点点点和 996,没有时间成长(大部分互联网企业都有这种情况)。
但其实,996/工作忙不是问题,最主要的问题是:
主动或者被动的放弃了学习、总结和思考
所以要强迫自己养成思考的好习惯、把能力的增长和工作紧密结合起来。
我自己也会面临这种挑战,每周工作基本也在 70 个小时以上,不停的有各种会议,有各种人过来找你沟通。但是也得想办法挤时间,比如在 9/10 点团队的人热起来之前,要挤出来一个小时的时间想想工作的事情,比如提高系统整体利用率。也有专门的讨论小组,有固定例会讨论新的技术论文。
不管你的工作是怎样的碎片化,还是总会有办法的。这里特别推荐《深度工作》这本书。
5. 总是在舒适区
停留在舒适区也是一个非常常见的问题。
每年(每隔半年)都有必要问一下自己:
你今年成长了吗?
你的成长收获是什么?必须具体的描述出来(越具体越好)。
很多同学的工作一直做点点点,没有进步。
你学到新技术有哪些?工作中用到了吗?比如有个同学,自学了 Docker/K8S ,但是问了问题不清楚,因为没有实践,无法事半功倍的理解。
所以一定要让自己持续处于学习区,保持 2-3 或者 3-5 年的成长,自然而然就会有一个明显的进步,变得很棒。
6. 现在的岗位是否适合我?
有没有问过自己,现在的岗位适合我么?
有没有足够的挑战?是不是特别开心?
是不是学到东西?是不是能得到成长,支撑未来 3-5 年的发展?
有没有特别不合理的岗位安排?
对我未来的职业发展是否有帮助?
如果不是,是谁的问题?我的问题,还是上司的问题?老板的问题?公司业务的问题?有没有可行的解决方案?
时间总是很快,一眨眼,半年就已经过去了。一定要多主动反思。
7. 不断迭代自己的操作系统
一个人到底行不行,或者说能有多大的成就,内核是关键,比如你的情绪、意愿、看待事物的角度,这些东西是最重要的。
有一个好的操作系统,其他无论是技术还是其他专业知识,不会就是学嘛。都可以快速学习。单纯的学一个东西其实是简单的。
每个人都需要不断的去迭代、调试自己的操作系统。
测试同学最关心的问题解答集锦
Q1. 测试薪资天花板有多高?
见过有 300-400 万年薪的;
Q2.测试工程师如何进入大厂?
三个方面都很重要:学历/资历/能力。
学历其实是块敲门砖,有的企业会看重,有的企业不看重(起码我自己不太看重)。不过值得“刷一下”(专升本/在职研究生),学习知识不一定非得在大学那个年龄段,其实是终身都需要学习的。而且,成本也不是很高。
学历不够,一定要突出工作经历,突出自己解决过的业务难题,有案例,有技术博客(加分项)。一般工作几年,就不会太看学历,只是用于初步筛选。大厂也有很多非计算机专业的(之前有很多同事),这个不用担心。
Q3. 38 岁了,还有上升空间吗?
有的,但是要想清楚自己的定位。
测试可以干很长的时间。不过随着年龄大了,最大的挑战是,公司/同事都有对你的更高要求,比如要有较深入的业务知识,能够把公司做的业务测试架构说的清清楚楚,明明白白。比如为何这么设计?有什么好处?挑战和难点在哪里?同样的工具,有没有更优的选择?遇到新的被测物,这个工具好不好用?怎样调整比较合适?等等,得有一些深层次的思考。
比如,流程的对比,为什么原来的 Scrum 可以在外企顺滑的走下去,但是在国内互联网企业走不下去?如何做裁剪,做改造,如何适应国内企业的实际情况,顺利实践下去(这些其实国内大厂比如阿里也在努力演进)。
同样的公司,同样的岗位经历,不同人的技能积累和成长意识都是不一样的。如果年龄大了,还是只能干基础的工作,那就会很痛苦。
Q4. 跳槽之后还是点点点,怎么办?
很多公司一开始都是从点点点起步的,你怎么能够想办法,让他变成不是点点点,这就是你工作最大的价值所在。
刚才有同学提到**“眼里有活”,这真的是特别特别重要的一点**。脑子里要一直想着如何改进自己的工作。大家可以参考我之前写的那篇文章。
Q5. 跨行业跳槽,缺乏行业项目经验怎么办?
领域知识固然重要,但是其实测试有很多东西还是通用/复用的。也要快速学习,适应变化,质量工作本身也是一个系统工程。
比如,我去年花了一年时间,主要是推动开发做单元测试,做 CodeReview,推动测试人员不做测试,优化了很多流程,效果也很不错。比如,另一个资深测试专家朋友也是作了很多流程优化的工作,我们一交流,发现做的工作本质都一样,感觉做了很多好像也不是测试的内容。
Q6. 如何找一个可以帮助自己更好提升的公司?
最好是在不太大的年纪(35 岁之前,越早越好),能进入大厂工作几年。可以多认识大厂一些靠谱的人,问问内部情况。
其实很多大厂或者外企也并不很介意年龄,主要是关注能力和年龄是否匹配,如果匹配不上,差距特别明显,就会比较尴尬。
Q7. 打着招开发的要求来招测试,怎么破?
对测试来说,开发能力还是很重要的,大家可以看下我之前的那篇文章,写了很多细节的问题。
Q8. 成为大厂测试架构师要掌握哪些技能?
这块我看之前思寒已经有整理一个非常完整的测试开发技能树,后面的几位老师也会分享很方面的很多内容,我就不赘述了。
我想强调的是,其实测试人的技能是很综合的,成长没那么快,需要持续的学习,3-5 年的持续爬坡,解决问题,才能有较为显著的进步。
大厂测试架构师,对开发/架构师能力要求高。不过技术只是一个底子,以阿里为例,还会看很多软素质,比如乐观、皮实、可靠、服务意识强、自我迭代,吸收经验进步的能力等等软素质。
Q9. 接近 35 岁,是继续大厂搬砖,还是小厂转型做管理?
这是个特别难回答的问题。如果你在大厂还能快乐的搬砖(组织允许),那我觉得还可以。然后,你适不适合做管理,你的下一步目标是什么?这个前提必须想清楚,否则太泛了,不好回答。
Q10. 领导觉得测试没有用,怎么办?
这种情况,不光是你,主要是你的老大要说服教育老板,拿数据度量说明测试的价值。这种反馈很重要。
Q11. 年龄大了,不想走测试管理,怎么才能获得高薪的职位?
测试这个岗位,往高级走,或多或少要带人。不带人你要跟项目。纯做测试技术和测试工具开发,感觉获得高薪岗位的几率不是很高。测试其实是一堆分散技能的综合,不像 Linux 底层或者算法这种深度比较深的领域,我只专研技术就可以。所以这个挺难的。
Q12. 公司的性能测试,分工特别细,怎么办?
分工特别细,这个其实是团队 Leader/组织的问题,这种非常不利于个人成长(你们领导不怕员工流失吗?)。像我们团队有些专项会分到虚拟小组里。
Q13. 感觉测试需要学习的东西特别多,有什么有效的学习办法和技巧吗?
最好的方法就是结合你的工作去学习,系统的学。比如工作需要用到 Python 做工具,就先学 Python,然后再尝试用 Python 解决更多的问题,占据一个点,扎进去,然后串起来很多点。这样是效果最好的。学了不用,其实效率最低。
Q14. 大厂面试会问很多原理性的东西,这些原理要学到什么程度?
还是要多花时间,看一些原理性的东西,因为这些知识更稳固,也不会特别快的过时。
比如接口测试,那么 HTTP 协议层/网关层/应用层等等有很多东西,要好好专研下。对被测物了解的越深入,你的测试思路、测试工具研发和使用才会更精准。
Q15. 35+ 及以后怎么发展,感觉现在贩卖焦虑太多了,感觉自己也很焦虑?
哈,这个确实有一些,怎么说呢,现在这个世界是被拉平的。以前一个人赚了 3000 万,可能其他人都不知道。但是现在信息非常快,所以像“字节跳动 28 岁小伙财富自由,退休搞温泉”这种新闻传过来,很多人就会受刺激,我 28 岁的时候在干嘛呢?或者我 30 好几了在干嘛?这种对比会产生焦虑。
但其实职业发展或者说人生最重要的还是跟自己比,不是跟别人比。你看向这些优秀的人学习一些点,但自己的内心还是要强大,不要跟别人比。财富自由有时更多的是命。多磨砺,多读书,多和高手交流,多总结复盘,没有其他捷径。
Q16. 技术学会了,不会包装自己怎么办?
必须主动学习包装自己,不能等别人来发现。自我怜悯没有意义,酒香也怕巷子深,千里马不能等伯乐。
评论