Zen and the art of software development
Wednesday, April 16th, 2008One striking thing in the Zen philosophy is the reconciliation of form and substance. In western cultures form is often disregarded in favour of substance. It is actually considered as a distraction, a ‘nice to have’. In Zen the form and substance can not be separated. Form must be the reflection of substance so that the essence of a thing can be grasped. Well that is my (shallow) understanding of it.
How does that apply to software development ? In the same way it applies to all design works. When we develop software we should work hard, and refine our work until its form, its structure matches its purpose.
Another aspect of Zen is the necessity of constant practice and refinement to achieve mastery in one’s art (who said Kaizen ?).
This translates into a fluid attention to detail. In other words, details are taken care of, not by a concentrated effort but by the natural flow of thoughts that creates the work of art that your software should be. Attention to detail is probably not a good term for that as it expresses exactly the opposite of what needs to be achieved. In effect, when we master our art, our mind should be as the water that smoothes the pebble by constantly flowing around it.
The meaning of this is that those who work with an exclusive attention to the final product are bound to deliver a rough product. And those who focus their minds on successive details are bound to not deliver a hacked product. All things considered, it is not that far from the Greek approach to art.
My readings on Zen: The Unfettered Mind and The Book of Five Rings

