Thursday, October 7, 2010

Between Us and Our Creation

Lo back in the mists of time, there was the engineer. And he had punch cards. And that was it. And since then, we've grown many tools. We have compilers and debuggers and libraries and test frameworks and code generation and IDEs and runners and automation tools. And all these things are good. Unfortunately, all these things stand between us and our creation.

I wonder if we really still understand the software we create?

I've been hiring for development and QA positions, and discovering that people can't tell me about the systems they've worked on. They can only describe what their tools showed. They don't really understand what's going on. I find that very disappointing: when I ask a tester what portions of their systems are prone to race conditions, I get a blank stare. When I ask what a failed disk would do to their system, another blank stare. They don't really understand what's happening to a level where they could really identify a potential problem area or and track it down. They only understand the lumps of things their tools expose.

So here's my challenge to you: Throw away your biggest crutches for a day. Get rid of your IDE and your log parsing tool. Really look at your system and what it's doing rather than just what your tools are telling you. Let's see how good our understanding really is.

So here's my challenge.

1 comment:

  1. I'm with you. It really bugs me when testers work with their heads down just looking at what's going in and coming out, without trying to understand the big picture, what the application's supposed to be doing.

    When I'm trying to get to grips with an application I like to start by sketching out on one sheet of paper a simple diagram explaining (to myself) where the application fits in with others, and who the users are.I think that's just basic. If you don't understand that then you won't be able to make sense of the real detail, and you won't recognise instances where tests appear to be passing, but in reality there's something wrong.

    Anyone who thinks you don't need to look at what the whole system's doing is taking a very narrow and technical view of their job. In fact, I'd go so far as to say they're accepting that it's not a very skilled job.