Yesterday was an enormous milestone for me: I actually finished my first draft, after three long years of fits and starts. When I woke up today, I happened to have the day off, and I looked at the computer and thought "I could do this again." Maybe I am meant to be a writer.
But I am still a way from completion of this current one, so let me not get too ahead of myself. I was at a writers group last month and I announced proudly to everyone "I am almost done with my novel!"
To which they asked, "How many times have you rewritten it?".
"Um," I fumbled, "none."
"Then you are nowhere near done," was the common response from the room.
I tried to recover with "I mean, almost done with my first draft." Then I quietly skulked away to figure out what the heck they were talking about.
Fast forward a month, and the completion of my draft, and I now know. Skimming it, I have characters discussing things that never actually happened. And even people’s names changed over time, so I have old names and new names for various people. Not to mention the chapter or two that I really don’t care a lot for. So now I get it, there is a bit more work to be done before I can reveal it to the world.
As I was gearing up for this next phase I listened to a podcast with Hugh Howey, the indie author of the wildly successful Wool series of books. They asked him “how many times do you go through your work and rewrite it.” To which he replied “Gosh, six or seven”. Six or seven! It took me three years for number one!
So what does this have to do with programming. I was at lunch today with my friend Alan and was describing some of what has to be done now, and some of the issues I have with the book. And he said “just like programming.”
And he is right.
As a programmer for 20 years, the process we go through writing code is basically the same as what I am going through writing this book. At this point, the novel is complete, and it builds! Yes, it compiles! But that is no guarantee that it exists without bugs, and I’m sure the code (words) is far from elegant or optimized. Have I duplicated any chunks of code? Have I overwritten any variables? Do I have any infinite loops? The answer to these all is a definitely “yes.”
So this next phase, like in programming, is essentially “refactoring.” Writers call this “second draft”, but refactoring is a much more descriptive word. Yes, I am about to refactor my novel.
Hope it doesn’t take another three years.