Saturday, October 04, 2008

The ups of edit/test/debug, and the downs of being That Guy

Let's start with the downs, so we can end on a high note. I was That Guy twice tonight. No, not that That Guy, or that That Guy, or... well, nevermind. That's not very descriptive, is it? I mean the wimp-out guy. The guy who doesn't want to do a thing.

First I canceled plans to meet some friends on the East Side, because it was far and buses and waah waah. To be fair, it is far, and I don't have a car, but that's not really an excuse. I think, if you're going to go carless, you have to be willing to get around on your own (via bike or bus), or else you become That Environmental High-and-Mighty Guy. Anyway, I felt kind of bad about that. Being the wimp-out guy just undercuts everyone else's plans. It's hard enough to make plans to do a thing these days without people undercutting your plans. Sorry, friends I was going to meet on the East Side!

Then I went to a swing dance, actually went to it, and then wimped out. I mean, I guess having no swing experience beyond a few moves Jared was kind enough to show me doesn't help. But I should have realized how ill-prepared I was; I could like stumble through a basic lindy hop step (or "swing-out", I guess it's called) which is fine if you're dancing for 8 counts and then stopping, but it makes it pretty painful to try to dance a whole song. I'm signing up for a class (or at least trying to; they still haven't gotten back to me) and after that I'll give it another go.

Argh! So, on to the brigher side of life: work is pretty fun. I say only "pretty fun" because I haven't actually programmed anything world-changing yet; other than that, it's a blast. Now that I feel like I can make changes somewhat competently, I'm just going to town. Hacking and slashing code wherever I want. (Sorry to the rest of my team if it's getting obnoxious!)

And every line of code I change, I can compile and run it, and then see my changes happening. Edit, test, debug, repeat hundreds of times. It's really thrilling! It's like Legos: I'll build a few blocks, then build a few other blocks over there, then click them together. Hey, it looks good, cool. Whoops, it broke, let's pick up the pieces and start again. I think CS is an unusually lucky field in that you get so much instant gratification. If I were an engineer building a bridge, I'd have to wait until the whole thing was done before I could see if it worked or not. Or if I were a biologist with some cells in a petri dish, I'd have to feed them and stuff, and then weeks later they could get bumped by a carelessman, and then you're ssssssssunk!

But programming is like eating candy. Make a change, get an M&M. Make a change, get an M&M. Make a bigger change, get a little fun-sized 100 Grand bar. Every two weeks, get a Payday. It's pretty great. You should try it.

2 comments:

yincrash said...

Can you talk about what areas you work on or what general type of stuff?

I started learning how to program Android apps!

Dan said...

Oh yeah. I guess I haven't mentioned it. I'm working on Google Analytics, and more specifically the UI, and even more specifically, the "settings" page.
http://www.google.com/analytics/settings/
woooooo!