Software Engineering as a Craft An Article by Thomas Wilson thomaswilson.xyz The decreasingly tangible product of code, i.e. that all we have are files on a hard-drive, may make it easy to forget that writing software produces a thing. If you produce a wonky chair or an overly long fork, it’s easy to see the quality of work was not great. By calling for a perception of software as a craft, we fight against that ability to forget or not notice the final quality of the product. You could watch two software engineers with different levels of experience, or in different domains, and it wouldn’t necessarily be so easy to guess which is which, at least from a distance. So maybe there is something to be said for the value of software as a craft, for sometimes focusing on the practice of making better, or at least different, software just for the sake of it. craftsoftware
Until we leave the gate behind And yet the timeless way is not complete, and will not fully generate the quality without a name, until we leave the gate behind. Indeed this ageless character has nothing, in the end, to do with languages. The language, and the processes which stem from it, merely release the fundamental order which is native to us. They do not teach us, they only remind us of what we know already, and of what we shall discover time and time again, when we give up our ideas and opinions, and do exactly what emerges from ourselves. At this final stage, the patterns are no longer important: the patterns have taught you to be receptive to what is real. It is the gate which leads you to the state of mind, in which you live so close to your own heart that you no longer need a language. This is the final lesson of the timeless way. Christopher Alexander, The Timeless Way of Building The natural thing to do zenending