Wednesday, June 23, 2010

The Peril of the Passionate Programmer

For me, as I approach the end of any given day's programming, I am usually in one of two frames of mind:

  1. "Man, I've been chasing this bug for hours. I've been down so many dead-ends. I'm really frustrated. But by now my head is really deep in the code, so I'm in the best mindset to figure it out if I just keep going. I don't want to end the day like this."

  2. "Wow, today has gone really great. I'm on a roll. I've got lots done and I'm excited. I'd love to just add this, and this, and this before I go. I don't want to end the day like this."
So on a bad day, you don't want to stop. And on a good day, you don't want to stop. Rare is the average day, when you can just say:

  • "Today everything went about as well as expected. Nothing went really well, but nothing really badly either. I got done what I wanted to get done. Now's a good time to stop."
And that, as far as work/life balance goes, seems the peril of the passionate programmer!