Outsourcing Winners and Losers
An anonymous reader writes "The New York Times has an article on the winners and losers of the outsourcing trend. It's a Q and A session with a distinguished panel of experts on the topic, including Professor M. Eric Johnson, who says that, 'Low-skill jobs like coding are moving offshore and what's left in their place are more advanced project management jobs.' Now I know coders aren't rocket scientists, but less advanced than project managers? Ouch."
Those that do... do...
Those that can't... teach?
Who is he calling low-level?
Davak
I have programmed. I am VERY bad at it. Sure I CAN code but I can't do it well. To find a quality programmer is not easy - I've tried. I wonder if this is why most software sucks ... because people think ANYBODY can do it.
...And when they came for me, there was no one left to speak out for me." - Martin Niemoeller (1892-1984)
I strongly feel that programming is a creative process, and anyone that describes it as a low-end job, does noet knows what programming is. It's like out-sourcing art-painters to an other country and letting the important managers of the painting-creating process say inside, to send e-mails like: "Don't forget to use a lot of blue in the right corner, art-buyers like red."
-- (:> jms cs.vu.nl (_) --"---
Outsourcing managers is a big no-no. Suddenly, the company is not American anymore.
Don't waste your vote! Vote for whoever you want, unless you live in a swing state it won't matter anyways
While not all coders are rocket scientists, I think the ones who use Assembly everyday are the ones that have six brains. I can barely understand all this converting binary to this, hex to that, etc...
The whole interview is a way to blow smoke up the ass of the managerial class that is shipping these jobs offshore, by somehow letting them think that it really is a matter of merit that their job is intact.
It's about legitimation: "my" skill is a high-level, professional skill, and I "deserve" my salary because of it (because the companies are run by people I went to college with, etc.) "Your" skills are replaceable and commodifiable, because I dress more like the people who run the mutual funds that own the company.
The cultural perception element of this sort of thing is difficult to quantify in economic terms, so economists - especially ones busy telling the managerial crowd exactly what they want to hear - tend to ignore it. But it's a reality.
Not that I'm a protectionist for these sorts of jobs, mind you - at the end of the day, I think that the creation of middle-class professionals in the developing world is a good thing. But I can still recognize self-serving disingenuous rhetoric when I see it.
Some may think this is the best way to do things at their company, but it's essentially turning their coding process into a factory job.
Look at it this way: would you rather have the wristwatch that is hand crafted to perfection, works better, and will last forever, or would you rather buy the watch that came off of the assembly line, always loses time, and will break on you in a year or two?
By leaving the coding process to people outside of the company and its interests, and thereby making the whole process more mechanical than creative, they are essentially assuring themselves the lowest-quality product. It's unfortunate if they think that's the best way to go, but in my opinion they will eventually get what they paid for, so to speak.
SO, if the project manager is an architect, yes he is more advanced than the coder.
That's true, but "architect" and "project manager" are different jobs. You may have one person performing both roles, but they're different skill sets, with only a little overlap.
An architect designs the application/project/whatever, at least on a code level, and quite possibly including hardware, network details, etc. A project manager, managers the project - liasing with clients, helping gather requirements, ensuring team members are fully-booked but not over-booked with work, keeping an eye on the deadline and financials, etc. So yeah, some overlap - an architect will need to talk to the client to find out their requirements, etc, but may well not be concerned with making sure that all the programmers have enough to do.
Like I said, the two roles may be being performed by the same person, but there's no reason to suppose that that's the case. I've never actually worked with a technical project manager, let alone one who could do an architect's job. (Conversely, I would make a mediocre project manager, at least at the moment)
It's official. Most of you are morons.
I can't believe theyre saying coding is low-skill.. its not like just anyone can code.. ive been in and around computers for 12 years and although I'm an absoloute hardware freak I still find programming rather difficult (I guess part of that is because i just can't remember alot of it and I have problems with some math, if anyone has any suggestions that would be nice ^_^) saying that ok yeah maybe it is something that can be more easily outsourced but it is definitely not easy..
How can you call a job requiring a degree low/unskilled?
You're suggesting that education == skill?
$x='S24;r)>63/* h@<5+oZ)32"5cz';$me='phroggy'x$];
$x=~y+ -xz+\0-Tx+;print$_^chop$me for split'',$x;
-If your software project is pushes the boundaries then programming is more difficult.
-If your project is underfunded, underspecified, and open to change, then managing it is more difficult.
Now, where on this spectrum do you believe most software development efforts fall?
When in doubt, have a man come through a door with a gun in his hand.
This is the common mistake many big companies make. Offshoring IP development in the form of engineering is bad on so many levels - I have yet to see effective software engineering done by an Asian "offshore" outfit.
I believe this has something to do with Western Culture.
At any rate, the best success I've seen is to turn over detailed designs for offshore coders to implement, but even that can be of questionable quality, unless strict supervision is applied.
Do I seem cynical? I've seen some great IP development flushed down the drain in the rush to "cheap" Indian companies who've bait-and-switched personnel and taken 3-to-4 times the resources and ultimately, MORE MONEY to complete a project, and the results were very poor.
At any rate, there is a big difference between a software engineer and a programmer, and it's more than simply a case of following a software development process. Creativity has been a hallmark of American and European engineering, going back centuries - and it's an integral part of a successful program that develops IP.
Management people have always sought to devalue programmers. It makes them uncomfortable to think that some of their subordinates can do things that they can't. The current situation is no doubt making those people very happy indeed. Because now a programmer is, it seems, just a low-value job - like telesales - that can be cheaply and easily farmed out to some third-world sweatshop. The manager is once again demonstrably superior to all his subordinates.
I am a technical project leader and have paid my dues. I am so tired of this type of nonsense. If companies would cleanup their layers of management and beaurocracies we would not have to be farming our work overseas. I work for a very large corporation who constantly allow people with cool degrees and no vision attempt to lead the show. I see this in most every company. Managers/Directors should have a clue about technology and architectures. It is more than creating powerpoint slides and playing politics. There comes a time when you have to do the right thing and clean house. I am little tired managers/directors/VP's doing whatever it takes to protect their bonuses and careers at other peoples expense. Sometimes I wonder if we need a programmers union.
: Fuck corporations.
:) ). This is how I, and other insightful US engineers, remain competitive: by augmenting my skill set and making use of my intelligence to build indispensable infrastructure that provides a much greater value to my company than 8 random coders from India or China could.
I take away from this comment that you don't shop around, right? You either randomly buy without considering cost, or in fact search for the highest-cost vendor for a particular product, right? You use pricewatch, but you sort by price in descending order, right?
I'm guessing you don't. Well, then in fact, you should be fucking yourself because competition is driving low-skill jobs overseas. Without outsourcing to cheaper regions, a company cannot compete for the business of those who attempt to find the lowest price.
FWIW, I am a software architect, and was a software engineer for many years. I know that the kinds of things I do for my company cannot be done by a random coder straight out of CIT (Calcutta Institute of Technology, remember?
I'm sure the leftist/statist/communist anti-globalization pro-third-world-status-quo Slashdot moderators will bury this comment, but I hope at least some of you read it. Stop whining; understand the problem; figure out what you can do about it; and do it!
[ home ]
Augh! Don't give me this crap. I cannot believe that you're making some pointless distinction between "coder" and "programmer". Not to mention "engineer".
The fact is that there is a certain (small) percentage of people working in the software industry who are highly talented, and capable of understanding both high-level architecture and the low-level details of what they're working on at any given moment.
There are also some incompetent people - who should not have been hired in the first place. There are people who are capable of simple tasks, and those who are geniuses, capable of anything.
I'm already fed up of pompous pricks making an artificial difference between "engineer" and "programmer". Let's not tar "coder" with the same brush. I've been working in the software industry for many years, and consider myself a "coder", a "programmer", an "engineer" and even a "hacker". So what? The quality of the finished work is what counts. If we had less idiots saying "my role is an architect, not a coder" - or vice versa - then the software industry would be vastly improved.
I for one do not worry about my area of coding being shipped offshore anytime soon. Not sure the best way to describe it, but I guess "small-business custom integration web application development" works.
You take the business knowledge you should have been absorbing along your career path, and do contract work for existing small businesses which require your business knowledge. These companies usually have a unique business model or idea they are trying to leverage the Internet for expanding their revenue.
There will always be small businesses that don't have the luxury of their business model fitting into one of the software packages that was pieced together my a megolithic company that outsources all of their "coding" offshore.
Believe me, there is an extreme shortage of programmers with real business knowledge in ANY area of business. I know because I have been trying to find one to hire for over a year. Not one candidate has shown more than a shred of ability to take a raw idea, and make it a real application that will integrate with the existing business.
If you can take a business idea and apply to an existing business, without having to be taught that business, you are a value added programmer, and you will always have a job. Although maybe as a project manager =)
Having a bookmark to Google does not make you an expert on everything.
(Note: I didn't read the entire article, so this post may not hold up to my usual standard of fairness. In particular, I might understand Ms. Farrell better in context of other parts of the article.)
By attaching the label "protectionist" to anyone who decries offshore outsourcing, Ms. Farrell seems willing to draw a thick line between sides of the debate. Why? Intellectual laziness, I suppose.
"Protectionism" means using taxing power to favor domestic industry over foreign competition. Her use of the word is analogous to the frequent abuse of the word "censorship": it's not censorship to disagree.
Why would a company outsource jobs in order to create other jobs? They don't have job creation as their motive, and it's disingenous to say they do. Neither do investors consume more than others. The hole in her argument is that money paid out to investors doesn't necessarily end up in consumption, and money the company saves doesn't necessarily end up being reinvested. It may end up as bonuses paid to the managers who decided to offsource (tm), or to make payoffs to analysts.
The real question is this: is it proper to allow loyalty to a particular country to interfere with business decisions? Internationalists would say no, that nations are an artifact of a less enlightened time. Nationalists argue that there must be independent governments in the world, or the world government will have nothing to check it, and so we should be loyal to ours.
What I'm about is quality. Offsourcing is a short-sighted tactic, and I find it difficult to believe that companies trust offshore developers more than domestic ones. I'm missing something. Oh well, they must know what they're doing.
sigs, as if you care.
Interesting views, but you can see that many people don't understand what a manager SHOULD do.
Basically a manager should allocate resources, direct the team and communicate with the outside world.
This doesn't sound like much, but it is valuable, and really not a common skill set.
If a project is going poorly, replacing twelve good developers with one good project manager won't advance the project one iota if the project is already being competently managed. Conversely, if you already have enough developers on a failing project, adding twelve good engineers and removing a good project manager isn't much of a save either.
To try and establish some kind of mapping between the two is absurd. It's like saying "An axle is worth a dozen engines!"; the car isn't going to go far if you're missing either set of skills. If a project is lacking project management, you need more project management. If it's missing engineers, you need more engineers.
Part of what leads to these sorts of statements, of course, is that neither skillset is easy or readily understood by either side of the debate. Coders don't understand how hard it is to do good project management (mostly because they're typically exposed to the lousy sort, and because you can always muddle your way through). Project managers often have no insight into what it takes to design and build good codeTo compound the misunderstanding, they see that there's one project manager and a dozen developers and they think that they're worth a dozen developers. It's a fairly typical management error.
Ideally, project managers would all have heavy coding experience, and every developer would have project management training. If they don't, then it's up to the experts on both sides to educate across the aisle. If your project manager doesn't get it, it's your fault for not taking an hour to explain it. And if you don't understand why the project managers do what they do, try asking about the process they use to put together a project plan, to do resource balancing, risk amelioration planning, cross-team scheduling, and the like.
The question is: where do we get the project managers of the future?
As someone just about to leave university with a Master's in CS, I think I can say with some confidence that very few companies won't make their PMs start out as developers. Problem is, if there are no coders there's nowhere for PMs to cut their teeth. Clearly if the outsourcing of programming is the future, we need a radically different culture and probably a different education system for software professionals -- maybe in a few decades time the universities will figure that out?
The ONLY political presidential candidate who has stated he would end WTO AND NAFTA is ...
Dennis Kucinich
Dean has hinted as this, but will not commit.
It makes you wonder why the "left wing media" claims he has no chance. Kinda a self fullfilling prophecy by a self indulging ("left wing") media.
-------- -------- Support Wesley Clark for president!!!
I don't think that the reason coding is outsourced, whereas project management is not is because of the skill required. It is more because of the nature of the businesses involved, and the nature of the coding to be done. In many situations, you can't really get away with outsourcing project management, because that essentially means you don't really have control over the project, and so you don't really have control over your own business ( assuming the project is central to the business, peripheral projects can be entirely outsourced ).
The nature of the coding to be done is also important. One of the facts that I've come to realize in studying computer science is that, to a large extent, the majority of coding work is routine and does not require in-depth knowledge or familiarity with computer science techniques. Most real-world coding consists of pretty mind-numbing tasks of gluing different APIs together in a reasonable hodge-podge. Many of these tasks require only a familiarity with the syntax of a language, some familiarity with a few common APIs, and access to a machine. None of which is very skill-intensive.
During the dot-com boom many people were employed doing coding work at incredibly over-inflated salaries who had read one or two 'for-dummies' type books. This was possible because there was a shortage of coders who could do even the most routine tasks. The high salaries attainable with very little training meant that there was naturally a rush on such teach-yourself-coding books, and suddenly there was a glut of people who could do routine coding. Now, because of that glut, there is an excess of able code-monkeys to do routine programming tasks, which means that much of this work goes to the lowest bidders ( ie Asian sweat shop coders ). Supply & demand is all it is.
But the future is hopeful, I think, for those who are willing to tough it out and obtain Comp.Sci. degrees. Right now we're stuck in a kind of computational limbo where the market is not sophisticated enough to demand really sophisticated software, so there is little demand for people who can design highly sophisticated applications. There are some jobs which require knowledge of high-performance computing, knowledge of efficient algorithm design, AI, etc. but not very many. Right now basic code-monkey work is what satisfies the majority of the market demand. This is changing rapidly, I think. The more consumers get a taste for sophisticated technology, the more the demand for truly intensive software will rise, and the need for more people with real skills ( ie University level training ) will increase.
There is a big difference between a carpenter and an architect. One is a trade, the other is a profession. The confusion that is happening right now in the labour market for programmers is because this type of distinction is just now starting to emerge. It used to be that there were only professionals in the programming world. With the dot-com boom & bust this has changed, and there is now a new class of worker, who programs as a tradesman, not as a professional. The mind-set of the market has not yet come to fully realize this distinction, and so we have these problems. Eventually this will settle out and there will be two classes of programmers - those equivalent to architects with high levels of training, and those equivalent to carpenters with much practical knowledge, but little or no theoretical or 'design' skill. I expect this will occur more and more as the demand for sophisticated software increases, and we'll see the re-establishment of 'programmer' as a profession.
There are a thousand forms of subversion, but few can equal the convenience and immediacy of a cream pie -Noel Godin
IT people are being outsourced first because HR does not know how to hire them, and managers don't know how to manage them. Eventually everyone except the VPs, marketers, and salespeople will go. When garment industry jobs that Americans will not do get outsourced that doesn't hurt many people. When manufacturing jobs go, it's painful. When jobs requiring college degrees get outsourced it means a return to the middle ages, with a rich, talentless aristocracy, and a sea of poverty.
The only people you can't outsource are the ones who have to talk to the client directly and the ones who make the decsions as to who to outsource.
If I were starting up a new software company I would go to India or China or Eastern Europe and hire people away from the big outsourcers. Get experienced people pre-trained. Eventually with competition wages may get to 50% of American levels, which is what some people I know (good people, too) are currently accepting.
It's easy to be cavalier about jobs when you are a venture capitalist, a VP, or a journalist; only the journalist can be outsourced, and not easily. It's not so easy once you think that literally everything else can go, leaving American workers working at Wal-Mart.
You got me into this! You were the ideologue! I'm only a poor assassin! - Twenty evocations, Bruce Sterling
In a well-run shop, a good PM is worth a dozen engineers, never mind coders.
Even in a poorly run shop, a good PM is worth 2 or 3 coders. However, a good engineer is similarly rare, and worth 30 or 40 average, as opposed to good, PMs.
Face it, most PMs are glorified clerks. And yes, most programmers are just coders. The fact is that being a typical programmer requires more skill than being a typical PM. Programmers almost universally understand schedules, resources, and budgets, even if they couldn't manage their way out of a wet paper bag. PMs do not understand what a functions, objects, or design. You can promote a programmer to become a PM. This happens a lot. The opposite almost never happens.
This is because your AVERAGE, as opposed to GOOD, PM is merely a coordinator, not a manager. They take requirements, hand them to engineers for design and estimates, request resources, propose schedules, and talk to the client. This is quite a job, but it doesn't require years of training to do it at all. Being a secretary also requires a lot of hard work and the ability to multitask, but hard work does not equate to high skill levels.
However, PMs are viewed as managers because the traditional job assignments pass through them. To upper management, someone who passes orders to others is a manager. They (in a few cases, correctly) view themselves as skilled, and those below them as less skilled or less experienced. It follows that a professor of Organizational Management will view things as heirarchical down to the chain where the work gets done. After all, if the secretary who types the memo is less skilled than the manager who dictates it, then the programmer who executes the problem given to them by the PM must similarly be less skilled.
So comparing a GOOD PM to an average coder only obfuscates the fundamental organizational bias the good professor demonstrates. Comparing a typical PM to a typical programmer gets at the root of why programmers feel organizationally slighted.
Let none of what I have said suggest that I don't view GOOD PMs as worth their weight in platinum, or that I think that even being an average PM doesn't take work.
I find it almost amusing, and a bit intimidating, that so many Slashdot readers seem to believe in the inherent superiority of "Western" engineers, architects and managers.
There seems to be a wide-spread belief that people in India and China are somehow less creative, less able to come up with revolutionary technology, that they're most likely only suitable for production or manufacturing, but not higher level jobs, e.g. architectural work.
I hope this is just a misconception on my behalf. I mean - seriously, do you think a couple of billion Chinese and Indians aren't up to the task of leapfrogging the economies of the West? Do you think they are less apt to come up with excellent algorithms, solve mathematical problems, engineer new software?
Don't kid yourselves... Technological changes in Asia will increase growth and output at rates the US, the EU and Japan will only be able to look at in envy over the coming decades.
For them, this will mean higher incomes, which equals better education, and more capital to invest in new ideas... And before you know it, roles have changed, and you're the low-wage US software engineer, getting harsh orders from your parent company's Beijing managers to speed up the monkey-coding and to leave the thinking to them.
There's only one way out of this, and that is to let go of the nostalgia, and, in a very Dilbertesque way, to work smarter; to educate, educate, educate and let creativity flow, to invent, invent, invent.
Stop whining, order a triple caffe macchiato, smell it, and wake up. Roll up your sleeves, and get to it.
How in the hell did the parent post get a score of +5, Insightful? Is Slashdot somehow scripting moderator point distribution to skew to complete idiots?
I've SEEN what happens when a project is done without a project manager... and you end up with the programmers being just as pissed off as the client. No project manager = no enforced schedule + no well defined scope + no detailed development guides + no moderator of disputes. A good project manager knows the limits of their team and the technology they work with, and will protect the team against unreasonable demands. They take twice as much crap from the level of management above the team as the team takes from them.
I remember that a lot of my friends believed that in 1999, but who really buys that now? Sure, I've seen a few instances of remote managment. Some of the project managers at my company (who are Chinese immigrants) manage groups in China. But in the long run (and by long run I mean ~2 years), how can anyone truly believe that China can't produce enough capable product managers who are up to the task and willing to work for a fraction of an American wage? This quote is pure, unadultered (dare I say racist?) arrogance.
-a
Management trends attempt to drive the craftsmanship out of any effort; the knowledge goes into the system and the workers are just commodity fleshbots. Make the widget easy to make and send it to some place that pays two grains of rice a day.
This attitude is rife in American corporate culture. I'm forty, I cut code and am good at it. However, some people think I lack ambition because I don't wish to become a manager. I'd make a fair to middling manager, but I'm far more valuable in a technical role.
An alternative to this is to take the view that the best people are craftsmen/artisans. It is my (relatively uneducated) understanding that in European countries, the artisan is appreciated more than in the USA. The guy who has spent his life lovingly working with a lathe can tell you all its good and bad points, make the thing sing and dance. Similarly, I think there should be codesmiths: people that really know how to cut code and are valued.
A few years ago programmers were in short supply and you could get a good job (ie big bucks)if you could find the power switch on a PC. Probably a lot of people became programmers yet were not up to the task. The craft of coding became devalued because so many arbitrary skills were thrown into the "coding" bucket though they require different skill sets and levels of understanding (eg. someone building a web page is an HTML coder, vs say someone writing complex OS stuff in assembler). Times have got tighter and, perhaps for the better in the long run, there is a squeeze. Probably mostly bad programmers will get cut, but of course some good ones will be too.
While you're seen as an expense rather than a value adder, you're in a dangerous situation. Perception is important, not the reality. The manager likes to think that good stuff happens because of him, not because some programmer did a brilliant job. Unless the management can see, and are prepared to acknowledge, your added value they just see you as being a cost item and the way to manage cost is to reduce it. If you're perceived to be generic then don't be suprised if the manager picks their programmers from the "two for a buck" bargain bin.
Engineering is the art of compromise.
Some observations from my experience with cowboy development (developers without adequate management):
So you might understand my hesitation to believe that no program management == some sort of coder utopia. You'd be out of work in short order.
These opinions guaranteed or your money back.
The Indians wouldnt dare outsource their jobs. Their economists and politicians know that would be stupid.
This currently makes them wealthier, but for how long?
The "elite" are currently doing the new work. There will be much more work coming in, and more "3rd world university" coders supplied to the dozen Indian provinces trying to under cut each other (tax shelters). Their methods will be documented and automated too. And quicker than it happened in the West, so market forces say their wages will drop, not increase, and standards will get worse.
ps: Ireland is now fucked after helping build the worst windows versions every conceived and getting no taxes for it.
pps: that project manager who posted before, it certainly sound like its faster to have your local coders making the program while you type out the specification and manual, than writing it all first, sending it off and waiting to see how much you have to fix when it returns.
Hmm, you might be right. But let's follow that to its logical conclusion...
Modern medicine allows people who can't live on their own to survive. Let's get rid of modern medicine. We don't need Steven Hawking anyway.
All those safety mechanisms they came up with for steam power let people who shouldn't have been using it in the first place have easy access to it. We didn't need the Industrial Revolution anyway.
Pasturization lets people who shouldn't have access to milk have strong bones and teeth. Everyone who wants milk should have to take care of a couple cows. I'm fine taking a few measly hours of every single day of my life to care for a cow so I can walk at 50.
Or maybe our modern languages and compilers allow people who normally couldn't program write bad programs, and people who would have been able to get along without them write great programs. What do you think?
"Verbing weirds language." -- Calvin
Your post should be modded flamebait, but I'll bite.
Bull shit. 20 years ago, today's "modern programmers" would've been executed for the crap they write.
I'm sure you could form a nice firing squad from the scores of Cobol-programmers who used two digits for the year ("Die, thou inefficient Java scoundrel"). Face it, there have always been crappy programmers. For every beautiful program that was written in the 80's, there were dozens of crappy, hacked-together, highly entangled monstrosities. Of course, those are the programs that have far less chance to survive and be looked at again, so it seems like programming was done better in the past.
Very few of those called programmers today have even heard of a clue much less possess one.
What a great debater you are! I expected some proof or example, but instead you came up with a baseless assertion. I never expected to see this in a post modded to +4, so I'm totally flabbergasted. No wait, I wanted to say disgusted.
Things like Java have polluted the world by making everyone think they can program.
How true. I remember how shocked all those elite Visual Basic programmers were when Java came on the scene.
In a few decades, society will come crumbling down for lack of someone smart enough to write a compiler or VM.
Right, because we all know that nobody writes low-level code anymore. I mean, I would really like to see thousands of programmers work on an open-source compiler or OS, but that's never going to happen. Right?