Friday, May 28, 2010


"I'm looking for a technical tester." This is code.

This really means one of several things:
  • I want someone who can code (developer-lite)
  • I want someone who will create a robust automated test suite and tools to run it
  • I want someone who knows what a mouse is and has a prayer of understanding a command line.
  • I want someone who knows how to understand and manipulate a system, and to apply thoughts derived from computer science to a mental model of how it works.
These are all legitimate needs. It's up to you to figure out which one is your true "technical tester".

Testers who are primarily coders are great. They make wonderful tools engineers (really just a name for someone who writes code used by testers). They are great for testing APIs and other things where interaction with the system under test is done through code.

Testers who don't code much are fine. They can still think deeply about a system. Some of them are great with usability and user interface because they don't think about the code but about the system. Testers like this can also usually put together scripts and other helper code snippets when they need to as well.

Testers who don't code at all are fine. They're more limited in what they can do, but the tester who can't work on Linux is limited as well, just in a different way.

Don't tell me you need a technical tester. Tell me you need a tester who can do X, Y, and Z. Only if you're specific about your needs can I find you a tester who actually meets those needs.

I'd like to thank Matt Heusser for the inspiration for this post.


  1. Where I used to work, one tester suggested to differentiate "technical testers" from "non-technical testers". I wasn't too keen on the idea, since I thought "Shouldn't we all be technical testers?" in the sense that we should be disciplined, systematic, continuously striving for ways to make our testing efficient, etc, or more than just banging keys.

    If a tester didn't know how to code but she has a good grasp of how the system works (and where it could potentially break), wouldn't she still be technical?

  2. I would consider that tester technical, yes.

    An example: there is a guy who works for me who I consider very technical. He doesn't code much - a few bash scripts here and there - but he knows Windows behaviors better than any of the rest of us. He's also the hardware guru. This is a technical tester.

    There's another tester we have who's basically a tools engineer. Most of his day is spent coding on our test framework. This is also a technical tester.

    Those two examples are partly why I avoid talking about "technical" testers. It's just too vague a word.

  3. Yeah its very strange to receive a "You are not very technical". What exactly does that mean when a manager asks you this.
    I don't think filling the testing space and time with unnecessary test scripts is to be technical.