The Inexorable Push

Posted by David Richards Sun, 08 Nov 2009 07:01:00 GMT

I've heard of some of the perspectives successful authors have towards their work:

  • Terry Pratchet writes so many words a day, no matter what
  • Ayn Rand considers her page her employer, and her job to fill that page irrelevant to how she feels
  • Norman Mailer learns and teaches the craft of writing, then only falls back on it when passion falls short
  • Billy Collins writes poetry every morning, without judgment
  • Gerald Weinberg has a writing system for acknowledging his relation to his ideas, the Fieldstone Method
  • Natalie Goldberg makes statements and answers questions

I think about the author perspective because:

I want to write

I think technologists and authors have a lot in common

Let's forget that I want to write. That's a story for another day.

Technologists and authors have a lot in common. Both attempt to capture and express reality. Both often interface their world through keyboards. Neither one gets through this life without first getting approval from others: users, readers, managers, editors. Projects run through their lives, sometimes as express trains, sometimes as promenades. The projects often become the whole reality of both types of people.

And tonight, it's the blocks that are important. The writer's blocks, the slow downs in a developer's productivity.

I think I seek to be my own boss because I've figured out how to deal with these blocks that don't involve the kinds of activities employers like to put up with. For me, I have to be writing code to get out of the funk. So, if the assigned code is stuck:

  • I re-write what I wrote, looking for the essence of the system, somehow lost.
  • I write tests, getting that competent momentum slowly over a few hours.
  • I write open-source software.
  • I fill out mind maps, organizing thoughts, associating thoughts, asking questions, making statements, and creating a narrative for my blocked thought process.
  • I put a stagnant project aside and come back to it another day,

These are only my more productive reactions to a stuck mind. Checking email, playing games, taking walks, chatting it up with other people, playing Trance music, or watching Hulu are other ways I cope.

This is the only humane approach to software development that I know of. It would be nice to think that I never slowed down for anything. I don't know people that never slow down. I know one that comes close. He's really amazing, cranking out code about 16 hours a day. Maybe someday I'll figure out his secrets. For the rest of us mere mortals, however, the advice and metaphor above is probably the best I can offer today.

When I ask myself what I'd do if I had all the money in the world, I honestly answer that I'd be doing this: solving problems, building teams, writing code, learning, and finding myself awash in interesting things to do. Since this is what I want to do, it's important I figure out how I do it.

Comments

Leave a comment

Comments