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
Thinking in terms of outputs In our use of digital and analogue filing tools, we classify information through folders. An article about railway construction gets filed under ‘infrastructure’ or ‘transport’. In Evernote we tag it with ‘rail’ or ‘construction’. This is thinking like a librarian and not like a writer. We are classifying the information as an input. The reason you take notes as a writer is to produce content. It makes sense, then, to take notes in line with this goal. Traditional filing like this tends to fail when you attempt to write your content. You are stuck trying to figure out which categories will be relevant for your proposal, paper or blog post. Interesting writing often comes from connecting separate fields through a common idea. By revealing the common denominator. By unifying two seemingly-contradictory ideas. How can you possibly achieve this if you’re looking in the same category for your information? The categories simply do not fulfil the function required by the writer. The notes you take and indeed, the way you process information, should be with a specific project or idea in mind. You must classify information in terms of its outputs. When you take notes on a book, think about how this could apply to a specific idea you had or how it argues against a paper you read last week. The premise is that you should be organising by context and always trying to connect the dots between the content you're consuming. Will Darwin, How to Think About Notes www.willdarwin.com How to be a genius notetakinginformationwriting