How much of the nature of our software, its look and feel, the aesthetics, presentation, and capabilities, are determined by the nature of the tools that we use to create it? As developers, as artists creating works of interaction, data storage, and algorithms, isn't the result of our work as tied to our tools as a potter's works are tied to her clay and glazes? And hence we share pretty much the same neuroses with respect to our tools as any artist.
With a few clicks of a mouse and by dragging some widgets here or there, we can create full application frameworks. Then once inside the code we press "dot" and select from a list of actions. So we love our tools because they allow us to do in one hour what used to take us a full day.
At the same time however, if you want a highly animated presentation, then your tool might be Flash. And if your application requires extensive analysis, dicing and slicing of multidimensional data, then your tools may include SQL and Cognos. And once you've chosen your tool and made your investment to learn its bells and whistles, woe be the time you need to develop something that your tool doesn't support.
The tools that you use define you nearly as much as your accomplishments. True artists define a unique style by developing their own set of tools. A structure, a methodology, a bunch of accouterments seem to create themselves a priori out of thin air and then this drives the subsequent creating. When you are developing you should always strive to increase the variety of tools at your disposal, and leverage them by finding ways to blend them and make them work together.