By Ramon Leon - 10 October 2006
I've spent a few years working in the corporate IT world, and let me tell you, enterprise development sucks. There are the occasional fun little projects, but mostly, you're forced to build badly designed systems, on purpose.
I was going to write a long post, but this guy says just about everything that needs said. Well, not quite everything, small rant ensuing...
The one thing he forgets to mention is not only do you have to use our nasty badly designed database schema... but you have to use our home brew nasty library that prevents you from getting too close to the data. One by one follow all the inevitable "Oh buts/ands..."
Oh, and it was designed for some other project, but we're "calling" it a generic library and forcing everyone to use it, and you need to figure out how to use it in your project as well.
Oh, but we can't share the source with you, so if you have any problems you're on your own, because the problem can't be our code, it's already in production.
Oh, and to use our library, you have to build 20 giant XML files, and feed it to this code generator you're going to be required to use.
Oh, did I forget to mention you don't have access to our servers, you have to script all the installation and setup, of your components as well as these other libraries, so our "Production Manager" can install them.
Oh, and you have to audit log everything, here's our horribly designed logging system we built because we don't believe in using Open Source libraries at all, "they're not safe".
Oh, and you need to script a one click uninstall, so that if the install fails, the "Production Manager" can undo everything. Make sure it cleans out the registry, we don't want our servers crashing, because if anything goes wrong, it must have been your code.
Oh, and we hired 3 vendors so we can get done faster, so you'll need to coordinate with 2 other shops and make sure you integrate well.
Oh, and by the way... we're requiring you to write this in Visual Basic, it's our standard.
Oh, you need schema changes, why? Normalization, what's that? Well that's 6 more people and 3 more weeks of meetings, hm... OK, I'll stuff it all into an XML file, and just lock it when I save it, and hope concurrency isn't a big problem; Yea, that's the ticket!
I could go on, but I won't, there's simply too many cooks in a corporate kitchen, most only worried about covering their asses. They don't actually care about getting anything done unless something accidentally works out, then they're more than happy to take the credit.
Corporate development is a nightmare for anyone with half a brain, those who win, are those who only care about money and don't mind doing pointless work, or those who figure out how to subvert the system and do things on the sly, bypassing red tape and morons with too much power and less than half a clue. Idiots can remain hidden and unnoticed in large corporation and still get a paycheck, small companies are much harder to hide in, so they flock to large companies in droves.