Timestamps
I really hate NDAs, besides the fact that it's a drag to never be able to point to what you're working on if you think it's very cool, they generally keep me from bitching to my full potential.
It's been a pretty crappy work week. Long story short a huge project has been ground to a screeching halt because during load testing transactions started getting lost and throwing errors. It turns out the uber-coders it was being offshored to had made a huge flaw in the backend of the app.
Huge flaw.
What sort of mistake would grind everything to a halt? They were using a timestamp for the unique ID of the transaction in the database, with a granularity of on the timestamp in seconds, and at various periods the app is expected to experience peaks of 50-150 transactions per second. That should be enough to get the idea of the scope without going into too much detail. And if the reason why its so stupid doesn't jump out at you, you prolly don't really want to know. But I'd never encountered someone doing it before.
Pretty discouraging, to say the least. I won't even go into what the proposed solutions have been so far, as you can imagine if there is going to be such a massive design flaw as the above the rest of the app would have similar problems. Going in and fixing it right will be a bit of an ordeal, so they're trying to find a hack to get them by.
And of course, while they are having to do that, they're finding a whole bunch of other "fatal flaws" in the offshore'd code which are going to either be show stoppers or a major hassle down the line if they aren't rectified. And they're having to pull off developers from other projects onto this one, which is slowing other projects down. And the senior developers they have pulled off seem to be absolutely horrified by what they're seeing.
Every once in awhile you're at the right place at the wrong time and you see the the sins of the past rise up and take everything down hardcore. It's like watching one waiter trip, grab the table for support, but instead gets the tablecloth and pulls 10 dinners to the floor with him. You never quite know whether to offer an empathetic look or to clap, but if the food goes all over you chances are you're just gonna be pissed.
I feel like just walking away from the project at this point if they don't just suck it up and do the right thing. The project is most assuredly inching into clusterfuck territory, and at the moment they seem to be heading headlong into fubar territory.
I can view clusterfuck as a challenge. Fubar will just depress me.
I'd write more, but ethically that'd be about all I could get away with saying. And I'm still very, very pissy about the whole thing. I will say two things though:
- MCSEs suck.
No, not that people who have just gone and gotten one at the request of their company, or just to do it, etc. Most of the coders I work with that I have confidence in have them, but they're just a formality, really. I'm specifically talking about the MCSEs who have the certs, but no real knowledge to back it up. To the point where its scary. I thought most of these got shaken out during the .com bust, but if I didn't know better I'd say most of them left the country & are working for offshoreing companies.
- Some of the most impressive coworkers I've had were indian H1-Bs
I'm not even being polite, even though its a little weird to me to single out a coder based upon their race. Some were just what I'd consider average, but many that I've worked with were often the unsung workhorses of the group: excellent coders, efficient, polite, strong desire to learn and improve... in short, the perfect team member. I'd go out of my way to work with them again. So far, I'm really not that enamored of the quality I've encountered via offshoring groups (experience with indian and russian so far). I don't understand that, considering the high esteem I hold some of the H1-B programmers I've worked with, but I want to. I hope I'm just missing something, and want to keep an open mind about it.
- In the age of offshoring/outsourcing, project & product architecture is going to become even more important than it already is. (duh)
I know they tried to do some of this right: splitting it into pieces and mapping the interfaces so that the different sections of code could be developed on different timelines, etc... what they didn't seem to do well enough was to keep tabs on just what was going on behind all the interfaces, and hence, they're getting bit in the ass.
Again, if you have an MCSE cert or the like, my rant isn't really directed at you. You could say the same of just about any field... like the people who took the 2 week web designer course, joined the HTML Writers Guild and haven't worked since the .com bust, and have all kinds of scary award badges on their geocities site.
*bangs head on table*

Posted by drunkenbatman





