10 ways writing stories is like writing code

Being a science fiction writer and (senior) application developer means spending my nights writing stories and my days writing code. It recently occurred to me there are some similarities between the two activities which I will now delineate for you in this conveniently accessible list:

  1. Gathering requirements = Outlining. Pretty self-explanatory.
  2. Naming variables = Naming characters. I’m sure many of my writer friends have included Tuckerisms in their stories, but how many of you have been Tuckerized in code? And just like in writing code, you should avoid weird characters in your name. Names like J’ahl’ton are so 1940s.
  3. Code comments = Exposition. I try to do a decent job commenting my code, but my fellow coders are always telling me to “Show, don’t tell.”
  4. Working on a revision = Writing a draft. I am truly a geek. In my head, I number my drafts the same way I number my code revisions, using x.y.z notation.
  5. Quality assurance testing = Proofreading. Although, it would be nice to have some kind of universal test plan to work off of for each story you wrote.
  6. Debugging = Fixing plot problems. Somehow, my main character has entered an infinite loop.
  7. Developing/using an API = World-building. This may not be obvious to non-coders. An API is an application programming interface, a kind of library of functions of a particular type that can be used and reused again. Kind of like the background of your story. Especially if your story is fan-fic.
  8. Compiling code = Preparing the manuscript. Some people might see this as submitting the manuscript, but for me when I compile, I’m just looking to see the end product. Thank goodness there is no need for make in fiction-writing.
  9. Exceptions = Rejections. Well, a rejection from the compiler as opposed to the editor. But still.
  10. Listening to users complain = Reading reviews. File in /dev/null.

One comment

  1. Love it! Am a former programmer so I can relate…

    I’d add another – QC Testing = Beta reading. (Since I’m assuming #5 is a self-edit?) You can’t test your own code since you know how it’s supposed to work. Same with your WIP, you know the emotion and setting and character arcs, but maybe you didn’t actually put it down in the story and you can’t see it. Plus other bugs (plot holes) they catch 🙂


This site uses Akismet to reduce spam. Learn how your comment data is processed.