Why it's so hard to hire good Quality Assurance Engineers?
February 26, 2024
Join Quality Assurance Jobs!
Low entry barrier
The software industry pays well. But it’s hard to get started - you need to pick up lots of context. Coding languages, frameworks, tools - it takes years to learn and it’s always changing.
The QA (Quality Assurance) jobs require, theoretically at least, less context. You could only do manual testing i.e. clicking around an app and writing down what you see. You could do that without any programming knowledge.
You also have the SDETs - Software Development Engineers in Test. They write test code and maintain test infrastructure but the context is still rather narrow. They don’t need to know the whole codebase, just the test bits which are not mission critical and are comparatively more straightforward.
Thus lots of Quality Assurance Engineers and Software Development Engineers in Test who are newcomers to the industry. It’s easier to get your first gig.
But why doesn’t the low barrier make it easier to hire?
You’ve got a large pool of candidates. Just pick out the most talented. This would be true except…
It’s hard to assess candidates for the QA position
You can’t just look at their GitHub profile. You can’t ask them to write a function that reverses a string. But also…
Nobody wants to stay in QA
A Quality Assurance Engineers who want to move on to development.
Sound familiar? QA is seen as a bit of a career dead end and hiring managers will advertise the QA positions as a way to get your foot in the door. Seems like a bad idea: why hire someone who doesn’t want to the job? And if it work out, it means your talented QA Engineers and SDETs are always leaving (even if they technically stay in the company).
So why is it important to have good QA Engineers?
We said QA requires less context. That’s not the whole story. Quality Assurance engineers require different context. Knowledge of the business, the users, the product. In short: domain knowledge.
This levels out the field between QAs and Software Engineers. A dev might come in with 10 years of JavaScript experience but they can’t tell you if your app does what it’s supposed to be doing. They’ll need time to acquire that domain knowledge, just like new QAs.
Once you have domain knowledge, you need to diligently problem solve. It’s not trivial and it’s not glamorous. It’s hard work. And it’s important work. A good Tester knows your product inside and out and knows if you’re shipping what the user needs.
So why does nobody want to stay in QA?
Apart from career path challenges, there’s also bad tooling and bad practices. As if the QAs job is not hard enough, it feels like the tooling and everything around it is years behind the curve. So now you’re looking for a diligent problem solver who’s also willing to put up with all of that.
Why does nobody want to stay a Software Engineer in Test (Test Automation Engineer)?
Same reasons as above. They’re Engineers writing code (just happens to be code testing other code) and it gets complex and requires planning and pragmatism. And the tooling and practices are not always up to scratch. So you’re again looking for a diligent people that will put up with it.
So how do I hire a good QA Engineer or Software Engineer in Test?
Be aware of the challenges listed above.
Realize that a good Quality Assurance Engineer or Software Engineer in Test is worth their weight in gold. Pay them accordingly.
Treat them with the respect they deserve and they’ll take care of your product.