职业经验 我如何走出自己的测试职业发展之路?

磨叽的磨驴 · 2017年01月01日 · 最后由 T 回复于 2017年10月12日 · 2133 次阅读

工作也差不多十年有余了,回首自己的职业发展之路,期间,有过触碰到天花板时的困惑,也有过位于职业十字路口选择机会时的纠结。开始工作那头几年,这些困惑与纠结每隔短则数月,多则一年半载就会这么经历一下子,想想也是蛮心烦的。

这些年,和工作年限相对较短些的,许多周边从事技术、特别是从事测试的同事、业内同仁们交流时,也能切身感受到当下的他们,也正经历着我当时的困惑与纠结。每当此时,我都会结合自身的职业发展经历的一些经验教训,简单聊一下自己对技术,特别是测试方向职业发展之路的一点浅薄认识。从他们肯定的反馈来看,对他们还是产生了些许帮助的。

在这篇文章中,我整理了一些困惑与纠结的共性问题,谈谈我的一些认识和理解,同时也想分享一下我认为的职业发展,特别是测试职业发展的三个建议阶段。希望这些内容在大家感到困惑和纠结时能提供些参考与帮助。

存在困惑与纠结的一些共性问题

困惑与纠结:做测试这个行业也有段时间了,项目也上手了,常规的任务也能应付自如了,接下去我想学点技术,比如是自动化测试、持续集成、性能测试、架构知识等等,这些我都想学,但是究竟应该先学习哪个呢?

我的理解:刚毕业从事测试这个行业的同学,大都有一种焦急的心态,对未知知识极其好奇与渴望的同时,也是想着尽早能成为周围那些工作多年,有丰富经验的同事那样,能独当一面。个人觉得,在开始工作的前一两年,很多技术都尽可以去碰一碰、摸一摸。这个阶段,知识全面性的积累是比较重要的,但同时也要注意两点:尽可能从项目有需求的实践开始,因为这能加深你的理解,同时也能提升你的个人工作绩效;对技术抱有一种谦卑的心态,千万不要在接触一些工具使用之后,就认为这方面的技术也就仅仅如此,会使用工具仅仅是最开始的阶段,综合的测试分析、测试设计、问题定位才是后面的重点。

困惑与纠结:接触持续集成之前,感觉很厉害,现在在项目上实践了很长一段时间了,平时靠这个也基本发现不了什么缺陷,反而经常因为环境、脚本等原因导致失败,真失败了,开发其实也不是很关注,持续集成真的有用吗?

我的理解:别人会的,自己不会的技能点,很多同学都很想学习和在自己的项目上实践,但是真当用起来后,发现往往停留在使用工具的层面上。持续集成也经常被认为是 jenkins 加上一些自动化测试脚本的集合,往往会忽视其背后还隐藏着流程规范与团队协作。除此之外,令持续集成等技术改进实践效果不明显的另一个重要原因是我们经常为了使用技术而使用,通俗的讲就是手上拿着锤子,四处找钉子。缺少项目源头问题的定位与分析,同时也缺少很重要的实践前后的数据的度量与对比。想着通过某种工具或技术实践就让项目质量或效率有较大的改进,这种机会其实并不是很多。

注:我会在后面的公众号文章中谈谈『如何正确地进行项目改进实践』的话题,并介绍一下我们团队中的相关实践,感兴趣的朋友可以关注一下。

困惑与纠结:自己的岗位是测试开发,但经常感觉自己好孤独,自己好像既不属于开发,也不属于测试,自己到底属于什么?当初想着开发能力不够,先做两年测试开发,然后再转开发,但是最近自己去面了些开发的岗位,却都失败了,这条路我还要继续走下去吗?

我的理解:这是我个人的真实经历,这两三年校招面试的时候也见过不少这样的同学:觉得自己开发能力不太够,来应聘测试开发岗位,然后考虑过几年转开发。不是说测试开发不好,只是抱着这种想法的同学没有、或许也不可能在一开始意识到这种想法其实是不实际的,主要是因为测试开发和产品开发,在开发各自对象时所要求的技术层次是不一样的,而且随着工作经验的积累,这种差异性会越积越多。这些年来,我也看到过几个转型开发成功的,但是真心没几个。

