A programming language is a tool. These days in fact it’s more a toolbox as there’s an entire ecosystem associated with a language that makes it more or less suitable for a particular discipline (e.g. website development). There are many other tools beyond languages of course: CORBA, J2EE, SOAP, AJAX, Visual Studio .NET, Emacs etc

The obsession we have with our tools is verging on the sexual. We worship them, we endlessly compare them, we get excited about this or that extension. It drives much conversation in corridors and at conferences but it’s largely worthless because there’s no context.

Does a carpenter get excited about a saw, a power-drill or the latest hammer? Not really, because long ago they realised that whilst one must know how to make effective use of a tool and how to maintain it whilst it goes unused, what really matters is figuring out what the job itself actually is. This is the context that dictates which tools are appropriate.

We speculate about concurrency, we speculate about building websites, we speculate about writing this or that application but it’s all pointless until we actually set about a specific task with intent.

The smart techie has a good grasp of a wide range of tools, knows when to use them and ensures they have meaningful escape plans (that may never be implemented) in case the day comes when those tools turn out to be the wrong choice or need replacing. Most of all a smart techie puts thinking and planning well before worrying about tools.

In simple terms, we need to stop playing with our tools and focus on the real challenge, tackling real-world problems with elegant, simple, well thought out, maintainable, cost-effective solutions. Tools help you build such things but they aren’t the essence of it.

  • Share/Bookmark
4 Responses to “Tools”
  1. Robert Brewer says:

    “Does a carpenter get excited about a saw, a power-drill or the latest hammer? Not really, because long ago they realised that whilst one must know how to make effective use of a tool and how to maintain it whilst it goes unused, what really matters is figuring out what the job itself actually is. This is the context that dictates which tools are appropriate.”

    That’s not been my experience in construction. Twenty-somethings get excited about saws and power drills and hammers all the time. Like the software industry, the newbies are infatuated with cool tools for a period of time, which only wears off after they gain experience in the work and are on their 2nd or 3rd set of tools.

    Replace “smart techie” with “experienced worker” and your statements ring truer. I’m not convinced there are any shortcuts to that.

  2. Dan Creswell says:

    Hi Robert,

    “Like the software industry, the newbies are infatuated with cool tools for a period of time, which only wears off after they gain experience in the work and are on their 2nd or 3rd set of tools.”

    In my own experience I’ve seen that to be true, unfortunately I’ve also seen many an “experienced worker” continue to fall into the trap. One might claim that maturity of the industry, not just the individual workers is required I guess…..

  3. Steve Jones says:

    In other words… THERE IS NO BLOODY SILVER BULLET and the challenge of IT remains in the intellectual sphere of design not in the implementation sphere of coding.

    THINKING is hard, typing is easy.

  4. Dan Creswell says:

    You know, I was actually thinking of quoting Brooks on this one but I didn’t want to be ripping off your style. Nevertheless, yes exactly.

  5.