##CONTINUE##
Ordinarily, I write my blog posts with a strong opinion: This is how I see things. In this case, however, I'm less certain of my views, and I'm interested in how you see the situation.
About a year ago, I listened to a speaker at a Gartner conference explain the dangers faced by U.S. programmers who wanted to stay in the business. The obvious concern, pointed out the speaker (whose name, I confess, I have long since lost... sorry), is that companies are sending developers' jobs overseas to India or China. Far less visible, he said, is the number of jobs that disappear gradually because of software automation. That is: Things you used to do by hand are now being accomplished by the programming tools you buy.
Years ago, you might have spent weeks or months in code optimization, or hand-coding XML, or manually multi-threading programs. Some less-exciting tasks might be given to entry level programmers; in the 1980s, I met one guy working at a bank who had an 8-month project changing all database ZIP code fields from 5 to 9 characaters. (He was boring enough that this didn't bother him.)
Few of these tasks need a live, breathing developer today. Many of them are done by a software tool that you can buy (or maybe is open source). A developer tool that checks for security vulnerabilities arguably can be more effective than can 80% of individual programmers trying to do it by hand. You can (and often should) acquire software for unit testing, load balancing, project management, code coverage. Plus, once the developer tool is in-house, it can be run against every project (instead of just the "important" projects or those without a screaming deadline). In addition, lots of great, useful software itself generates the code you need for the application, or uses some kind of wizard to create the whole application for you. How convenient! How useful! How much time it saves you — and your employer!
Overall, I think we are all glad of this. The whole point of using a computer is to automate the boring, repetitive stuff, so we humans can use our brains on worthwhile endeavors (such as designing software that can do marvelous new things... or maybe just playing Pirates on Facebook). I am not, emphatically not, against developing and using such tools. Quite to the contrary.
The Gartner speaker's premise — and one with which I hesistantly agree — is that, in the not-distant future, developers' jobs are as likely to go away because computers will do their work as because the jobs will move overseas.
There's no question that bright, creative programmers will always be needed. But our industry does have plenty of boring development jobs staffed by less-than-stellar people. Half of us are below-average. (I'm not speaking of you, of course. But perhaps you've met someone like my ZIP code guy.)
Most of you grew up with computers, so you don't remember how intimidating they once were. Our society no longer talks as much about a computer taking over your job (certainly not as much a concern as it was in Desk Set with Spencer Tracy and Katherine Hepburn), but it still is happening. We might be excited (in a geeky sort of way) to see robots building cars, but those robots are replacing workers. And I've a little personal experience with this as well.
Almost 30 years ago, while I attended programming school at night, I had a day job in Repair Accounting at U-Haul International. That job can't possibly exist anymore, because it was a picture-perfect example of something that could better be done by a computer.
As one of about 20 Accounting Clerk IIs, it was my job to examine every internal invoice from U-Haul mechanics around the country. I ensured that every job code was correct, that the part numbers were written in correctly, and that the parts used matched up with the work done. If the mechanic had done an oil change, for example, he had better have listed that he used oil. U-Haul had a lot of trucks, and I probably examined 60 invoices per day. It kept me (and 20 other barely-above-minimum-wage clerks) busy for 40 hours a week, letting me scoot out the door to a Tech college where I got to exercise my brain.
Nowadays, I'm sure those invoices are all done on an intranet with a custom web application, and the computer does a better job at matching tasks-and-parts than I did. If there's even one person in a Repair Accounting department these days, I'd be surprised. I wasn't affected personally by this particular "human job being replaced by computer" situation because a year later I was writing FORTRAN programs for a government contractor. But what about the other 19 people in that department?
It's really easy to start a flame war among developers by mentioning the possibility that their jobs may be outsourced to another country. Strangely, though, the community doesn't get worked up over the idea that their careers are in danger of being replaced by the software they are writing.
The solution, opined the Gartner analyst, is for developers to map out their careers to avoid areas that are rife for automation. For example, a safe path would be working for an independent software developer that creates those tools (particularly if you are a god of, say, code optimization). And as long as you're doing something that a computer could not possibly do (such as cutting-edge design), you're safe. But if the applications you write can be automated... look out.
As I said, I'm not committed to this line of thinking. I believe it has merit (or else I wouldn't have written about it) but I only have one source. I'd long intended to write a feature article examining other Expert Opinions on the topic ("Safest Career Choices for Developers," it says here in my Ideas.txt file), but hasn't happened yet. Depending on your feedback, however, maybe it'd be worth the time to investigate.
What do you think? Is this something new to worry about, or am I being distracted by just one person's opinion?
-----------------------------BY Esther Schindler
Source:JAVAWORLD
Copyright, 2006-2008 Network World, Inc. All rights reserved.
0 comments:
Post a Comment