This past November I participated in the PragProWriMo. For those familiar
with the NaNoWriMo, the concept is similar. Commit to writing on a
technical book every single day for the entire month of November.
I had been kicking around the idea of writing a book on Node.js and decided
to use this as an opportunity to see what I had to say on the topic. Turns out
that I had about a hundred and fifty pages worth of material.
I’m lucky enough that Pragmatic has agreed to pick up the book, so I’ve got a
solid base to build out the tentatively titled Programming Node.js. This post
isn’t a book announcement though, it’s about the process.
Why I did it
This past month was mostly for my own benefit. I was certain I could get into
a rhythm and turn out a lot of material. My last book took a lot
longer than I originally planned and came really close to not happening.
I’m not the first author to find himself behind schedule and feeling like
there’s no way out, but it was the first time it happened to me. PragProWriMo
was my chance to prove to myself that I could get some serious writing in.
Lessons learned
I’ve got three big take aways from this experience. First, the power of doing
first, then talking about it. Second, the power of periodization in sports
applies to mental tasks. Third, streaks are powerful incentives.
Actions build more than words
Earlier this fall I watched this talk at Ted from Derek Sivers
about goals. The gist is that you shouldn’t talk up you idea, you should just
do it.
Studies seems to show that you get the same mental reward from talking about
your goals as you do for actually achieving it. I’ve had plenty of ideas fall
flat after really talking them up, so I decided to try this tactic and see how
it panned out.
That’s not to say I didn’t talk about it at all. I participated daily on the
forums posting updates at where I was in the process. I did
make sure to not talk about what I was doing though, it was just the end
result.
I never made any grand announcement though. There was no blog post claiming
I was going to write every day of the month or that I’d finish the month well
over half way through a shitty first draft. I just did it.
Periodization: it’s for more than sports
The second lesson was more subtle, but obvious to me in retrospect. I could
have written more on any given day than I did. I ended just about every day
midstream, but that was fine. I left those ideas sitting there waiting to be
explained.
Picking up where I left off was easy. There was no need to figure out what was
next. I didn’t have to ramp up and there was no fighting that feeling of being
spent. Like I said, this is obvious with the benefit of hindsight. It’s one
of the core principles of training.
For those of you who don’t know me that well, I used to be a pretty competitive
mountain biker. I spent a few years racing and one of those was spent all over
the southwest racing at national events. I wasn’t amazing. I was consistent
and faster than a lot of people, but I dove into the process of training. I
picked it apart, tried to understand everything, and came away with what I
believe is a pretty solid understanding of the fundamentals that underly
training as an endurance athlete.
One of the main principles is that you never want to leave it all out on the
trail unless it’s a race. You want to end each day with something left in the
tank. It’s counterintuitive at first, but the reason is simple. You’ve got to
ride tomorrow. And the next day. And the next day.
You get faster by slowly ramping up the pace and the miles, and rarely draining
yourself down to zero. You can’t recover quickly enough to get the next ride
in when you do that.
I made a conscious decision to limit myself to two pomodoros a day, or
roughly an hour of time dedicated to nothing but writing. Keeping the
commitment small was key to my success. It kept me from getting burned out and
ensured that I was still enjoying the process every day without over doing it.
Keep it going
The final piece is the streak. Today marks the 42 straight day that I’ve
written or worked on my book. I’ve spent the past few days converting it from
ReStructured Text over to Pragmatic’s internal markup, but I count those as
days of work.
I probably could have spent a few hours over the weekend and knocked it all out
in one sitting, but I wanted to keep a steady pace so I could keep the streak
up. Today marks the 42nd straight day I’ve worked on the book and now that
I’ve stretched it out this far I don’t want to see it go away.
Nothing here is new, though. These are all things that other people have
figured out before me. This November simply put these things into sharp focus
for me and the end result is that I’m half way through a book on a tool I
thoroughly enjoy using and think more people need to know about.
For the record, I did miss one day in November. I didn’t write the day I gave
my Pragmatic Guide to Git talk at Zendcon. I figure giving a talk is a good enough
excuse for missing a day.