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
Guided by image In our minds, the drawings we had originally made for the columns and capitals were no more than first approximations of the final shapes. We assumed that we would work out the real shapes during construction, and left the inaccurate approximations on our drawings, just for the sake of the building permit. Fujita, used to working with architects in System B, assumed that whatever was on our drawings must be what we wanted, and must be implemented as drawn. Anybody who was making those column capitals, if they had seen this "double" capital, and had been free to make something harmonious, would have done it differently. But Fujita's people, in System B, did not know how to be guided by reality. They were guided by "image". So Fujita, in this situation, was not free to respond in a natural way to what they saw. They were trapped by the image-making process they were used to. But because of this, they doomed their own carpenters to a pretentious kind of slavery, producing whatever silly images they were told to do, without being able to ask themselves whether they were beautiful, and unable to use their own sense of reality to make them better. Christopher Alexander, The Battle for the Life and Beauty of the Earth Maps and observation design