AMA: hiring technical testers

Mark asks…

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?

My response…

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.

Reactions to my technical testers post

I was surprised at some reactions to my ‘Do software testers need technical skils?’ post.

I was told that including quotes from Joel Spolsky undermined the contrast in my article as Joel apparently thinks testers are entry-level positions. This is supported by Joel’s 13 year old blog post, not the much more recent article I had included the quotes from.

I don’t believe Joel Spolsky does consider testing entry level; for instance, if you have a look at current QA openings at his company, you’ll see that they require ‘top notch testing skills‘.

But the most surprising reaction was this one:

I liken it more to asking whether paramedics should study medicine.

What surprised me the most was it being retweeted by James Bach, especially considering how I enjoyed the article he wrote recently about how useful he found his non-technical sister as a tester in developing a personal computer program.

“A tester of any kind can contribute early in a development process, and become better able to test, by pairing with a programmer regardless of his own ability to code.”

~ James Bach

Anyone who knows me will know that I am a technical tester myself. So if I was hiring a tester to be part of my agile team I would much prefer to have a technical tester than a non technical one.

But if I had to choose between an intelligent technical tester who wanted to do nothing but code automated test scripts, or an intelligent, curious tester without technical skills, I would choose the non technical tester every time.