Tuesday, June 30, 2009

The Programmer's Lament

Today, I'm going to rant, and I'm going to rant about programming. If you don't care about programming (and really, why would you?), I advise skipping off to look at something else. I'm pretty sure I heard something about a famous singer dying. Maybe someone is still talking about that somewhere.

Okay, so once in a while, a decision is made to use a third party tool. For those who don't know, a third party tool is something a company buys from another company to speed up software development. Let's say, just for a random example off the top of my head, someone makes a really cool grid control. It does all sorts of things that people would like to do with grid controls that would probably take a long time to program yourself. Well, your company shells out some cash, and then you get to download and work with that grid control.

This is all fine and well, except sometimes, the third party who provides the control forgets a step. They code up the control. They do some testing to make sure it does things. They even offer some nice tech support. What they forget is that at some point, someone should have WRITTEN SOME %@$#ING DOCUMENTATION TELLING YOU HOW TO USE THE GODDAMNED THING. Otherwise, it may be that a skilled, competent (not to mention strikingly handsome) developer, not unlike myself, might find that they are pissing away weeks of their life trying to figure out where the button is that makes the control do all of the neat things that they claim it will do.

My favorite situation is when this is brought up and someone points out that there are support forums. Again, for the uninitiated, support forums are where the suckers who purchase these products go to read questions from other suckers who purchased these products in the hopes that the previous suckers ran into the same issues that they are having. It's a gamble to be sure, but if you're willing to slog through page after page of almost-but-not-quite-the-same issues, you might find a support person who at least gives a hint to the solution to your own problem.

Anyway, I've been looking at the same %$@# for weeks now. I've sent off support requests. I've been ignored in forums. I've gotten to the point where I've downloaded their source code to look for what might be causing my problems. Unfortunately, as often happens with the decision to use such third part components, I've invested so much time into this, I no longer have enough left to simply abandon them and code the whole thing myself, which I believe probably would have been a better way to go at this point. So I have no better option that to continue scanning the things, hoping that understanding will suddenly occur.

On the bright side, I get paid no matter what I spend my time doing, so I suppose I'm still winning. Yay me?

No comments: