This is a philosophical treatise on the ambiguous status of the craftsman in society: on the one hand the skilled creator of valuable artefacts ("Hephaestus"), on the other the creator of destructive machines ("Pandora"); on the one hand deeply absorbed and at one with the work and materials, on the other careless of the potentially hellish results. How to reconcile these aspects? How to have pride in our work, without becoming obsessive and blind to its consequences?
A caveat: I read this because I wanted to see if it might illuminate software development as a craft. Sennett does mention Linux developers as one example, but his major examples are more traditional: gold assaying, glass blowing, making and playing musical instruments. All of these have a much more physical aspect to them, and I am not yet clear how this ideas translate across into an abstract medium, except maybe in two cases: education and not-fit-for-purpose tools.
Sennett has interesting things to say about education: the constant attempts today to make things "interesting", to remove the boredom of repetition, are misguided. To become a craftsman requires repetition (about 10,000 hours of it, it seems), but that repetition need not be boring: it should be an engaged repetition, a part of the process of becoming one with the material. The kind of engagement is different as different parts of the process become mastered. That 10,000 hours is a long time: it translates to 10 years of three hours a day practice (for example, mastering a musical instrument) or seven years of five hours a day (as in a traditional apprenticeship), or even three years of 10 hours a day (the training regime for junior doctors). Programming, like all crafts, is not a spectator sport; it too requires practice. But how to make it this kind of engaged practice? And how can we reconcile the time needed to become skilled with the rapid change in the technologies: that traditional apprenticeship timescale corresponds to three or four Moore's law "generations". These kind of questions are, unfortunately (for me!) outside the scope of Sennett's work.
Sennett makes it clear how craft is a process both of making and of repair, and that the repair part is where the advances are made. When things are broken, not working, or the tools are not fit-for-purpose, then the craftsman has to become yet more engaged in the process, has to think more about what they are doing, and can make changes, improvements, advances. Sennett distinguishes two kinds of ways tools are not fit-for-purpose: they can be inadequate (such as early optical instruments), so ingenuity is required to overcome their limitations; or they can be too general purpose (like a flat-bladed screwdriver), so that how to use them is not obvious. Here I had an "a-ha!" moment: most software tools are indeed not fit-for-purpose, being both inadequate (clunky) and general purpose (powerful generic tools) at the same time. And much software development is repair (debugging and maintenance), rather than simple building (since copying is so cheap). So maybe we should not be so critical of our clunky, difficult-to-use tools: they are helping us advance. Provided we are suitably reflective when using them, of course.
However, those two cases are only a small part of the overall book. The rest I found mildly interesting, but not deeply informative. For my taste, it is too historical (pre Industrial Revolution), with too little discussion of the present day difficulties of integrating craftsmanship with mass production and super-human machinery. There is a only hint of a way forward here, of how to use machines to augment, rather than replace, people. Personally, I would have liked more on that, and less history.