当年我自己在转开发的时候,在不断面试碰壁之后,冷静下来思考了一下,觉得自己的开发能力,长远来看,在测试行业中应该是有竞争力的,特别是自动化测试还是有很大的发展空间的。经过深思熟虑之后,转行做了测试,后来的结果也多少证明当年的判断基本是正确的。

困惑与纠结:最近找工作收到了几个 offer,有大公司的,钱相对少点,也有小型创业公司的,钱相对较多。我该选择去哪个呢?

我的理解:如果是工作两三年的同学,我建议还是去大公司,毕竟那里的平台基础好,研发流程相对更规范,技术积淀也更深厚一些。而且大公司相对而言更稳定一些,一两款产品不行,不太可能会出现关门遣散的悲剧结果;对创业公司而言,给的价位确实比较高,也说给期权啥的,但期权毕竟是个大饼,兑现遥遥无期,仅仅是个系统中的数字罢了,一但烧钱结束后如果没能继续融到资,结果就是你被辞退,你开始四处辗转找工作,技术和经验也没积累下多少,时间尽用来折腾了。

困惑与纠结:刚离职的一些工作了三四年的同事,外面创业公司给了 1.5 倍、甚至 2 倍的薪资,我还没结婚,还没买房子,以后还要养孩子,这些都要钱,我要不也去试试?

我的理解:这个问题和上面问题的区别在于自己会容易被现实打击到,会有比较强的心理落差,特别当还有现实的生活所迫时,更容易被诱惑。在工作的头几年,不用太纠结赚得多赚得少,倒不是说要抱有一种洒脱的心态,而是说房子等等生活所需,按 IT 行业目前薪资水平以及调整速度,再加上通胀发展速度,买房子这项人生最大的投资,要想付清全部余款基本也就是七八年的事情,周边有很多同事和朋友基本都是这样。

关键是要沉住气,在当前的岗位上尽自己的最大努力学习尽可能多的知识和技术,学得越深越好。毕竟一个环境要适应是需要时间成本的,好不容易融入了当前的团队,业务也基本了解了,是到发力往更深的技术专研了。一旦换工作,这一切又要重新开始,这些都是代价。只要自己的核心竞争力够强,钱总是会有的,而且以前错失的后面都会像潜力股一般,补涨回来。只有当你真的在这个公司或团队已经基本没什么好学习到的时候,才比较适合考虑换工作的事情。

困惑与纠结:工作差不多四五年了,想想自己流程、技术差不多都会一些,但好像又不是那么精。与此同时,自己又有家庭要照顾,还有孩子要陪伴与教育,我下面该怎么办?

我的理解:在这两三年的社招面试中,着实见了不少这样的应聘者。问题的关键是他们没有在有限的时间内,或者也没有意识到要培养出自己关键核心竞争力。还是要多想想自己目前哪方面能力相对而言最突出,可以尝试画个雷达图,以找到自己最擅长的技能点。如果你没怎么接触过自动化测试和性能测试等,虽然市场上有这方面能力的人会比较吃香一些,但是这个阶段的你,我更多建议你要将自己相对突出的能力进行不断地延伸,比如是流程改进相关等非技术能力,将此能力提升为自己的核心竞争力。什么叫核心竞争力,通俗地讲,就是很多人搞不定的事情,你能搞定。

测试职业发展的三个建议阶段

1. 前 3 年 打好比较全面的基础

终于毕业参加工作了,这个阶段的开始一年左右,自己相当于是一张白纸,你几乎能感觉到每天自己都在成长,内心充斥着满满的正能量。但很快,你慢慢发现自己常规工作都能完成了,但是发展目标却开始不清晰了,感觉到自己不清楚接下去该怎么走了。我个人建议这个阶段你需要沉住气,你要对项目的质量流程把控,比如测试计划制定、测试分析、测试设计、测试执行、缺陷分析、质量度量、流程推动等等,要进行更深一步地实践,去积累较为丰富的质量流程把控经验。别小看这些技能经验的积累,在将来这些经验将为你成为测试团队负责人提供扎实的理论与实践支持。与此同时,你需要多开拓一些自己的技术知识面,自动化测试、性能测试都可以去做一做,产品背后的技术架构知识要多了解一些。这么做也主要是为了在第二阶段,判断选择哪项作为自己核心竞争力,重点进行深入学习实践来埋下伏笔。

