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
Useless work on useful things Anyone can verify by simple observation two important facts. The first is, that whenever humans design and make a useful thing they invariably expend a good deal of unnecessary and easily avoidable work on it which contributes nothing to its usefulness. The second fact is that all useful devices have got to do useless things which no one wants them to do. Who wants car to get hot? Or to wear out its tires? Or to make a noise and a smell? David Pye, The Nature and Aesthetics of Design The works of GodIf you have to do tedious workWe might as well make them beautifulAgainst form follows functionCombinations and arrangements function