Patrick M Brennan
Home | Writings | Resume | Links | RSS Feed
A Proud Member of the Reality-Based Community
About Me : I'm a grownup nerd living in the Boston burbs. I write computer programs for a living and plays for fun. I'm married to a wonderful woman, and we share a nice little house with our daughter and our cats. I'm a humanist, a technologist, an artist, and an idealist. I believe in reason, freedom, love, equality, and democracy. (Did I mention that I'm an idealist? I did, OK.) I'm also a pragmatist and an empiricist. I reject ideology and dogma, especially when they conflict with practical facts (i.e., pretty much always). I particularly hate willful ignorance, which tends to go hand-in-hand with ideology and dogma.
Like the alignment of the planets, this blog gets updated as I have the time, inspiration, and inclination to do so.

Tuesday, August 26, 2003

Deep In The Ninth Circle of Debugging

We're in crunch mode over here. Our public beta is approaching fast and I have a very long queue of bugs to fix. My head is swimming, my eyes hurt, and my body feels like it's hollow inside. I'm going on hour 11 with no end in sight.

Fixing bugs under deadline pressure is my single least favorite part of being a programmer. A lot of my programmer friends enjoy debugging, because for them, it's like solving a puzzle. I understand that, and I appreciate a puzzle as much as anyone. It's the part about doing it to meet a schedule that drives me crazy. In addition, debugging one's own code is a very humbling process. Being a programmer is a daily exercise in confronting one's own stupidity. There's always something, like an enumeration that was forgotten in the code, a logical error that somehow slipped through, a miscommunication between the client programmer and the server programmer, a use case that wasn't considered, an assumption that doesn't hold up. As a programmer, I am constantly being reminded that I don't have perfect recall, perfect insight, or perfect typing. As a human being, I accept all of that and I don't think it diminishes my worth, but as a programmer, it all adds up to a lot of long hours at the crunch point of a project, bleary-eyed, hungry, tired, and burned-out, staring at the code, wondering, "how the hell could I have missed that?"

PS: I'm still mad at Flash, because after years spent using a succession of steadily improving debugging tools in my career, suddenly I'm back at approximately the level of debugging support I was used to in GW-BASIC.

posted by Patrick Brennan 8:15 PM | link

Patrick M Brennan Programmer, Playwright, Righteous Geek