Pretty fun post actually, sparked a lot of debate and good examples on both sides. So I got to thinking tonight and the funny thing about that post is that I was talking about why I reject the title of engineer and of course it led to a debate about whether we should all be called engineers or not which I think is deconstructive to what I was trying to convey. Then I got to thinking that it would probably make more sense if I provided the audience with what I would prefer to be called.
I want to be known as a software craftsman.
I see myself on the art and creative side to be more like a craftsman. I don't build (or have any interest in building) the operating systems, or the developer toolsets like visual studio or resharper or eclipse any more than the average carpenter has an interest in building his own hammer and saw. Software craftsmanship is a term that has been bandied about in the community off and on, but it really resonates with what I attempt to do. What do I attempt to do?
I attempt to select tools, patterns, and practices and with them craft beautiful, working software.
To do this properly, I have always tried to approach new tools, patterns, and practices without ego. Like a master craftsman, I need to understand what is available to me and know when to use a claw hammer and when to use a rubber mallet. Like a master craftsman I put great care into my code and take materials provided by others and create something of value. Above all, I strive for my employers to add value faster than I add cost. This is something that I think many of us forget in our quest to use the latest neato tools and patterns. Is what we're doing adding value faster than adding cost? If it isn't, I will reject said tool and pattern for the task I am on. This is where some others in my circle of the community get annoyed with me, they start talking about new patterns and tools like LINQ etc and the first question out of my mouth is "whats the value to me? Will this add value faster than cost?".
As a side note, I tend to favor beauty in simplicity, not in complexity, as anyone who has worked with my code can see.
Print
posted @ Friday, June 29, 2007 2:44 AM