Skip to main content
Rambles

Applying Stephen King’s Rules to Software Development: Crafting Digital Experiences

The writing room at Pixar for “Inside Out”

When Stephen King (the writer behind the stories of films many of us love, such as The Shawshank Redemption, The Green Mile, It, etc) finishes a draft of a novel, he is said to put it in a drawer and let it “rest” for a minimum of 6 weeks before he comes back to edit it.

“With six weeks’ worth of recuperation time, you’ll also be able to see any glaring holes in the plot of character development. I’m talking about holes big enough to drive a truck through.”

This gave me flashbacks of a moment I had recently while building our current product (a tool that greatly speeds up reading technical content, while also increasing comprehension). After months developing the tool, when I finally used it to read a paper (Deepmind’s AlphaFold paper in Nature), I too noticed some glaring issues that I hadn’t foreseen. There was a hole in the plot.

This brings me to an important point about my approach to software development: what we’re crafting isn’t tools for someone to use, but rather digital experiences that they participate in.

A digital experience has a story to it (not a “user story,” but rather the overall storyboard of what’s going on), and every interaction has to serve the story.

When seen in this way, our products are no different from novels or movies or video games. They are works of art, and they should be edited and produced in the same way.

Maybe I won’t take six weeks off, but here are some aspects of writing for an audience that I can borrow:

  1. Have one IDEAL READER experience it before you allow others. In case of Stephen King, it’s his wife. (Find someone, even pay someone from your target audience to use the product as you watch.)
  2. Kill your darlings. (If a feature isn’t serving the story, or if you need to add a feature that hurts your pride, do what needs to be done)
  3. Discipline. Stephen King writes 2000 words / 10 pages each day, including holidays and vacations. And he stops once he hits the limit, to leave gas in the tank and keep momentum.

    What would be a good daily target for software development?

    Moreover, what is a good unit for software work in general? (For Stephen King, it is the paragraph).

    I’m still looking for an answer.
    • X lines of pseudocode? (Because pseudocode is in your control, and then you can spend the rest of time coding and squashing bugs?)
    • X commits: how many?
    • X hours: Currently trying 3 hours, but it’s… a weird one. Doesn’t seem to reflect real productivity.
    • A new deployment: make at least one change to the live product each day?

Let me know your thoughts!


This was the first official post in The Writing Founder project, which I announced publicly… 30 minutes ago.

Leave a comment! This is a two-way communication channel.

You can subscribe to my newsletters here.

Leave a Reply

Designed by

best down free | web phu nu so | toc dep 2017