Saturday, April 29, 2006

3 AM systems

The company I work for relies heavily on a homegrown software system they use to manage thier business. Sounds normal, right? Of course. And ("naturally"), the system has evolved over time from it's inception as a simple, 1,000 line kludge into a multi-million line enterprise infrastructure. Also reasonably normal, right? Of course.

Now the thing that blows my mind is that not only is this normal for the sort of work that goes on behind closed doors (e.g. being a in-house software developer, such as yours truly), but this type of "guided mutation" is also the primary source of revenue for several high-profile, high-dollar software publishers.

What, you want examples? Good grief, how many?!? PeopleSoft, SAP, Great Plains. Even Microscoff and Beezelbill's most successful products were, at one point, disgusting, sloppy, sickly-smelling "leftover surprise" sorts of products, where several bad products are sort of sm00shed together, with a handful of unripe "new" features (usually already present in 99.99% of the competition's offerings) baked into the most unintuitive places, & even a sprinkling of eyecandy (or what they think passes as eyecandy... that stupid paperclip still gives me nightmares), effectively producing, in a nutshell, a half-baked , slightly warm pile of steaming dog shit. And a really really long run-on sentence having also bad grammer to boot, eh. uNF uNF, goddammit.

Show what 12 hours nonstop chasing bugs down a source code alleyway with no flashlight, no map, and no idea what might to jump out and try to scare/suffocate/sodomize you. How would you like to take a patchwork workflow (I oughtn't even mention the fact that it was cobbled togther from many bastardized bits of code), two similar yet logically unrelated (well, conceptually, anyway - the implementation is so fragmented you have to wonder if you're really looking at the right fucking parts) business entities.

Or how about websites written in Classic ASP, that have been reworked and overhauled innumerable times over the course of about five years, and only in the last year and half has the code actually migrated into the bowels of a source control system? Do you have any idea what it's like wading through 500 files trying to figure out which 5% are actually being used, which 5% are defunct or redundant implementations of the same feature, and which one are pure garbage? Uh.. okay, okay, so I'm exaggerating - the garbage is obvious. Files in the production source tree with name like default_1012004_john_broken_test_dammit_wtf_oops.asp. Give me a fucking break!

Or how about the slightly modified copies of scripts lying around (but not under source control!! oh no, can't have that!) that nobody even knows about until after you delete in in error?

Oops.. I just realized..... heh. Okay, I'm tired. And done.



(....Wait a minute... Microsoft still puts products like that on the market......)

No comments: