Ambrose is one of those smart people that I have a lot of time for and I religiously () read his posts. When I started reading this post I thought that it was going to be a general rant about software quality but it eventually turned into an advertisement for a position for what I call a SDET. Actually – I stole the term SDET from Microsoft where it means Software Development Engineer in Test.

I thought it was worth pointing out because quite a few organisations that hire people like Ambrose are starting to see the value in hiring someone who has an almost dedicated focus on software quality. While hiring the kind of people that Joel Spolsky talks about here will get you a quality product having someone focused on testing rather than delivery will add that final bit of polish. Someone in an SDET role needs to be in that role long enough to establish a quality mindset and the cunning to not just observe bugs that jump up and smack you in the face but to actually hunt them down and exterminate them.

A mediocore functional tester can tell you what they were trying to do when the program crashed, a good SDET will tell you what went wrong even when the program didn’t crash, what database operations the program performed leading up to the crash and what the state of the stack and the heap were before it went down – in many cases they could probably tell you what line of code you need to change as well.

Michael Hunter (the Braidy Tester) has a great series of posts on the differences and similarities between good developers and testers:

  • Hallmarks of a Great Developer
  • Hallmarks of a Great Tester
  • Hallmarks of a Great SDE/T