专栏第一篇:为什么选择测试工程师

我知道在读专栏的读者大多数都是在校的本科生、或者是研究生,在面对校招时我想告诉大家的是:希望大家能从职业生涯规划的角度来对待我们所做的每一个选择。

大家一定都听过这样的说法:你的选择决定了你大部分的未来,我们终其一生是我们的选择决定了我们要走的路。所以我先请大家尽可能的作出自己的选择:对于本科的你无外乎需要尽早的作出要读研深造还是直接工作的决定、对于研究生的你也要尽早的做出继续读博还是早日踏入社会,成为一个社会人。

本专栏不会指导你,如何在读研、读博和工作之间做出抉择,而是假定你选择早日踏入社会工作、并且选择从事软件开发类的工作时,你不知道自己是否应该选择测试工程师或者测试开发工程师作为自己职业生涯规划的起点,那么你应该读一读本专栏。所以在阅读之前,请优先确定一下自己在深造和工作之间的选择,只有在两者之间做出选择之后,你的下一步准备才是有有意义的。

我姑且说一说我是如何成为一名测试工程师的,在我大三的时候,由于当时获得了保研的资格,出于不想浪费这个名额的想法,选择了保研这条路。保研之后,抱着尝试的心态参加了部分的校园招聘,当时投递的职位有软件开发工程师、软件测试工程师,在应聘过程中发现当时自己的应聘软件测试工程师的时候更加顺利,研二求职的时候就以测试开发工程师或者测试工程师做为了自己的求职目标并且是想要把该职位作为自己职业生涯计划的起点。

求职的时候也有算法工程师、开发工程师、产品岗位、运营岗位,除去要面试这些岗位需要做很多准备之外,还有另外的考虑是:
(1)自己虽然脑子聪明,专业课程成绩很好,但我对自己有明确对认知,对算法没有很大的兴趣,而且在我心里,算法这件事情是少数人要做的,象我这样的普通人是是无法做到顶尖的位置的(我可能是那种宁做鸡头不做凤尾的人^-^),不可否认的是算法工程师的工资是非常高的;
(2)那为什么不选择开发工程师呢,这个其实和测试工程师是相同的,都是工程技能岗位,我当时想的是我希望自己毕业后能进入大的互联网公司,不想去小公司,而当时自己也没有前辈的指导,只凭自己单打独斗应该没有办法应聘到一个大公司的开发岗位的,在自己可控的范围内应该可以成功应聘测试工程师的岗位
(3)至于产品岗位、运营岗位,从性格出发就可以直接pass了,在我心里我认为当我创业的时候我可能会运用做产品的思维以及运营的手段来促使创业的成功,所以这两个技能我也在不断的学习中,主要是通过担任起点学院的线下课程助教来完成。

之所以选择把测试工程师作为最终的职业,基于了下面几个方面的考虑:
(1)看了测试的基本理论之后,发现其实测试理论是一个比较普适的技能。但是开发工程师需要一定的专业限制,比如一个java工程师可能就一直是java工程师,但是一个测试工程师可以测试由多种不同技术实现方案进行实现的产品
(2)开发掌握的技能迭代更新比较快,而测试工程师需要掌握的技能迭代更新速度较慢,因此不用疲于奔命地学习新的层出不穷的技能,只要有一套完善的测试方案后,这套测试体系适用的面比较广。
(3)开发工程师中大部分是男生,从竞争角度出发,竞争力可能不足。大部分的测试工程师是女生,这样的话相对来说竞争下来自己信心相对比较足,不至于被淘汰。
(4)可能是前期看测试的书多了之后,带着一种改善中国测试圈思想的这一个大义凛然的想法,想改善国内大多数人对测试工程师片面的理解,想要树立中国国内测试理论体系。在测试理论的书籍方面其实除了经典的软件测试理论之外,没有更多经典的书籍。你知道当一个行业经典较少的时候,你自己才能创造经典,成为经典,当然这只是我个人的一个远大的理想。
(5)测试工程师经历了前面的误解之后,后续公司开始重视了起来,尤其是大公司中,知道测试工程师的必要性,所以我相信这个行业虽然目前没有被足够充分的重视,但是后续会越来越好,我相信这个行业的前景。

在经历了这一年半的工作中,我来简单说说关于测试工程师中是否是必不可少的角色的几点看法:
(1)在一个产品新版本发布上线的过程中大致会经历一下的过程:产品设计、开发、测试、上线、线上问题修复的过程中,测试工程师在其中担任的角色包括了上线前的测试以及线上问题修复的跟进,上线前的测试保证了产品的基本质量,但是在一些情况下我们不可能把所有问题都覆盖到,可能会有一些线上问题暴露,这些线上问题解决是一方面,另一方面是回顾复盘线上问题是如何发生,而作为产品的生产者往往对这些问题没有足够的警惕,需要第三方的介入回顾这些问题,改进优化避免后续继续出现,在线下测试过程中也有很多问题,需要测试工程师通过回顾分析进行优化处理,而这些回顾和优化玩玩作为上线前的最后一个环节是经历了全过程的,因此有一个很好的角度来进行复盘,因为产品和开发都不会对自己打脸,只有测试工程师从质量的效率来进行打脸,从而提高整个研发团队的作战能力。这些主要涉及到研发流程规范与优化的部分,作为测试工程师工作的内容,在后续的章节中我们会进一步细致讲解。
(2)这些年一直在说开发可以自行承担测试,那么测试工程师的职位会不会消失,关于这个问题,我的答案是绝对不会。开发只能测试他自己的部分,对于多个模块之间的交互、集成测试,开发工程师是绝对没有办法全面把握的,尤其是当一个产品涉及到多个研发团队时,这种情况下问题会更加的明显;除此之外,对于兼容性测试、自动化持续集成、性能测试一些比较专业的测试,可能作为开发工程师可能没有更多的精力来解决这些事情。因此测试工程师的职位不会消失,只不过职责上可能会发生变化,对测试工程师的入门要求会越来越高,具体的关于自动化持续集成、兼容性测试、客户端专项测试的一些知识在后续的专栏中我会细致的讲解。
(3)如果以传统企业来做个对比,QA对于互联网公司,等于质检部门,既然质检部门不会消失,那么测试部门也就不会消失;从国外数据来看,测试工程师也是不可少的,而且国外的测试工程师真的把这一个职位作为职业生涯进行规划,具体的关于国外如何看到测试工程师这一个职业后续有专栏详细地进行介绍。

以上是从我自身角度出发做出来的一些抉择,每个人所处的境地不同,选择时考虑的因素也不同,大家在做选择的时候建议用一张A4纸来梳理一下每一个岗位与自己求职意愿以及所掌握的软技能以及硬技能之间的匹配度,然后在相应的时间内完成所需要的相关思维以及技能的储备来应对校招。

进行了横向对比后做出的选择,我相信大家一定会感到更加踏实,同时避免了在多个岗位之间摇摆不定,犹豫不定是求职路上的大忌,你可能比那些不犹豫的人少做了很多准备,同时你的内心会承受更多的折磨。

所以求职之前我首先建议大家完成这样的横向对比,制定出自己的求职目标,在这个过程中如果大家有疑问欢迎大家通过牛客网私信进行交流,希望能尽我所能的帮助到大家。

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务