The Loneliness of the Long Distance Writer

Posted

The Python version of Software Design by Example is now 346 pages, so at 10 minutes per page it will take about 60 hours to revise. I’ve been avoiding the task for weeks now, partly because I’ve learned everything I’m going to from these examples, but also because it’s lonely work. What I enjoyed most about the Carpentries was building and teaching lessons with other people; as Steinbeck said almost a century ago, making something together brings people together. I would probably have abandoned the projet if I hadn’t taught it online this spring. I’m tempted to announce a follow-on class for the autumn to force myself to do at least some cleanup, but that would make it even more of a burden.

It also wouldn’t address the real problem, which is that most young programmers simply don’t read books. My generation did because there wasn’t any other way to learn, but today, the people I’m supposedly writing for have just-in-time answers at their fingertips. It doesn’t matter if I think they need long-form tutorials to help them build a robust mentals model; they assemble knowledge piecemeal and on demand, and are no more likely to read a book from cover to cover than they are to listen to 70s-era progressive rock (which is to say, a few will do so and then annoy everyone else by going on at length about what they’re all missing).

I think this will be my last technical book. I don’t think I’ll ever try to get The Tidynomicon or Building Tech Together into publishable form. Other things are more important and more likely to find an audience. They are also, I hope, more likely to give me a chance to write with people again.

Revising a book feels a lot like fixing bugs in a tangled piece of legacy code: everything connects to everything else in ways that you understood at the time but now struggle to remember. It needs to be done, but you would rather be working on something new where you can still hope—despite all past experience—that it might live up to your secret dreams.