It’s been 11 years since I’ve written a book. I got tired of all the entitlement — “You should give me your book for free waaaaah…” What incentive do I have to do that?

I’m coming out of retirement because tweets and blog posts don’t force me to think deeply enough. The real value of writing a book for me is just how hard I have to think about a topic. I’d like to make burger flipping money too, but you can’t ask for too much.

As I got started with Tidy First?, my long-contemplated book on software design, I found myself in a sequence of oh-so-familiar situations. I realized that book writing has a rhythm for me. To help you quell the desire to write a book of your own, here are the steps.

Step 1: Grandiosity

The Smalltalk Best Practice Patterns started out as the pattern language for all of programming, for example. I’ve been thinking about my topic for a long time and I have a lot to say. The excessive scope makes sense in the moment.

Step 2: Outline

I start writing down the topics I need to cover in the book. Which lead to more topics. Which lead to more topics. That’s okay, it’s all important and it’s all interesting. (Ha!)

Step 3: Write

I start writing somewhere in the middle. Before I can talk about this topic I have to talk about that topic. Which is preceded by a third. And oh dear two more prerequisites.

Step 4: The Great Scope Cull

Despair. Lining up all those prerequisites means I won’t get to anything useful until I’m 50,000 words in (the average short book like I write contains 60–70K words). To really cover the topic would require 200K words. I’ll never get done. It’ll never get published.

I will talk about the book as an entity. Whether this is literally true or a convenient rationalization is beyond the scope of this essay. In practice, it feels like the book is using me to get itself written. The sooner and more thoroughly I surrender to this feeling, the faster and better the book gets written.

The despair can last from hours to years. If I read my first scratchings, though, the book will tell me what it wants to be about. There will be a phrase, or an image, or a metaphor that keeps popping up. For example, I’ve included the paragraphs below where Tidy First? told me what it was about. I didn’t start this bit expecting to explain the thesis of the book. It just came out.

The Dramatic Turning Point

Step 5: Panic

What I have left couldn’t possibly be worthy of a whole book. Could it? (Pro tip: it could.)

Step 6: Outline Again

I resentfully outline again, angry at all the interesting stuff I won’t be able to say. It’s not like I have a choice, though, not if I want to get this thing done. Surprisingly, I find plenty of stories to tell. The prerequisite problem is tractable because I am not trying to say everything about everything, just saying enough to support this little slice.

The Reduced Tidy First? Outline

Step 7: Write

I lay down ink. Literally. I draft everything long-hand and type it later that day (I’ll resist the urge to go meta and include a picture of the draft of this essay.) Once I get a rhythm going I pick something off the outline, write it, and pick the next thing.

I obsess about word count. This has fewer side effects than Xanax, but also addresses my anxiety that I will never get done. 1K words a day, 50K target, 50 days of writing. I’ve only written for 10 days so I have 40 days left. Back to pen and paper.

At first, each section I write spawns 2 more sections in the essay. The further I go, the fewer new sections sprout.

Step 8: The Lesser Scope Cull

About half way to my word count target I realize that the outline has a book-and-a-half’s worth of scope left unwritten. Out comes the scalpel once again, excising topics I want to talk about that I don’t need to talk about. (I indulge myself in a couple of appendices so I still get to have some fun.)

Feedback: So far it sounds like I go into a cave, write a book, and bring it forth fully formed. As if that would work. As I gain insights into my topic, I am trying them out on anyone who will listen. Their reactions shape what I write next and sometimes send me back to rewrite something that doesn’t land.

Step 9: Slog

Go through the outline. Pick a topic. Write about it. Put it into the book. Repeat. Eventually the whole outline is ticked off. I solicit feedback on the completed draft from a few people I trust. (It doesn’t help to get more feedback than you can absorb and apply.)

Step 10: Production

I’ll spare you the details of production. It’s a little like childbirth. Having invested so much already and in anticipation of the result, yeah you’ll get through it.

Oh, and I always discover a new and completely superior way to explain my topic soon after major changes become impossible. Always.

Step 11: Books

I have a party for the people who supported the book. Copies are signed and given away. Adult beverages are consumed. Anyone asking after the topic of the next book is threatened with bodily harm.

And then I start thinking about what else I want to think deeply about.