About

 

I’m a professional software engineer, and this is my place to write about software and technology.  I work for a company whose name you would recognize, but the opinions I express here are my own.

The computer is the lever arm of the mind.  It increases our ability to store, manipulate, and analyze information.  A continuous pace of growth in computing capacity is brought on by the self-fulfilling prophecy of Moore’s lawSome people believe that it won’t be long before we’re living in an age of amazing and transformative technology brought on by this ceaseless progression.

And yet, I find myself increasingly frustrated by my inability to make effective use of that computing potential.  Many tasks which were difficult 20 years ago are still difficult today, and many of the tools available to tackle them are essentially unchanged.  Far too often I find myself trying to answer fairly simple questions and being faced with the choice of either investing significant manual effort or writing single-use software from scratch.  And if I find these things to require too much effort, what must it be like for non-programmers who can’t just write a few hundred lines of code to automate some information gathering and analysis for them?

The title “Sharper Tools” is a reference to a chapter in The Mythical Man-Month.  (If you work in software engineering and haven’t read it, shame on you!)  The chapter “Sharp Tools” describes the need for specialized tools, and recommends assigning part of a software team the responsibility of creating and maintaining those specialized tools.  My meaning is that I long for more effective tools than I seem to have available, and that my tools don’t seem to be getting much sharper as time goes on.

I don’t mean to minimize the advances of the last 30 years of computing (the GUI, the wide availability of the Internet, portable computing devices, the ability to store and play back high quality audio and video, etc.).  However as someone with a detailed understanding of what computers can do, I know there’s a lot of power we fail to tap into.  I know that, except for common tasks like what you can do with a spreadsheet application, even fairly simple kinds of analysis often requires writing custom software.  I know that the significant graphic display capability of most computers is used more for rendering GUIs and web sites or playing video games than it is helping us understand or manipulate complex information.  In the words of Tyler Durden “I see all this potential, and I see it squandered.”  Or in the words of Richard Hamming:

Whereas Newton could say, “If I have seen a little farther than others, it is because I have stood on the shoulders of giants,” I am forced to say, “Today we stand on each other’s feet.”

This may sound like the perennial question “Where are the flying cars?”  It’s not like I expect a Knowledge Navigator tomorrow, but many of us carry around more computing power in our pocket than “supercomputers” used to provide.  I don’t think it’s unreasonable to expect a little more ability to make use of the computing resources which surround us all the time.