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
Choose a suitable design and hold to it A basic structural design underlies every kind of writing. Writing, to be effective, must follow closely the thoughts of the writer, but not necessarily the order in which those thoughts occur. This calls for a scheme of procedure. In some cases, the best design is no design, as with a love letter, which is simply an outpouring, or with a casual essay, which is a ramble. But in most cases, planning must be a deliberate prelude to writing. The more clearly the writer perceives the shape, the better are the chances of success. William Strunk Jr. & E.B. White, The Elements of Style Such tortuous syntax