随便说一说软件测试QA这个职位
96618105
感觉地里的都是在聊Data Scientist和各种Software Engineer. 很少有QA的,也就是Quality Assurance Engineer,有的公司叫SDET。早些年都是手动测试,工作很重复,现在基本上都是偏向于自动化 automation也都是要写代码的。
其实 QA 的openings 是很多的,竞争的也少,我们大概是 3 个dev 配一个 qa 的样子。投 dev 的都是各种名校的或者资深的,简历一大把,面试要求也高。但是 qa 能收到的简历不是很多,投的人也不是很厉害,总的来说面试也偏简单, bar 相对来说是令人发指的低!!!
缺点主要是,逼格低。比如国内招人一听是 QA 就觉得没水平,立刻没兴趣的样子,比如猎头来挖人,也往往是挖开发。QA 技术上简单,很难成长。地位也不高,属于专门背锅的职业。基本上我最开始遇到的 dev 都非常瞧不起 qa. 一说就是,女孩子嘛,当 qa 这种简单没用的也是不错的。薪水是略低,我们厂大概是 base 比同级别 dev 低 10% - 20% 的样子。但是因为鱼龙混杂,所以感觉是升职比较快。如果稍微聪明一点,代码相对而言写六一点,是可以很快脱颖而出的。
优点呢,就是性价比很高。起码我觉得性价比很高。工作不忙,相对清闲就不说了。最重要的是我觉得用来入行再好不过了。
作为一个几乎没刷过题,对工程师没有很多概念的人来说,QA 是很好的入行切入点。
你可以有机会从头到尾跟下来一个项目:从开始pm给需求,到design sessions,到参与 dev 写代码的过程(可以一直观摩他们写的,怎么fix bug, 看其他人的code review, 也要写 code review comments), 到部署deployment,具体测试(穷尽有意义的test case),以及写代码去完成自动化的测试(很多时候其实是换一个方式写和开发同逻辑的代码),去 troubleshoot,去考虑可能有的dependency and impact, 去参与 release , 去监控releas. 比如splunk alert and dashboard, 去和其他team交流,更大的项目的end-to-end testing, 以及做product demo. 报过漏过分析过的bug也都是非常宝贵的经验。
是从 business 到 technical 都要考虑很清楚。
QA虽然简单,但也可以有一番作为。我觉得低级的 QA 是手动点点点,连连看一样找哪里不一样不对劲儿去报 bug。高级一点的 QA 应该是可以帮助 dev 少走弯路,让整个团队知道产品上线以后可能存在的风险心理有正确的预期,是可以在开发前就能找到需求和设计的潜在问题, 能最大限度保证production code万无一失;而且一旦有了 production issue 能帮助dev准确并且快速找到root cause. 避免产品性能问题。
要做的事很多很杂,而且讲究效率,所以什么工具都得学。
起码在我工作的这两年里,我从一个无知懵懂的小白修炼出了一堆技能树。
比如各种design patterns, microservices 是什么样子的,restful api 的各种标准和规范都得熟。
比如什么样叫好的code什么样的叫虽然可以用但是不好的code即使测试用例全过也不应该merge的code. 现在基本上看code review就能找到很多潜在的bug. 几种语言都能上手。比如为了测api,手动flow用postman, 就得写javascript; nightly regression用java; 有时候要跑一下data用python jupyter. unix command也都很顺。如果要trouble shoot, new relics, splunk ... 都得用。 也有机会了解各种infrustructure. automation tests写过以后,什么都想automate. 于是为了避免重复劳动,总是会想最大限度去通过技术的手段去解决问题,也就学习到了传说中的工程师思路。
如果说dev是讲究技术的深度,我觉得qa是重视技术的广度。
我觉得 QA 不适合当终身职业,但是作为入门真的很不错。你知道别人走错的路,写错的代码,闯的祸,自己背过的锅,以后自己当开发了就可以拿着高标准去要求自己, 当PM了也能对整个product line胸有成竹。
并且,能有机会跟着那么多厉害的开发和架构师一起工作,向他们学习也是非常荣幸且受益匪浅的。
QA 薪水低,但是升职容易多了,因为和你竞争的,大多都是渣渣... 所以可能第一年你比dev低15%的薪水,但第二年你升职了就涨平了……我入职的时候薪水很低,但是满一年就被奖了很多的RSU + bonus 立马追平dev. 但是如果我当初去找dev的职位,估计是电话面试都很难通过的。
一旦做好,技能树修炼好了,薪水也是可以高起来的。我面过些公司。普通 QA 级别,2/3yrs经验,before negotiation, base能给到130k+, 加上其他的package,170K+ 基本能到。 虽然不比地里的200k起跳,但也不比某些大厂的 dev 待遇低。考虑到成本和入职的bar以及工作强度心理压力,我觉得性价比非常高。
作为职业规划,一是可以升到manager, tech的manager基本不太分dev or qa. 我知道的不少人都是做到manager以后去管整个技术团队。
另一种就是可以换,比如你有的data和business domain的经验可以换data or product相关的职位。比如能搭automation test frameworks,写的代码足够多,对system design足够六可以去做dev, 也可以有 software engineer in infra.等等等等。做performance testing厉害可以做performance engineer(这个是我猜的)
当然啦,几乎每一个有追求的 qa 都是想换 dev 的,dev 当然好了,我也想做 dev。如果是两年前我会觉得无从下手非常艰难,但是现在每天和开发一起工作,觉得刷刷题也会是有机会的,比以前多了很多信心。我不觉得先做qa再换dev是弯路,我觉得每一种工作都有它能够学习成长的价值,不叫弯路,是殊途同归。
补充内容 (2017-12-8 05:23):
薪水看glassdoor是不准确的。应该看https://visa.1point3acres.com/h1b/salary。评论里说qa薪水低于开发50%,他拿google为例。其实google的test engineer2017 base中值是130k 而software engineer2017 base中值是132k。出处见评论。
其实 QA 的openings 是很多的,竞争的也少,我们大概是 3 个dev 配一个 qa 的样子。投 dev 的都是各种名校的或者资深的,简历一大把,面试要求也高。但是 qa 能收到的简历不是很多,投的人也不是很厉害,总的来说面试也偏简单, bar 相对来说是令人发指的低!!!
缺点主要是,逼格低。比如国内招人一听是 QA 就觉得没水平,立刻没兴趣的样子,比如猎头来挖人,也往往是挖开发。QA 技术上简单,很难成长。地位也不高,属于专门背锅的职业。基本上我最开始遇到的 dev 都非常瞧不起 qa. 一说就是,女孩子嘛,当 qa 这种简单没用的也是不错的。薪水是略低,我们厂大概是 base 比同级别 dev 低 10% - 20% 的样子。但是因为鱼龙混杂,所以感觉是升职比较快。如果稍微聪明一点,代码相对而言写六一点,是可以很快脱颖而出的。
优点呢,就是性价比很高。起码我觉得性价比很高。工作不忙,相对清闲就不说了。最重要的是我觉得用来入行再好不过了。
作为一个几乎没刷过题,对工程师没有很多概念的人来说,QA 是很好的入行切入点。
你可以有机会从头到尾跟下来一个项目:从开始pm给需求,到design sessions,到参与 dev 写代码的过程(可以一直观摩他们写的,怎么fix bug, 看其他人的code review, 也要写 code review comments), 到部署deployment,具体测试(穷尽有意义的test case),以及写代码去完成自动化的测试(很多时候其实是换一个方式写和开发同逻辑的代码),去 troubleshoot,去考虑可能有的dependency and impact, 去参与 release , 去监控releas. 比如splunk alert and dashboard, 去和其他team交流,更大的项目的end-to-end testing, 以及做product demo. 报过漏过分析过的bug也都是非常宝贵的经验。
是从 business 到 technical 都要考虑很清楚。
QA虽然简单,但也可以有一番作为。我觉得低级的 QA 是手动点点点,连连看一样找哪里不一样不对劲儿去报 bug。高级一点的 QA 应该是可以帮助 dev 少走弯路,让整个团队知道产品上线以后可能存在的风险心理有正确的预期,是可以在开发前就能找到需求和设计的潜在问题, 能最大限度保证production code万无一失;而且一旦有了 production issue 能帮助dev准确并且快速找到root cause. 避免产品性能问题。
要做的事很多很杂,而且讲究效率,所以什么工具都得学。
起码在我工作的这两年里,我从一个无知懵懂的小白修炼出了一堆技能树。
比如各种design patterns, microservices 是什么样子的,restful api 的各种标准和规范都得熟。
比如什么样叫好的code什么样的叫虽然可以用但是不好的code即使测试用例全过也不应该merge的code. 现在基本上看code review就能找到很多潜在的bug. 几种语言都能上手。比如为了测api,手动flow用postman, 就得写javascript; nightly regression用java; 有时候要跑一下data用python jupyter. unix command也都很顺。如果要trouble shoot, new relics, splunk ... 都得用。 也有机会了解各种infrustructure. automation tests写过以后,什么都想automate. 于是为了避免重复劳动,总是会想最大限度去通过技术的手段去解决问题,也就学习到了传说中的工程师思路。
如果说dev是讲究技术的深度,我觉得qa是重视技术的广度。
我觉得 QA 不适合当终身职业,但是作为入门真的很不错。你知道别人走错的路,写错的代码,闯的祸,自己背过的锅,以后自己当开发了就可以拿着高标准去要求自己, 当PM了也能对整个product line胸有成竹。
并且,能有机会跟着那么多厉害的开发和架构师一起工作,向他们学习也是非常荣幸且受益匪浅的。
QA 薪水低,但是升职容易多了,因为和你竞争的,大多都是渣渣... 所以可能第一年你比dev低15%的薪水,但第二年你升职了就涨平了……我入职的时候薪水很低,但是满一年就被奖了很多的RSU + bonus 立马追平dev. 但是如果我当初去找dev的职位,估计是电话面试都很难通过的。
一旦做好,技能树修炼好了,薪水也是可以高起来的。我面过些公司。普通 QA 级别,2/3yrs经验,before negotiation, base能给到130k+, 加上其他的package,170K+ 基本能到。 虽然不比地里的200k起跳,但也不比某些大厂的 dev 待遇低。考虑到成本和入职的bar以及工作强度心理压力,我觉得性价比非常高。
作为职业规划,一是可以升到manager, tech的manager基本不太分dev or qa. 我知道的不少人都是做到manager以后去管整个技术团队。
另一种就是可以换,比如你有的data和business domain的经验可以换data or product相关的职位。比如能搭automation test frameworks,写的代码足够多,对system design足够六可以去做dev, 也可以有 software engineer in infra.等等等等。做performance testing厉害可以做performance engineer(这个是我猜的)
当然啦,几乎每一个有追求的 qa 都是想换 dev 的,dev 当然好了,我也想做 dev。如果是两年前我会觉得无从下手非常艰难,但是现在每天和开发一起工作,觉得刷刷题也会是有机会的,比以前多了很多信心。我不觉得先做qa再换dev是弯路,我觉得每一种工作都有它能够学习成长的价值,不叫弯路,是殊途同归。
补充内容 (2017-12-8 05:23):
薪水看glassdoor是不准确的。应该看https://visa.1point3acres.com/h1b/salary。评论里说qa薪水低于开发50%,他拿google为例。其实google的test engineer2017 base中值是130k 而software engineer2017 base中值是132k。出处见评论。
- 150