经过两至三年左右的测试专业训练,在这个阶段结束的时候,你的测试技术与流程把控等能力都算是相对比较熟练了。这个阶段如果换工作的话,你会发现外面的机会有这样一些特点:工作会比较好找,能力好一点的话,能收到很多公司的 offer,你就像一个万金油,发现什么地方都能去;如果你现在的公司在当初进来的时候起薪较低,那么这次换工作可能有不错的薪水涨幅,但是薪水天花板也会比较明显;新岗位的级别不会很高,基本就是工程师,最多初级资深工程师这个水平。

如果现在所在公司的平台还不错,我个人建议可以不考虑换工作,因为在现有的公司平台上,你的能力基本已经得到领导的认可,这也就为后面第二阶段个人核心竞争力的训练打下了一个比较好的基础。如果换工作的话,项目要从新开始学习,团队要重新开始融入,是否能得到新的领导的认可还是个未知数,而这些都是时间成本。至于薪水方面的诱惑,我个人觉得只要第二阶段的核心竞争力培养好,寻找到好的机会,这些都会补涨回来的。

这个阶段的择业特点是机会选择你,而不是你选择机会。

2. 第 4 至 5 年 培养自己的核心竞争力

在这两三年的社招面试里,见过一些工作五年甚至更长的同学,但是感觉能力方面和工作两三年的同学没什么区别,但薪水要的着实不低。这个工作年限以上的同学,如果没有自己的核心竞争力,几乎不太有可能会获得比较好的岗位。残酷一点的说,拿着毕业两年左右的同学和你比,经验和你差多少,但他们没结婚,精力比你旺盛,能加班,学习能力强,关键要的薪水还比你少,那为什么要招你。

什么叫核心竞争力,就是相对于多数人而言,在某一方面,你有自己独特的优势。而这个阶段,重在培养自己的核心竞争力,为的是当年轻与精力逐渐成为你劣势的时候,你的核心技能点与经验能成为你的优势,这样才能不被淘汰。

那如何训练自己的核心竞争力呢?首先,建议你结合自己过去三年的工作经验,综合分析自己擅长做什么:是擅长质量流程把控?是有编码的能力,擅长自动化测试,平台开发?是有性能测试方面经验,擅长性能问题分析,性能调优与容量规划?还是对产品技术比较了解,擅长分析与定位问题?在做好方向选择之后,花 2 年左右的时间专注在这个领域里面,做深,做专。很多宏观与微观的问题你都需要找到属于自己的答案,你需要对这个领域的知识观点能有自己的价值判断,最好能总结出自己的理论实践体系,或者称之为方法论。

可能有人问,我能不能选择多个方向,齐头并进,都做得很深,很专呢?我感觉除非你是一个学习能力非常强的牛人,如果你并不是天赋异禀,那我建议你还是最好选择一个左右的方向,因为人的精力真的是有限的,特别是在你成家,有了孩子之后就更有限了,你需要将有限的时间和精力用在刀刃上。

这个阶段结束的时候如果换工作的话,你会发现外面的机会有这样一些特点:外面的机会相对较多,碰到一些好的机会,也能给出非常漂亮的薪水,职位和级别往往也还不错,一般都能到资深以上。这个时候如果你觉得在现有的公司能学习到的东西不多了、职位上升通道比较受限、薪水不是很给力的话,可以尝试看看新的机会。

这个阶段的择业特点是你选择机会,而不是机会选择你。

3. 第 6 至 8 年 测试专家还是团队管理

在经过 2 年左右的核心竞争力训练之后,也差不多到了职业生涯第二次重要选择的时候了,是究竟往测试专家方向发展,比如测试架构师,还是往团队管理方向发展,比如测试主管。你可能依然需要分析自己的优势与劣势是什么,以及自己真正想要的是什么。

如果选择测试专家这个方向,可能需要继续沿着之前在技术上的方向走得更深,更超前。可能需要帮助团队解决很多实际的技术难题,以及在团队起步开始尝试某项测试技术的时候,能更多地进行技术攻关、把控方向以及搭建框架等。

