Saturday, August 12, 2006

Lookee what I got!

The box is still unopened - just got back from buying it. I'm excited! The demo was great - it's been a while since I've been this excited about a first person shooter.

I was really tempted to buy the special edition DVD because, well, it's on DVD, and because you get two figurines with it. But, I didn't want them badly enough to justify the extra $10. Although, it would have been nice having it on DVD. I hate swapping through ... [opens box to see how many CDs are there] ... three CDs to install a game. Hmm. Actually, that's not as bad as I thought it would be. F.E.A.R. came on five or six CDs! Still, the DVD would be nice.

Saturday, August 05, 2006

Programmers and the Software Product Cycle

Yes, I admit it. I'm a bit of a John Carmack fanboy. So, when there's an article about a presentation he gave, I usually read it. What I admire about him is his ability to quickly analyze a problem, reduce it down to a critical set of parameters, and then come up a set of compromises that allow for a near perfect solution. He's done it so many times. It's inspiring.

Anyway, I was reading this article titled Things I Think John Carmack Said At QuakeCon and was really struck by the truth of this paragraph.

"It used to be a joke at id when someone would say, 'How long would something take?' 'Two weeks.' Because a programmer can get anything done in two weeks," Carmack joked. "Fourteen days, if you stayed up, you could just get anything done in that time. Of course, it doesn't actually work out like that. In any of the projects I've worked on, I've never failed in any of them, but I've never been on time."

It's true! When you're assigned to a programming task you've never done before, you have some idea what needs to be done, but 99.9 percent of the time, there's something that comes up that you didn't anticipate that is a real bitch to work around. The 0.1 percent is for the few times that I write a bunch of code, compile it, and miraculously it just "works". It's a great feeling, but it makes me really nervous at the same time because there's no such thing as "bug free code".

For me, one of the worst things to experience on the job is having a manager come in to your office and say, "I want you to work on [this]. It's extremely critical that it be done on time. How long will it take you to do it?". Ugh! I want to reply, "I don't know. How long will it take for you to train to be able to clean and jerk 500lbs over your head?".

Probaly the best manager I ever had would ask me how long I think it would take and then would triple it for the product planning sheet. It was usually dead on.

Good managers are so hard to find.