Software Engineer in Test Unicorns & Coding Tests

For years I have been trying to recruit testers that can write code, or developers that have a good test mindset and donā€™t mind having test in their job title.

Why is it such a rare skill-set?

The software I work with has no front-end, you need to write code to manually test, let alone do anything else in-depth.

I speak to a good number of people that say they are an SDET (or whatever variation you can think of), but yet donā€™t follow core development principles. No their code doesnā€™t have unit tests! No they donā€™t do Pull Requests and code reviews!

But the main rant is with the coding test solutions. We have a simpleā€™ish coding test we use to get an idea of coding skills prior to face-to-face interviews. Common practice now I know.
The thing is, so far only a few have actually had any tests.
Isnā€™t the clue in the job title.

I mean I could just about cope, maybe, with no unit testing around your code, but some system level tests please.
And maybe more than one.

Headcount for 13, found 4 in 9 months. Though that is better than I have done previously.

Sorry, just needed to let it out. Now to send out 3 more coding tests and cross fingersā€¦

Problem, put simply: Testers who come from a development background are often the ones who failed to get a job in development. For testers with no development background, who want to go into development, itā€™s an uphill struggle. I stopped developing stuff over twenty years ago, first for a more senior, customer facing support role, and later test. Training myself back towards a more development oriented test role is proving anything but trivial (and thatā€™s before you throw in modern build and continuous integration).

Perhaps youā€™d be better thinking of the so called Software Developer in Test as an infrastructure engineer who acts as an enabler (APIs, frameworks and so on) to less development minded testers?

1 Like

Luckily I havenā€™t had that experience re: failed developers. The ones I have worked with (and now) are awesome developers who have taught me loads. But I guess that could happen.

But as for tester -> tester than can produce quality code, yes I agree it is an uphill struggle in most places (for those that want to gain those skills). I have found companies either donā€™t give the support for learning, or if they donā€™t not enough opportunity to develop the skills with real coding work. This is probably why there are so few that sit in this space.

In my experience there is no shortage of testers from some sort of coding background. There are lots of testers, especially from India and the Philippines, with CS and IT degrees.

However I do think that the previously non-coding testers who have learned coding just for test automation may find that the breadth of their coding knowledge suffers in comparison - i.e. in language and type theory, design patterns, algorithms, databases, networking, web frameworks etc. They would also lack the practice and coding experience that seasoned developers (even ā€œfailedā€ ones) and those who did significant programming at a very good CS, SE or technical IT course would have.

Iā€™ve often wondered why it is so hard to find testers who can write code.

Like seen what @darth_piriteze is talking about. People wanted to get into software development but they just didnā€™t work out. They would have a college or university degree in computers, had a software development job but didnā€™t work out. So the manager would try to get me to hire him as a tester. The thought was they had technical knowledge. If they could apply it to software development, maybe they could use it as a tester.

When we started doing automated testing, these same people thought this was something they would be good at. Maybe some of them see it as a way back into becoming a software developer.

As @paulmaxwellwalters points out, there are also people who just want into the industry. They donā€™t have the background of a person with a computer science degree. They probably got a job as a manual software tester and thought it would be a good career move to get into automated testing. They donā€™t understand things like different languages, design patterns, algorithms, etc.

Thus it isnā€™t hard to find either a person with a CS degree but failed as a programmer or a tester with no CS degree and just enough programming knowledge to write an automated test.

Personally, whenever I was a hiring manager, the best testers who were also good at programming, databases or networking tended to be people who were programmers, DBAs, IT/System Engineers but found they didnā€™t love it. They fell into testing and loved it.

Iā€™m actually one of those people. I was a software developer. I was self-taught and worked my way up the chain. After 17 years of software development I still didnā€™t feel satisfied. I thought Iā€™d be happier as a teacher. So quit my job and went back to school to work on a B.Ed degree. While working on that I took a job testing development tools (assemblers, compilers, IDEs, etc.). That was 20 years ago and Iā€™m still testingā€¦ I found something I am passionate about.

I wasnā€™t a bad software developer. i didnā€™t even know what QA or Tester was. I took the job as a software tester because I didnā€™t want to take a ā€˜realā€™ job as a software developer. I never expected to fall in love with testing.

I think now Iā€™d ask people to name a few books on testing. There are books I really enjoy like the books I read when I was a software developer. As a developer I liked books like The Art of Programming (Donald Knuth), Design Patterns (Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides), Intro to Algorithms (Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein), etcā€¦

As a tester I like books like Agile Testing (Lisa Crispin), Developer Testing (Alexander Tarlinder), xUnit Patterns (Gerard Meszaros), etcā€¦

I start interviews with ā€œName a few books or authors who you have read and made you a better tester.ā€ Maybe I have to accept blogs, podcasts, conference speakers, articles, etcā€¦

1 Like

Iā€™m another who started as a developer then fell into testing and never looked back. The coding is a bit rusty these days, but thatā€™s got more to do with being the only tester in the company so I do everything. It also means my automation has to be as close to zero maintenance as I can get it because I donā€™t have the time for complicated maintenance schemes.

That said, Iā€™ve taught myself C# (and enjoy it) and enough F# to muddle through with it, I can work with pretty much any programming language that doesnā€™t use pointers (first language was Java. Iā€™d need to really study to understand pointers). I enjoy playing with code and building test automation - but I strongly suspect Iā€™m operating at a level that would terrify a lot of people who think they know test automation (Iā€™m extremely active on SQA stack exchange and some of the code-based questions thereā€¦)

People who donā€™t understand code structures and canā€™t break down a problem in a way that will end up with usable, maintainable code are not good choices for SDET positions. They might be okay for expanding on a well-written test suite in a language theyā€™re familiar with, but they donā€™t typically have the skills to create frameworks - or create ways to speed up testing tasks by building utility tools.

I admit I donā€™t have nearly as much unit testing of my code as I should (I tend to create it in small chunks that I build on iteratively), and thereā€™s not much in the way of code review happening (where I work the devs donā€™t do much code review either, and I donā€™t really have the ability to get them to review what Iā€™m doing - not to mention my automation work keeps getting pushed to the side by things that need to be done now. The joys of the lone tester).

And I love the book list. Both Agile Testing and More Agile Testing are excellent books. My other go-tos for improving my skills are the Dojo, this forum, and the Ministry blog roll. The blog feed is possibly one of the best resources online.

1 Like