Developers as toolsmiths
I was thinking the other day about software development when it occurred to me that as developers, we are primarily creating tools. Using tools to create tools, more specifically. There is a huge continuum of tools that we might be involved with – tools for ourselves, tools for our users, tools for generating other tools – you get the idea. Even if we are creating a website, presumably that is a very high-level tool for the intended audience to do their jobs better or to be entertained, to name a few uses.
If we develop the idea further, perhaps we are doing tool-driven development (unfortunately TDD is already taken)!