Right now the software testing space is a very challenging area to hire in. We see many candidates that lack strong technical skills, in particular strong foundational knowledge in programming and automation. Why do you think this is the case? How can we improve this?
Great question. I believe there’s a few factors at play here.
Firstly, software testing still doesn’t really get taught at universities. I know of a couple of Australian universities that offer a single software testing course, but from what I hear it’s the same as 10+ years ago when I did my software engineering degree where testing was always just an afterthought rather than taught as a way to build quality self-tested code. So I have found there isn’t technical testers with those skills coming straight out of university – they need to pick up these skills in the industry. I’ve been in some organisations where we’ve put IT graduates into these technical roles to develop these skills but they typically those graduates have wanted to move into software developer roles so this wasn’t successful.
Secondly, in the past, I’ve found few organizations that fully recognise and value technical testers/software test engineers as a profession it it’s own right, so a lot of people who have these skills may rather work as a software engineer/developer where they’ll be recognised and valued more. In the past, places like Facebook had zero testers or people will a sole responsibility for QA, although from what I have heard this may have changed. I have noticed recently there is a general trend to value these skills more highly of late and since there wasn’t enough demand in the past I believe it’s a catch up game of increasing supply.
Finally, technical testing particularly developing test automation for systems that haven’t been built with testability in mind can be a tiring task: especially when dealing with inconsistent or non-deterministic test results which an organization is often relying upon to release software rapidly. This potentially discourages a lot of people from taking on these roles, although as my GTAC talk promoted it doesn’t have to be this way if we build systems with testability in mind as a collaboration between testers and developers.