![]() |
I'm writing this against my better judgment; deep-down, I know that it is an exercise in futility; but I feel I have to do it, at least once in my life; express that is, the solitude and frustration of a creative mind when it is bound by the "rules of conduct" of large corporations.
You see, one of the things - in fact, the most important one - that got me in the IT sector, was the beauty of coding. It merged the clarity of mathematics with the usefulness of physics. It is one of the few things in life where beauty and functionality go hand in hand.
A good developer writes less code that works faster; sees design patterns that get re-used from one project to the next; knows when and what to optimize; uses the right tools for each problem; writes macros and code generators for tedious and repetitive code. To put it simply, an expensive developer - one that sells his/her services at a rate of 2-3 times more than the simple-minded market - is actually 10-20 times more productive, and thus, much more cost efficient.
No, this is not an exaggeration. In fact, it is an understatement.
If you think it is an exaggeration, stop reading now and try a decade of coding for a living.
This is a rant, so don't expect any "market proof" for the previous dogmas or the ones which will follow; I know I am right, and I'm guessing that all the experienced developers out there already know what I'm talking about.
So, if that is indeed the case, and efficient people can solve IT problems in a cost efficient manner, why am I upset?
Well...Imagine that a large corporation is facing huge problems with their already existing systems. Their hardware can't keep up with their load; their software is old; it can't adapt to the ever increasing change requirements.
What should they do?
What do they actually do?
The answers to the previous two questions are almost always, way too different.
What they should do:
What IT managers usually think of:
Actually, he isn't, because migration to the new system is now facing delays and complaints: the beast is slow, almost as slow as the legacy system. It doesn't do what the corporation people want, and customization is very slow and introduces bugs. The original developer of the beast has sold the product to Beast Inc. and lives in Hawaii, so the poor developers have to reverse engineer it. This leads to even more bugs.
Eventually, everybody gets fed up and the corporation returns to the
legacy system.
Or accepts the "new" system, which is a bloody nightmare - even
more so than the legacy system (and fires the incompetent managers,
who cheerfully migrate to their next nest... or become employed
by the "Mega Beast Corp".
....
I have personally been involved in projects where a team of 5
competent engineers could have completed a blazingly fast new
system in record time. The system would have satisfied the
customer's demands (and would have done so for the next decade
at least).
The customer however (in fact, the customer's managers) always
chooses to go the "Mega Beast Corp" way and employ a battalion of
"consultants".
Perhaps they are justified in their thinking. Perhaps they have been burned in the past when they tried to do it "in-house". Perhaps a devious subcontractor managed to exercise extortion last time they tried upgrading, and demanded outrageous fees for adding an edit box in a form.
Regardless of the reasons, the result is almost always the same:
Forget what I said in the beginning, about beauty and efficiency.
Meet living hell, meet hacks, meet the software equivalent of tons of stitching tape to make the Mega Beast Hippopotamus stable enough.
In the end, of course, it turns out that the ones that actually do the work are still bright people; only geniuses can cope with mapping the Beast to the customer's needs.
But even they, despair sometimes.
And their lives could have been so much easier.
Their clients' lives, too.
Index CV | Updated: Sat Mar 8 22:58:16 2014 |
The comments on this website require the use of JavaScript. Perhaps your browser isn't JavaScript capable or the script is not being run for another reason. If you're interested in reading the comments or leaving a comment behind please try again with a different browser or from a different connection.