4 min read

Three pass writing

Today I saw a post about outlining on Hacker News, How To Build Anything Extremely Quickly. It made me curious about what I do when I write, and I ended up writing this quick post to explain it.

I don't exactly outline, but I do write in some sort of iterative top-down way. I'd already noticed that I tend to write in three rough passes for most of my writing, both technical writing and blog posts. This isn't some method I stick rigidly to, it just seems to work out that way for me. In practice there's some mixing between the passes, but they're still pretty distinct.

Pass 1: landmarks

In Pass 1, I paste in all the things I already know I want to cover, in roughly the right order. This includes any heading titles I already know I want to include, but also links, quotes and some short fairly complete bits of text. In technical writing these bits of text are often lifted wholesale from related pieces we've already written (this is a good thing – if an explanation is clear you should reuse it). For blog posts they're more often the bits that I'm most excited about, that make me want to write the thing in the first place. I've already monologued those bits to myself while out walking or in the shower, so I know what I want to say.

Sometimes this ends up looking like a classic outline, particularly for routine tutorials of the "How to integrate X with Y" type. For that sort of writing I already know what all the sections should be and what order they go in. For an exploratory blog post I might have no idea what I want to say in places until I write it, and also not much sense of what I'll eventually want the headings to be. So there will be large expanses of empty territory that only get filled in in Pass 2.

Pass 2: everything else except the annoying bits

Then I draw the rest of the owl, except the absolute worst parts of the owl, which I mark with a couple of blank lines with "!!" between them. These are all the annoying bits that I come back to in pass 3. Anything that significantly interrupts my flow gets a "!!" and I move on.

I don't attempt to write this in order. Instead my writing just sort of nucleates around the landmarks, in whatever order feels most appealing. I normally find that some landmarks draw me in and I really want to elaborate them, so I start with those. That normally gives me enough energy to tackle the others, and I often write more-or-less linearly for a while.

This is the bulk of the actual writing time, but there's not too much else to say about it from a structure point of view, so I'll keep this section short.

Pass 3: the annoying bits

At the end of Pass 2 I have a bunch of complete chunks of text separated by annoying bits marked with "!!". Pass 3 is the thrilling part where I fill in the annoying bits.

For me this needs a completely different frame of mind to Pass 2 and I like to do it on a different day if possible. There's this great observation by Nelson Elhage that I've been thinking about since he posted it on Discord. David MacIver quotes it in a post:

I think of the "finishing the project" as a much more deliberate mode of execution; for most of my projects for most of their lifecycle I'm doing some version of following my curiosity or interest, or "taking the next step" (or maybe "a next step" since the project often branches and expands); Finishing A Project is often the point at which I switch to writing down a task list and explicitly triaging and developing a burndown list of things to do (or deliberately not do).

Maybe said another way, Finishing The Project is often where I switch to backwards-chaining from a goal as my primary mode, instead of something more exploratory or driven by intrinsic motivation/interest.

Pass 3 is a small-scale version of Finishing The Project mode, where I backwards-chain from the goal of getting the damn thing finished. Some typical kinds of annoying bits I have left at this point are:

  • "Connective tissue". Sometimes the chunks of text that have nucleated around landmarks don't match up nicely, and I have to work out how to get from one to the next. So I need a few sentences of relatively dull text to connect them.
  • Precise statements that need to be correct, and where I have to look up details to get it right.
  • Images, particularly screenshots in technical writing. It can be a faff to make good ones, and it's not a part of the process I particularly enjoy.

Once I've got rid of the "!!"s I'm almost done, except for a quick final copyediting pass. I don't count that as a separate pass, because most of the copyediting work gets folded into the earlier stages. I compulsively rearrange sentences as I go, which is maybe not efficient or whatever, but I couldn't stop even if I wanted to. Sarah Constantin describes the same approach in How I Write:

I do exactly what your English teacher told you not to do.

I don’t really write multiple discrete drafts.

I do a bunch of in-line micro-edits, rephrases, etc, and I sometimes move paragraphs and sections around partway through. This is supposedly Bad Practice but it’s what feels natural and I haven’t tried to force myself to write drafts since I was a teenager.

So I'm in good company at least.

This post as a (bad) example

I felt like I should go meta and use this post as an example. It didn't exactly work out, but that was sort of interesting in itself.

There was a clearly defined Pass 1, which you can see in this Google Docs link. It's quite outline-like, because this is a simple post where I knew what I wanted to cover in advance.

There's no separate Pass 2 and 3, though, because there were no seriously annoying bits. It's just me going on about something in my personal experience with no pesky facts to get right, there are no images, and there's a natural 1-2-3 structure that saves me writing any connective tissue.

This might actually be diagnostic for what I consider to be a notebook post? I often write notebook posts in one sitting, which is only possible if I don't have to do a lengthy pass 3 of working out fiddly stuff. So if I find myself in a pass 3 sort of situation it's probably too complicated for the notebook.