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
We are working against the grain of the wood A woodworker works along the grain of the wood to prevent splinter. A butcher slices across to the muscle fiber to improve tenderness. A sailor trims the sail to balance the lift and drag from the wind. When we respect the material, the material pays us back in convenience, safety, and efficiency. Good web design requires the same understanding of and respect for the materials. And that material is the browser, along with its semantic HTML, default styles, and standard behaviors. But the wide use of design software such as Figma, Sketch, and AdobeXD has trivialized the nuances of such material into “canvases” or “artboards” of pre-defined sizes. The convenient styling and manipulation of pixels and objects have disguised the hierarchy of the DOM, the constraints of the device, and the personal preferences and browser setting from real users. Dishonest tools encourage dishonest design. We are working against the grain of the wood. Chuánqí Sun, A case against "pixel perfect" design The Web's GrainWhat the brick really wants.What the material wants to be materialwwwdesign