Trey Hunner

I help developers level-up their Python skills

Hire Me For Training

Make a cutting room floor

| Comments

All writers need a cutting room floor.

I have never written a book, an academic paper, or a journal article. And yet I do write.

I write emails, I write blog posts, I write screencast scripts, I journal, I write talks, and I write curriculum for my Python trainings.

When I write, I need a place to put text that may not make the cut in a final draft. I call this place the “cutting room floor”.

How I write: draft, research, edit

Before sharing what I mean by a “cutting room floor”, I need to explain how I write.

I tend to write in 2-3 stages:

  1. Draft: writing more words, ideally without deleting or modifying
  2. Research: discovering facts playing with possible examples
  3. Edit: deleting, rearranging, and modifying words

When drafting, I try to barf out words quickly and, ideally, without any editing at all. I often do this by setting a 25 - 60 minute timer and then writing thoughts as they pour out of my head.

When researching, I’m looking things up online, trying out code in a text editor, and sometimes playing with ideas in an abstract way. This phase sometimes looks like traditional “research” and sometimes includes a mix of research and brainstorming.

When editing, I’m re-reading my words and attempting to turn them into something good. The first draft is sometimes pretty close to what I ultimately end up with, but sometimes it’s very different from what I eventually publish.

Sometimes I draft and then edit without any research. Sometimes I research first. And often I bounce back and forth between these different tasks.

I try to keep my drafting time distinct from my research and editing time. When drafting, my thoughts aren’t always sensible, but they’re something. It’s often easier to edit a bunch of something into something sensible than it is to write something sensible in the first place.

It’s very tempting to start researching or editing while I’m drafting. I try to counter that temptation by writing TODO insert blah here whenever I feel that something is needed but that thing needs further research before I can write a certain paragraph or so about it.

The “cutting room floor” is about editing

When I’m editing my writing, I frequently find it challenging to remove certain sections. I often feel like I wrote something important, even while acknowledging that it may not fit well within the larger piece I’m writing. I often don’t realize that an idea or a bit of writing doesn’t fit until I’m far into editing.

The cutting room floor is a way to save a specific bit of writing while also acknowledging that I may never use it.

When using a “cutting room floor”, I select a paragraph or a whole section of text and I “cut” it out of my writing and then “paste” it at the bottom of the document under a “Cutting room floor” section. Or sometimes I’ll paste it in a separate file, called something like cutting-room-floor.md.

I do usually delete that file or that section from my text, but not until the end. Even when my text is all version-controlled, it feels much less final and scary to move some text into a (possibly temporary) “cutting room floor” than it feels to delete the text entirely.

Kill your darlings… or set them aside?

The noun “cutting room floor” relates to the verb “kill your darlings”.

While “kill your darlings” may sound like a violent phrase, it essentially means “don’t be afraid to remove things you like”.

In my PyOhio keynote in 2024, I originally had a whole section on cognitive dissonance. This section involved my own personal experience with cognitive dissonance and I spent a lot of time trying to make this section coherent, thoughtful, and impactful. That was originally my favorite section of the talk, but I eventually deleted that entire section from the talk.

As I iterated versions of the talk, that “darling” section made less and less sense within the context of the whole talk. At some point I realized that the section was only in the talk because it was a darling for me.

That section meant something special to me, but it just didn’t fit. Reluctantly, I moved it to the cutting room floor. I kept iterating and the eventual talk was better because I cut that “darling” section out.

My cutting room floor allowed me to kill a darling by setting it to the side. I could always add it back in later, but ultimately, I never did. Once it was removed, I knew the talk made more sense.

Allow yourself to delete everything

Having a “cutting room floor” gives me permission to delete any section of any talk, screencast, or article I write.

A “cut” section isn’t gone. It’s just been moved to the cutting room floor… possibly just temporarily! I can always add the section back in later if I want.

The cutting room floor could be thought of as a sort of graveyard, but it can also be a place of inspiration. I rarely add sections back into my talk after I cut them, but I do often spend time re-drafting a new section that replaces a section that I had cut. Sometimes I’ll even look at the text in my cutting room floor, borrowing the words I like as I write replacement text.

Instead of saying an emphatic “NO” by deleting permanently, I can say “not right now” by moving text to the cutting room floor. For me, “not right now” is often a lot easier for me to say than “no”.

So during your editing session, give yourself permission to cut by making a cutting room floor.

Comments

Write more Pythonic code

Need to fill-in gaps in your Python skills? I send regular emails designed to do just that.