Wednesday, September 23, 2009

Programming is Really Good for Me

My last post dealt with the physical toll that my extended programming sessions take on me. Now I want to mention how much programming benefits me, because the pros far outweigh the cons, in my opinion. Programming tends to knock me around physically, but that's just due to poor habits. If I would just resist the urge to snack while I'm coding, and take reasonable breaks, and learn to stop at key points in development, I'd be fine. "Hey, I finally got this crap to compile without errors. I'm gonna rest now and wait til morning to actually run the program." This is the kind of rational statement that never seems to find its way into my head when I'm coding. I type and I code and I hack and I test and I debug until I collapse.

But oh, how I enjoy the process. It's like going to a personal trainer. The trainer whips you mercilessly and makes you wish they'd never been born, but afterward you feel so invigorated, having flexed muscles that went unused for what seems like ages. That's exactly how I feel when I'm programming. I get to stretch my brain in ways that just don't present themselves in day-to-day activity. The feeling of accomplishment once I've completed a coding task, no matter how trivial (and at my current level of competence they are usually pretty trivial), is almost indescribable. There's nothing like the feeling you get when you know that a week ago, there was only a problem, and now, thanks to your hard work, there's a solution. That applies to any skill, I suppose, but my labor of love happens to be programming. It's just a shame I don't get to do it very often. The regular daily grind really leaves my mind feeling sluggish and thirsting for stimulation, and programming always manages to quench it.

I think the only other thing that gives me the same sense of satisfaction is my other passion - art. I consider it a gift and a curse that I can invest myself in both the analytical and the artistic. It's probably the reason why I've never absolutely excelled in either of them; if I could consistently focus on one or the other I'd probably get somewhere. Drawing and coding are on different ends of the spectrum, but they do have a lot in common. There's an art to programming, and there's a definite method and logic involved in art. In both cases, you are creating something of value that wasn't there before. I could go on, but I'm tired.

Programming offers so many avenues to explore and things to learn that I find it impossible to not get sucked in if I even start to dip my toes in it. The yen comes and goes in phases, but when I'm in it, I'm in it up to my eyeballs. It's frustrating that there's so many languages to learn and so much potential for writing code, because I never know where to start. Then a particular project comes along and I zone in on it, always striving for that Billy Madison "I AM THE SMARTEST MAN ALIVE" moment when I finally have a finished product. And then I want to show people "Hey, check this out. Click here, enter some input, click there, and BAM! Magic!" And then I go, "ooh, wait, I can throw in another button, a few more subroutines and it'll kick 43% more ass!" Or "hey, I bet I can refactor this sloppy code, get it running faster and leaner" and I'll dive right back into it.

That rush of accomplishment is a real confidence and self-esteem booster. Plus, being a dad, I need to keep my wits as sharp as possible. I mean, Emily is two years old, and I can just barely manage to outsmart her now. What am I gonna do when she's a teenager if I don't stay spry? See, that's it. Stuff like programming, or any kind of brain teaser, is the mental equivalent of doing wind sprints to build speed and endurance. So coding is good for me after all.

No comments:

Post a Comment