I'm a user. I use tools available to me to develop software applications. I identify a need and go find an existing tool to answer that need. Sure, I have to think when I'm learning to use them, and even think about what methods I prefer and why, and sometimes just think right out of the box, but still I'm a user.
But I am not an inventor. I generally don't step away from my task at hand - developing the applications - to think really hard about how the tools I use could be better. I spend my time daydreaming about how to improve the software that I am writing, not what I'm writing it with. Sure, I think about how they might be easier or more convenient. But not how they can better in big ways.
People who think like inventors impress the hell out of me. I have a friend in Boston who is a Java programmer who has a knack for looking at available tools and dreaming up uses for them. He rose pretty high in the ranks at BEA because of this way of thinking. To me, he is an inventor and really thinks out of the box.
Coming from another perspective, those who ask the question "how should software work" are inventors. We see the Sam Ruby's, Don Box's and Werner Vogel's of the world and are surely in awe. That is just a slice of the pie of course. Clemens Vasters, Rocky Lhotka and others who are not quite so far out on the stratosphere, who are in many ways, developers like me, are also in on the invention game.
I was thinking of this recently when someone asked me for my ideas on "thought leaders" in software development. In my response, I broke the software developer down into five groups:
- People who are inventing / designing new tools. How should software work. (that's Don Box, that's also people like Alan Griver and also the software process thinkers like the )
- People who are creating the new tools based on the output of people from #1.
- People on the cutting edge of working heavily with the new tools (eg Charles Petzold writing an Avalon book, Michele Leroux Bustamante writing an Indigo book, Fritz Onion, etc)
- People who see the tools and understand how they fit in the bigger picture. (Markus Egger comes immediately to mind here. Check out his Publisher's Points in CoDe Magazine to see why. Anyone who writes great op-ed pieces usually falls into this group.)
- People who know our existing tools REALLY well
- All the rest of us
Granted this is my own twisted little view of the world and I am working from my gut instincts more than anything else.
Although all of these groups are impressive, it is the group in #1 that I consider to be the thought leaders. Inventors span #1 and #2. I think of myself as dabbling in #3 and #5 but more often than not I'm find myself in group #6, struggling with the tools that are laid out before me and trying to make them work to my advantage.
What is your definition of an inventor? Of a thought leader?