If you are a programmer, attending a writer’s workshop may not be an event on your list of things to do, as you probably do not consider yourself a writer. And yet, if you are a developer on a widely used piece of software, the consequences of what you write may be seen by more people than read the material of all but the most popular of authors. Furthermore, despite all efforts to quantify and qualify software development as a branch of engineering, it remains a creative act, and the code of the best developers is similar to poetry. It reads like a great sonnet, with a rhythm and flow that impresses and teaches you.
Furthermore, software development is more than just creating code, there are associated documentation and help files to be written. While substantial improvement in the quality of user’s manuals has been made over the past several years, much of it is still abysmal. Therefore, if I were to be named the manager of a large software project, I would require the complete set of documentation writers to attend a writer’s workshop that follows the guidelines put forward in this book. Gabriel describes in complete detail how to manage such events so that everyone is exposed to the gentle, yet firm and complete form of criticism so necessary to good writing. He is certainly a rare individual, a combination poet and computer scientist, and he has introduced the concept of a writer’s workshop to the software patterns community. Gabriel is clearly also a talented expository writer, as the explanations are an excellent combination of memoir interspersed with instruction.
His experience in facilitating and attending such workshops shows a depth of background and understanding that exudes confidence in this form of training for designers. It is clear to me that everyone in a software project who writes something permanent can benefit from a workshop, and that includes the programmers. The most difficult hurdle in making such workshops a success is handling the problems of fragile egos, passionate beliefs in a system, insecurities and overly harsh criticism. Gabriel describes circumstances where he has been the witness to and recipient of criticism that is beyond the normal bounds considered to be constructive. This experience is put down in great detail and used as a backdrop for instructions on how to make the workshop process as egoless and constructive as possible.
After I thought about if for some time, it was clear that a poet is an ideal person to teach developers about writing. For a poet must write with great clarity, brevity and purpose, for even the best poem can be weakened by one or two inappropriate words, a fact that Gabriel mentions using a couple of examples. Programs too, must also be written to such specifications, and even the best programs can be rendered into lawsuit fodder by a few incorrect statements. Poems are also constructed using abstractions and metaphor, the very foundations of modern programming techniques.
Finally, the best advice that Gabriel gives about writing is the best advice that anyone striving for success can receive. He attributes it to golfer Jack Nicklaus, but in fact different versions have been uttered by many people, few of which are athletes. The story is that after Nicklaus made a very difficult shot, a (ignorant) spectator told him how lucky he was to have made that shot. The tart response from Nicklaus was that his luck always seemed to improve the more he practiced. Writer’s workshops are fundamentally an act of directed practice, which is the best there is. Anyone who writes anything more permanent than grocery lists can benefit from a properly run workshop and in this book Gabriel shows you how to organize and execute a successful one.
Cite this book review as follows: Charles Ashbacher: Review of “Writer’s Workshop & The Work of Making Things: Patterns, Poetry”, in Journal of Object Technology, vol. 1, no. 5, November-December 2002, pages 177-178. http://www.jot.fm/books/review2