A while ago, on the 24th of February 2009 to be precise, I read a blog post from Corey Haines in which he defies Steve Smith view of the craft of software.
Not long after Corey’s post was available Steve posted another post on his blog replying to Corey’s post (flame was guarantied…
)…
Reading the posts (Steve’s and Corey’s) I could actually see how much Steve was really missing the point of the meaning behind the words Software Craftsmanship…
I don’t really want to thrash on anyone here, as I think that there is a perfect equilibrium between people who produce, as Corey describes IKEA software, and us Craftsmen. But what I will try is to give my personal view, as a craftsman, on the particular aspects touched in the above mentioned posts.
The vast majority of the businesses today work with professionals who either stumbled into the profession or got really disillusioned by it in some way. Of course a lot of people who would argue with this statement and blame ‘the business‘; They force us to work this way, etc, etc
In fact I disagree with this statements, as I believe that it is our fault, as an industry, to have accepted these terms. I would never tell my dentist how to do his work or how long he should take for it. I trust him as a professional and his judgement.
I think that this comes from the very fact that, as Corey calls, the industrial programmer has allowed the business to dictate over the technical people. In most cases this people accept Death March projects due to fear and sheepish behavior which has lead the software industry, as a whole, into a place where software is not really valued any more and people are expendable.
The point actually is that for most people (business and developers) this is a good place to be. They are used to it and feel, more or less, comfortable with it; which is perfectly acceptable.
I really like the analogy Corey uses to compare the Software Craftsman to the industrial programmer, Amish Craftsman vs. IKEA. Actually the comparison carries much more weight than I thought in the first place. IKEA products look nice and sexy, people like them (I have a few things from IKEA myself). It is a cheap solution for a problem that you have now and you don’t really care much about; I want a cheap bookcase now, hast to look good, must be cheap… On the other hand there are things that you really care about, that you want to have over a long period of time, if possible forever. There you look for the intrinsic qualities in it, the process by which they where build, the materials used, the level of detail the craftsman has put into it.
Let me explain this with an example. I wear a very nice watch, I love watches and I have had many watches over the time. But the watch that I am carrying since a couple of years now, has a special value to it. This watch was crafted by a master watchmaker, he used his skill, his knowledge and his sense of perfection to create this time piece that I wear everyday on my wrist. The mere fact that it was conceived in such a way, but just one master craftsman, makes it special to me.
I could have bought a cheap watch, there are watches (I just checked at amazon) that cost as much as 625 times less! Do they measure time less efficiently then mine? I am not sure, possibly not; but then again, I am not looking for only time measurement and tracking…
Coming back to Steve Smith and his article. I personally consider that Steve’s points are really valid and make perfect sense, but not for the craftsman. I don’t believe a craftsman cuts quality corners in any way, not even, actually specially not, if it is for a friend.
I don’t know Steve personally and I cannot dwell into his thoughts, but what I can read about him in his blog does not lead me to consider him a craftsman. He might be a very skilled practitioner, and an awesome developer, still there is more than just that to be a craftsman, which Corey really distills very nicely in his views of the craft (I will try to post my thoughts on this in a later post).
All in all, I think that there is a lot of heat going on in this discussions that make me wonder. I don’t think that Ingvar Kamprad would ever say that he is a craftsman and / or be offended not to be called one. He is just part of another type of business, responds to a different problem altogether…
Just to end my post about this episode I want to give a big thanks to Corey! Your passion about the craft is giving a lot of like minded people hope and inspiration!
Paul Beckford
/ February 28, 2009Hi,
Excellent post. I can feel the passion for what you do which is great. To be fair to Ingvar, IKEA actually delivers on its promises. The furniture looks good, but won’t last a log time, but at least its cheap. If you are happy engaging with their furniture on this baisis then ikea is fit for purpose (“fit for purpose” being one definition of quality).
I’m not sure that we in the software industry fair as well though. How many people who commission software anticipate that they will end up paying for a complete re-wrie in six to 18 months? Yet this is a common experience. The difference is that IKEA customers now what they are getting, in the most part software customers don’t.
Having said all this, I needed a sofa for an apartment that I am renting on a short term lease. So I decided that the best option would be to buy something cheap and cheerful from IKEA until I got around to buying my Condo. What happened? Well, I just couldn’t bring do it. I spent several days walking around IKEA and in the end I just couldn’t look beyond the poor craftsmanship, the cheap look and the lack of quality (in my eyes).
So here I am writing this comment on an office chair, still without a sofa. But at least my choice is congruent with I am, and I’m happy
Paul.