如果选择团队管理这条路,可能要开始考虑构建团队的质量保障体系,包括研发/测试/上线等流程梳理与规范化、多维度与多层次测试保障类型构建、质量过程数据度量与监控、测试效率提升相关的自动化工具与平台体系建设、团队能力梯度建设、知识与技术传承相关的培训考核体系建设等等。

不管是选择哪个方向,这个阶段依然需要关注自己的核心竞争力。

这个阶段如果找工作你发现相对以前来比会比较困难,因为外面的机会大部分是想寻找能做实际测试执行工作的人,另外此时你开的价位不会很低,所以你和目标岗位匹配度并不高。此时如果你发现有些机会最后都没成,这不代表你能力不行,无需沮丧。这个阶段的机会真的是要看缘分的,一旦碰到好的机会,职位与薪水都不会差到哪里去。

这个阶段的择业特点是你选择机会,同样机会也会选择你。

上述整理的三个阶段,在时间跨度上并不是绝对的,有些人可能需要花更多的时间与年份,我自己就是个例子,期间走了比较多的弯路。越是到后来,甚至多少还要看些运气,但就我个人理解,整体职业发展过程基本就是这样。

时常保持一定的危机感

在整个职业发展过程中,需要时常保持一定的危机感,夸张一点的说,你可能要经常问问自己:如果明天公司倒闭或着裁员了,我能去哪里,凭借着现有的能力,我能拿到比现在更好的机会吗?

随着这些年互联网的发展,行业对测试人员的要求也越来越高,传统类型测试人员的价值空间逐渐在被挤压,行业需求驱动着测试人员在往更高的能力层次上行进,所谓不进则退。在一家公司待久之后,项目工作与人情世故都能应付自如之后,有些时候会慢慢安逸下来,这正是比较危险的信号,一旦公司有些变故,你会被动地被推向行业市场,猛然发现当今的行业市场已经今非昔比,而自己并没有什么拿的出手的核心竞争力,或者说你自己自以为还可以的能力在很多公司看来压根就不怎么关注。

时常保持一定的危机感吧,多关心关心业界发展的一些动态,了解了解行业的一些招聘需求。唯有清醒的认识现状,保持积极的学习心态,不断的训练自己的核心竞争力,才能有可能不被这个行业和时代所淘汰。

最后,分享两句一直让我受益良多的话

第一句话是,浙大老校长竺可桢曾对浙大学生提出过的两个问题:『诸位在校,有两个问题应该自己问问,第一,到浙大来做什么?第二,将来毕业后做什么样的人?』。同理,在职业发展过程中,我们也可以经常问自己两个问题:『我来这家公司想获得什么?我以后想成为什么样类型的技术人才?』。每当你在现有的工作中遇到了困惑和纠结的时候,这两个问题可以帮助你梳理清楚方向。

第二句话是,职业发展的路要想走得顺利的话,必须能有四行:『你自己得行,有人觉得你行,觉得你行的人也得行,你自己的身体得行』。这四行中包含的深刻的职场哲理,大家可以细细品位。

磨叽的磨驴

磨叽的磨驴(mojimolv)公众号,关注软件测试相关技术实践,同时也关注技术岗位、特别是测试岗位的职业发展的相关问题。欢迎关注 “磨叽的磨驴”。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 8 条回复 时间 点赞

感谢分享,那请问测试开发岗该如何发展呢?

—— 来自 TesterHome 官方 安卓客户端

#1 楼 @erickyang 测试开发岗位,在不同的公司定义有一定的差别,如果测试开发岗位单纯从事的是工具和平台开发的话,我的建议是,最好能够和实际的产品业务线保持比较紧密的连系,毕竟工具和平台源于实际测试的需求,是为了提高团队效率而存在的,所以了解和掌握测试本身的技术至关重要。如果说对测试没有兴趣,还是想专注与研发技术,我个人建议是可以早点打算转产品开发。

#2 楼 @mojimolv 楼主浙大几期的呀?

4楼 已删除

#3 楼 @Lihuazhang 我不是浙大毕业的,呵呵

学习了,感谢前辈指引,分享

#6 楼 @automation 互相学习,呵呵

工作 6 年,受益非浅,前辈讲得很有道理~👍

非常不错的文章!!!

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册