Friday, March 09, 2007

Deadline and incontinence, I mean incompetence

Met a deadline today. Great feeling. The subsystem I've been working on is finished just as planned (only some testing left to do), and can be migrated to system test on Monday. Don't even have to work on the weekend. Not to brag or anything, but just for comparison, I heard today that a coworker has just spent four times the estimated time on the stuff they're working on. And it's definitively less complex than the stuff I've worked on. Oh, that was definitively bragging. Well, what are you gonna do. I wish there was somebody to do my bragging for me, so I wouldn't have to do it myself.

I just realised today that the great part of my job is the non-repetiveness. Sure, it's the same old same old every day, in a way, but the tasks change. I think it's split to parts nicely. You get to work on a specific issue a couple of weeks, or months, at a time. Then it's done, and you get the next change request. Of course it involves lots of repeating minor stuff to do, but the problem to solve is one-off, different each time. That makes it interesting.

Project work is fun and exciting in that way. It's kind of unique, and you get excuses to celebrate often, if you're into that. The sad part is that it will end someday. Afterwards, there's only the dreary, never ending maintenance, which includes no milestones and parties. Just fixing some minor defects that someone else caused. Well, hopefully it's not like that. Because I'll be the one doing the maintenance, in this case. The consultants will be off on another project, with it's fancy parties. I suppose that's a main point why consulting is appealing to many people. You get to work on a project, and you don't have to commit yourself to it forever. If the project's large enough, you don't even have to be very good at anything. Any good, to be more exact. You can get by just appearing to be competent while producing some crap code.

I keep on being amazed about how some people are good at seeming to be competent while actually sucking. And the amounts of these people. I just don't have the nerve. If there's an area in programming that I'm not sure about, then I study it. But some people just produce the crappest code you've ever seen. Minimal amounts of it, if we're lucky, and lots of it, making the most of the worst programming practices, wrongly indented, if we're unlucky. I've seen consultants who couldn't code their way out of a wet paper bag, but yet they talk about their work convincingly enough to not be thrown out. Well, to be fair, consultants are not the only ones that couldn't code, or document, if their lives depended on it. But I have to wonder about the quality of A*coughecunt*ture consultants. There seems to be an endless supply of them, and to an outsider like me, it seems that half of them were just hired off the street, without even a phone interview.

Is this enough ranting about cow-orkers for today?

I suppose it is. No, wait. There's still some left.

How can these consulting companies (notice how I'm using plural, even though I only have experience of two) teach their programming consultants to produce vast quantities of probably not useful documentation, that's actually quite an annoying burden for other people to keep track of, but not actually requiring them to have rudimentary programming skills? Whew. But equally I'm surprised that we, the client company, aren't able to dictate how it should be. I mean, consider this real-world scenario: to replace a generally liked, competent lead developer the consulting company sends a supposedly competent, generally disliked nerd who doesn't actually develop anything, but likes to produce Excel tables of probable statistics of some subsystems that nobody is ever going to use for anything, ever. Why the f**k is it not in the contract, that if the guy is clearly of no use whatsoever, we can require a competent replacement? Gasp.

Wow. I'm not actually angry at the moment, just letting out steam, and enjoying it.

1 comment:

Jimbo said...

I was a crappy programmer once. I'm so happy I got away of that shit. Now I'm happy to be in a job where I don't have to do a single line of code - and modified lines of some batch file don't count. I could have easily ended up as one of those incompetent consultants, and maybe I kinda was. I for sure was a waste of money for three years, but maybe they needed my talent in making the personnel magazine ;-)