In my last post I ruminated on some habits of mind I’ve developed over the years that are not serving me well in guitar building. In software engineering or other “symbolic” construction activities, we can undo our mistakes with a keystroke. Writing a paper is a bit like shaping bits of wet clay into a form; revising and editing is like shaping fine details. If we don’t like how something is coming out, we can scratch it out and re-do it.
In woodworking and other crafts, there is no undo button. Recovering and re-working a mistake can be quite time consuming. As I continue my guitar build, I pass several points of no return. If I take too much thickness off a side or plate, I have to start that piece over. If I bend a sharp kink into one of the sides, it’s unlikely I can un-bend it smoothly, and have to start from scratch on that piece. Once both the top and bottom are glued to the sides, there is no going back to tweak the interior bracing. The real hold-my-breath moment will come when I’m trying to fit a finished neck to a completed body – if I take too much material out of that joint while adjusting the angle, I’ll have to build an entire new neck.
Guitar making calls for a particular set of mental work habits. Critical among these is careful planning and execution of individual work phases. But that doesn’t make the way of the software engineer “bad” – rather, it’s an inappropriate set of habits for the job at hand.
Modern software engineering paradigms depend upon rapid iterations of design-implement-test cycles, with lots of throwing-out-and-redoing of code. See, for example, Agile Programming philosophy.
Professional software engineers have reflected on how programming lies somewhere on the span between art and engineering. In the arts, the creator is in constant communion with the medium, be it a canvas, manuscript, block of marble or code module. S/he works toward a goal, but there are always opportunities for the work to reflect back “hey, I’ve got a better idea!” Good artists listen, appraise, and change direction in response to new revelations. Agile programmers follow a similar process with respect to both their discoveries along the way and the changing needs of their clients.
Woodworking can sit in varying spots of this spectrum as well, in some cases being more linear in process (think building a house), in others smack up against the arts end of the scale (starting with a chunk of firewood on a lathe, and ending up with a bowl). In the case of a guitar, there are strict constraints on certain design elements – the frets have to be spaced just so to produce well-tempered intonation (but see the fan fretted guitar for a clever innovation – retaining the relative fret spacing string-by-string but scaling each string to a different length). But there is also wiggle for late changes; on my current guitar, I’ve decided to alter the original plan for the neck-body joint. Rather than use the classical Spanish heel, I’m designing a bolt-on neck joint. Totally non-traditional in the classical guitar world, but this joint affords a lot of fine-tuning at a critical phase of construction (getting that angle right). For a relative novice luthier, having this flexibility is a gift – I don’t have to get everything “just right” several stages in advance, only to discover weeks or months later the critical mistake that has killed any chance of getting a playable instrument from the process.
The bottom line: I’m not “bad” for needing to learn a different set of work habits when I close the laptop and put on the shop apron. These different habits of mind serve well under the appropriate circumstances.