A Rant About "Life of an I.T. Grunt"
<FONT color=#02469b>http://integrityconsulting.net/blog/</FONT>
short version:
someone posted a link to a bitter IT professional (?) who blames the problems of the industry on developers from other countries. there are of course many problems in the IT world, but i don't think any of them have to do with nationality. it's a matter of the quality of education in the sciences, which is something that has been degrading in this country for the past few decades.
long, better version:
these stories would be decent if this guy wasn't a racist prick. one of the reasons i love this site is because it isn't so full of ignorant flaming trolls intent on bashing everyone who doesn't look and think exactly like them. do i think that outsourcing is potentially hazardous because resumes of incompetent "developers" are often overinflated by consulting firms with dubious integrity? sure. i've seen it. but does that have anything to do with where they're from, or what their nationality is? no. i've seen plenty of incompetence in people who are from europe or the united states, too. in fact, incompetence is rampant in the IT world, and here is what the problem is: it's not offshoring, and it's not an invasion of workers from other countries. people just don't give a damn about engineering practices or computer science anymore. good programming practices and efficient languages have gone completely out the window because the Corporate Culture is obsessed with cutting costs. if you can throw 10 incompetent louts at a project cheaply and get back a solution that kind of works within one or two quarters, great. code is sloppy, training is inadequate, and most of all, Enterprise Applications are not very interesting to work on anyway. it's hard for even a good developer to become motivated by implementing some "business rules" of a mysterious workflow about which they know nothing.
i work on an internal application for creating technical order forms for enterprise hosting solutions. the application itself is built in java using spring with hibernate and oracle. altogether, the "business rules" of the application don't mean a whole lot to me, and i don't have a great understanding of what, exactly, the application does. so it's a fairly standard application with some boring rules i know nothing about. i've found that by taking a moment to talk to some people who actually have used the application, i can learn a bit about our hosting services, and what all the parts of the technical order form refer to. this makes it more interesting, and easier to work on. there are even a few parts of the application that need improvement which i'm actually enthusiastic about working on; tuning performance and implementing more useful tools for the users may turn out to be a bit of a challenge, which i know will encourage me to work more diligently, more productively, and in turn cause me to write better code, since i'll actually give a crap.
compounding the lack of interest in projects of good developers is the fact that poor developers even lack interest in programming. i majored in computer engineering and computer science in college and really enjoyed when i was given challenging problems to work on, and when i found new concepts to learn. i devoted my college career to learning everything i could about computers, algorithms, and programming principles because i am fascinated by logic, grammar, and formal systems. my interest has driven me to gain a deep understanding of the underlying concepts of computer science. i think this is more important than being well-versed in the syntax of a particular language, or the capabilities of a particular technology. as we have all seen from the stories on this site, poor code often comes from lack of understanding of the underlying principles of computer science, not from insufficient knowledge of languages and technologies. too many people enter IT without having any real interest in computing, and the large ranks of unmotivated, uninventive people pervading the community pollute it with too much enterprising and not enough ingenuity.
those are my two cents, anyway.