A Programmer’s Life

living with a programmerIt’s been my experience that people look at web programmers—and programmers in general—with, well, suspicion might be a good word. Programmers have special knowledge that most folks don’t. We build web pages and write programs to make those pages do nifty things. It’s like we’re some priesthood who guards arcane knowledge most mere mortals are better off not knowing.

Well, to an extent I’ll agree with that. For instance, I’m convinced Satan is responsible for PHP and JavaScript, but that’s just my personal opinion.

The truth of the matter is, most folks could do this if they wanted. Granted, you have to learn a whole new way of thinking—something I’m still working on—in order to make it work right, but isn’t that true of most things we try to learn?

The old saying that patience is a virtue is never more true than with programming. I can’t tell you the number of times I had trouble in school getting my HTML to work and the instructor walked up, scanned the page for a few moments, and pointed out where I’d forgotten to put in a semicolon. You think it’s frustrating when a writer misuses a semicolon? Try it when you’re writing code. In prose, a misplaced/misused punctuation mark just means it looks sloppy. In programming, it means your program doesn’t work. One omitted semicolon or bracket (HTML uses greater than/less than to enclose code), and the entire page refuses to display. Or, if it does, it’s all skewed and you’re looking at the screen in horror, thinking, What have I created?semicolon hide and seek

You feel a bit like Victor Frankenstein.

And then there’s logic.

No, please, don’t run away screaming. It’s not that bad.

One of the things you have to learn as a programmer is to keep the destination in mind, but you also have to keep in mind every step you take to get there. It’s like following MapQuest directions step by step, and if you miss one step, you’ll end up in the middle of nowhere instead of making it to Schenectady. Literally.

Again, miss one thing—and that includes punctuation (if the language uses it; Visual Basic doesn’t much)—and your program says, “Nope, ain’t doin it.”

The first time it’s not so bad. You learn to expect it. Nothing is perfect first time around, unless your name happens to be God, and even He seems to have built imperfections in. No, the first time, you grimace, maybe sigh deeply, then plunge back into the code and find the problem.

I am programmerAlong about the tenth or twelfth time, though, you start screaming at your monitor as if it’s to blame. You yell profanities, insulting the code to the best of your ability. It’s especially frustrating if you’re reusing code you’ve used successfully before. It’s old hat to say the programmer’s best friend is cut and paste, because so much of code writing is boring repetition. Add in complicated things you have to remember like variables in PHP are case sensitive, but functions and methods aren’t, then learn multiple languages (I’m familiar with HTML, CSS, Visual Basic, C#, Java, JavaScript (those two are separate languages, by the way), PHP, JQuery…and I know some cuss words in German, which is a wonderfully harsh language for curses), and the opportunities to get things mixed up are exponential.

Don’t know much about biology
but I can recognize PHP.

Being a programmer can teach you a lot about life—like, for instance, when you get everything right, a computer will do exactly what you tell it. This is, of course, a double-edged sword, but if you cross your ts and dot your is, you’ll get exactly what you were after.

The other thing it can teach you is, because they’ll do exactly what you tell them, computers are often better company than humans—but they don’t make very understanding friends.

Still, I think programming has made me a bit more patient with life, though I’ll be the first to admit I have a long way to go. Something for you to think about the next time you pick on a programmer for being a nerd.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s