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
Half the talent from universities is terrible anyway, no wonder coding is being shot off shore.
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..
I can only assume that by fp the poster means functional programming.
Offtopic, you may cry!
I would argue that it is not.
As long as the business world continues to hold the position that coding is a low skill job: 'Low-skill jobs like coding...' software will continue to suck (be unusable, buggy, insecure, incorrect). Now I don't argue that american software developers are any more qualified to write good software, in fact, I would argue that in the most important aspect [Mathematics education] they are some of the most under qualified. This is just to say that the business world seems to have a fundamental misunderstanding of what goes into writing good (correct) software and doesn't particularly care to put forth the time and effort to do so.
--Isaac
(It's slashdot, afterall - I wouldn't want to be thrown out for actually _reading_ the article).
All of the participants come from a business administration perspective. It's not really a wonder they think moving elements around in a gantt chart is "higher level work" than writing lines of code.
It would be a much easier world for the Business Administration guys if software development actually _was_ a low skill job. If it can be specified well enough to be automated by human drones, it will be automated by machines - and then we'll need a higher skilled developer to supervise these machines.
They should discuss outsourcing management - it's the next logical step.
There is an assumption by protectionists that these jobs are going somewhere else, and all this money has been pocketed by C.E.O.'s who take it home. A little more sophisticated version is: It's being pocketed by companies in the form of profits. One step further and you say those profits are either going to go as returns to the investors in those companies,
A even more sophisticated version is: the vast majority of those increased profits is being pocketed by the upper 5% income bracket.
or they're going to go into new investment by those companies.
Or maybe going to increased CEO salary, or more advertising and spin.....
Those savings enable me, if I am an investor, to consume more and therefore contribute to job recreation, Or maybe job creation in India?
and if I am a company, to re-invest and create jobs. That's important because I agree that we are migrating jobs away, some of which will never return, nor should they. Nor should we continue to subsidize these multinationals with corporate welfare, tax breaks, or military protection..... Also....
It's a race to the bottom if we spend all our energy trying to protect existing sources of job creation, as the politicians in the U.S. Congress are inclined to do. The problem is that globalization is growing asymmetrically, so initially it creates more supply than demand. We're living through that asymmetry right now, and that has caused a potentially dangerous political backlash. The Chinese, for example, are reluctant to transform their habits from savers to consumers because they're losing jobs through the reform of their own economy, and they don't have social security or retirement. Over time there is a rising tide. But the political process is not that patient.
Translation: "Just trust us CEO/globalists/investors, and everything will be fine....
Dennis Kucinich, the Open Source Presidental C
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.
ARE low level, and they should move to hell (im not even american, but its the same trend everywhere).
I mean, you dont need good level programming for 80% of the programming tasks of corporate enterprises (sap anyone?)
People that actually get to manage this kind of project should also move to their nearest cronic boredom self management help-group.
Now, if the 'interesting' projects are also moving there, its because 'there' has better educated IT professionals for a lesser price. I do think this is the case for some of this projects, and good riddance to them.
But other projects (granted, only 10% of the it workforce gets to work on this) simply cannot be done anywhere else than in the states. Your job is to struggle for those, or open your own shop.
Fuck corporations.
NO SIG
Shhh, don't tell anyone but most people could program if they wanted to. Most people can master any task if they had the time and inclination. People are like that. It's really cool.
The problem is, however, that many of these project managers who offshore their work never cared to begin with. The code they produced here sucked and the code they pull back from India, Russia or China might suck too. This IS why comercial software is of such low quality most of the time. That these companies decide to first cut the people who actually do the work is a good indicator of their priorities. They had people who knew what they were doing but fired them. The very least this would do is diminish the product quality while they trasitioned to new people. The worst it can do mostly happens if they never cared to start with which is to stay the same.
The closed source world compounds this quality problem. Because there is much less work sharing , everyone has to reinvent the wheel everytime. This is why comercial software, regardless of the care exercised, has trouble keeping up with new features and ways of doing things. Comercial software also wastes resources on advertising, marketing and other stupid stuff.
Free software, on the other hand, solves cost and quality problems. Anyone, with the time and inclination, can get things done with it. Where they need to fix things, everyone benefits. The codebase grows, work gets done and everyone who should be is a winner. The project manager is going to change or die.
Friends don't help friends install M$ junk.
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.
enough said.
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.
> So, I guess 'those that can' are on the bottom rung, huh?
Have you looked at teachers' salaries lately?
I Agree with the writer of this article. *GASP* yes i said it! Now, listen as to why before you troll me.
Coders have a skill that is valuable. But, a lot of people can do it. Too many actually, creating a glut in the market. And, Indians, Pakistanis, and others in Asia work for so much cheaper than Americans, that outsourcing saves money.
As for Project Managers, it is a VERY different job than programming. Not only must a Project Manager know how to program at a reasonable level, they must know how to communicate exactly what is needed for a project to those who are coding. Especially if that programmer does not speak the Project Manager's native language. Plus, there are change orders, budgets to meet, and other crap that gets handed down from Upper Management. Also, paperwork, timelines, and all kinds of requirements fall on the shoulders of the Project Manager. If something doesn't work, he gets the blame. If it works, Upper Management gets the credit.
I'd rather hire a good Project Manager and o.k. Programmers than an o.k. Project Manager and good Programmers. But maybe that's just me, thinking too business-like for the /. community.
MR. ROACH It's a race to the bottom if we spend all our energy trying to protect existing sources of job creation, as the politicians in the U.S. Congress are inclined to do. The problem is that globalization is growing asymmetrically, so initially it creates more supply than demand. We're living through that asymmetry right now, and that has caused a potentially dangerous political backlash. The Chinese, for example, are reluctant to transform their habits from savers to consumers because they're losing jobs through the reform of their own economy, and they don't have social security or retirement. Over time there is a rising tide. But the political process is not that patient.
I can only say that to Mr, Roach that it is not the political process that is not so patient, its largely cfreditors, banks and landlords. Children also seem intent in their headlong need for food and new clothes.
Sarcasm aside, this is an attempt to trivialize as "merely political" the forces that are motivating the backlash agaisnt globalization free trade.
It's not even people, ordinary human beings, that are causing it in his mind, it's Congress, or in otherwords, a shallow political maneuvering non the part of some short sighted politicians.
By mislocating the actual impetus and associating it with Congress, he is attempting to trivialize the motivations and very nature of the backlash.
This goes to the heart of the almost total lack of sincerity inherent in all these utterances. In their world, the people don't exist except as a petulant and usually myopic "force" that occassionally gets Congress to go against THEIR wishes.
Then Congress is acting up and needs to be put in it's place.
This should give you some idea of how elitist and disdainful of a government BY FOR and OF the people these people are.
The problem is that most people don't realise that some items should be crafted and some should be produced.
If it's needed in mass quantities, doesn't require intricate design, and price is important, then it should be produced. If it's one-of-a-kind, complex and difficult, and price is not an object, then it should be crafted.
The paradoxical thing about software, is that since it can be duplicated for free, the commodity items are the ones that should be crafted. So every in-house database front-end should be made in a production-line environment by technician-class workers (these can be outsourced). But operating systems and major applications should be designed with care.
For example: the reason Linux is better than Windows is that Microsoft develops software on a production line while open source uses the craft approach. When a big consulting company like IBM outsources their coding they won't have a similar quality drop because they're producing a bunch of simple products.
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?
Sounds like Intel.
I once had the distinct *cough* privilege *cough* of having no less that 4 people over the "management" my work. Basically, a manager would whine long and loud enough about how overworked he was until they'd get the go ahead to turn someone below them into a mini-manager who would take up the management of their people. Then that manager, conceivably, suddenly has only one person to manage.
Needless to say we were all a little unclear as to what the first manager now did besides check that the mini-manager was doing his job and maybe make some pretty Powerpoint presentation to show what a great manager he now was.
- I am made of meat.
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
unfortunately, your scenario assumes all schools are created equal, provide equal levels of quality, and have equal levels of PR perception. Just as there are more than enough academic publications to publish any scientific work, publications to anything less than first-tier journals and conferences are basically ignored. Before we even reach such a huge academic industry as you suggest, many students that can't enter the top tier schools will stay local. Sure there will be 85 million jobs... it'll just be distributed across the world, not just the USA.
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.
That would be true if ALL programming jobs were outsourced. Even with all this hoopla about outsourcing, less than 10% of work is outsourced to India. Indian IT exports are currently around 10billion$, a drop in the bucket..
The answer seems pretty clear to me. Is coding lower-skilled than management? NO. Are coders lower *class* than managament? YES.
The NYT, the people they polled, and the managers are upper or upper-middle class. Most coders are middle or working class. It is thus not surprising that the NYT would say that programmers are less skilled...that's how they convince themselves it's okay. But it's a move by the managerial class against the programmer class nonetheless.
The poster talking about a union speaks sense, though I fear it may already be too late...
Coders of the world, unite! You have nothing to lose but your chains.
(Myself, I'm just sorry one of the few outlets for people who aren't corporate-standard to make a living is dying out. What will they all do now?)
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
It's true, there are a lot of unskilled programmers out there. And there are a lot of skilled programmers out there that aren't very good at commercial development.
When I first started contracting I worked at a company that heaped praise upon me for my ability when I wasn't very happy about the quality of my own work. Apparently the people they hired before me were very very bad at what they did.
I've seen a few people like that since. Mostly they're people who taught themselves to program or did a quick programming course. Their code may be technically excellent, but it can also be very buggy and unnecessarily complex. It's not just a case of knowing how to get something to work, but it's also a case of keeping it as simple as possible.
It was mentioned in another thread that programming is just a case of copying code around and knowing what functions to use. This is partially true. And that's the way it should be. A program should be as consistant and structured as possible. However, this is where the 80/20 rule comes in. 20% of the code is going to be significantly different from the rest of the application and requires some actual thought and skill to implement and will take 80% of the time to develop.
And as for outsourcing, I know a company that some years ago outsourced an application to an outsourcing company in India. At the end of the outsourcing contract, the company was left with an application that was a shell and didn't actually do anything and the company had to write it themselves in the end. Of course, the project was obviously not managed properly by the company, but it raises questions in my mind about the work ethic of outsourcing companies. I don't want to come of as racist here, but India is well known for being a very corrupt country.
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.
We need to get involved in our professional societies (IEEE-USA, ACM), and push them to lobby for us (instead of letting the Corporations "speak" for us. we know where they stand!).
Right. I'm sure all the due-paying members of the IEEE and the ACM in India and China will be really happy about that. As will members in Canada and Europe who will see their ability to work in the US slashed as well.
As a card-carrying IEEE member for 10 years I will write letters until I'm blue in the face to oppose any political lobbying on the part of these organizations. They are technical societies. You want to raise hell? Call your congress-person.
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.
Winner: short term thinking, loser: long term planning.
Winner: idiots with money, loser: people who actually do work.
Winner: people in Europe whose governments tend to protect voters from loss of standard of living, loser: people in the US whose government is leading the race to the bottom.
You got me into this! You were the ideologue! I'm only a poor assassin! - Twenty evocations, Bruce Sterling
- Aircraft are statistically much safer than cars.
- Aircraft travel much faster than cars.
- Air crashes, though rare, almost always kill everyone onboard.
- Aircraft have redundant drivers, and multiple checks against
either pilot being intoxicated before boarding, let alone both.
- Automobile drivers don't have to pass through any checkpoints
before getting behind the wheel, so are much more likely to be impaired.
- A car crash at 90MPH might be survivable and might involve decelerations up to 9Gs. A plane crash at 600MPH would not be, would
involve decelerations much greater than 9Gs, and very few people can
survive that sort of deceleration anyway.
- Weight is much more important in aircraft economics than automotive.
An airplane with 9G chairs would probably have to charge something like Space Shuttle rates of $2000/lb to fly, if it could even get off the ground.
The analysis is probably not so callous as you suppose. Stronger seats on airplanes probably would not increase survivability.--
I don't want to rule the world... I just want to be in charge of mayonnaise.
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.
Hey, it's in the article:
"Low-skill jobs like coding"
I don't code for a living, but my degree is in computer science...and to get that degree I had to learn crazy amounts of math (calculus III, diferential equations..etc), algorithms, complexity theory, compiler theory, as well as a whole slew of languages (C, C++, Pascal, Fortran, Java).
How could a profession that requires that much knowledge possibly be considered "low-skill"? Christ! If that's true, doctors will be considered blue-collar workers in the next 5 years! I can see it now: Become a doctor at your local vo-tech school while attending classes at night or on weekends!
Lots of fraternity guys at my college had file cabinets full of business papers availible for "recycled use" by their brothers. They never had any Math, Chemistry, Pre-Med, Computer Science, or Engineering papers though....I wonder why?
We are in this mess now because we've become a nation of managers...we don't actually do anything in this country...but we sure as hell manage a lot. Good management is important in any company, but it can not replace intellectual capital. That's what drives long-term innovation and productivity.
It is easier for a scientist to learn business than it is for a businessman to learn science.
-ted
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
Nothing like a little economic reality to get a bunch of Slashdotters up in arms, and to prove once again why "geek culture" has become the elitist shithole that I've tried so hard to avoid dealing with for the past few years. So many posts decrying the audacity of the author to suggest that a programmer's skills are less important than those of a project manager.
Look, I've done some coding. I started with VB, continued on to Java, tinkered with some C++, and hacked on Perl. I wouldn't call myself a "programmer," per se, but I have done a fair bit of coding, sometimes as part of my job as a systems administrator for a small company. And you know what? My degree is in English. I never took a single computer science course in school -- I'm entirely self-taught. The simple fact of the matter is that coding is NOT the difficult nonrepeatable skill that so many programmers think it is. Once you understand logical structure, it's little more than a matter of memorization.
You want proof? Think about it: How many competent programmers do you know vs. how many competent managers? Anyone who's read the rest of the drivel in response to this article can plainly see that the programmers aren't the ones in short supply. And yet so many programmers assume that managers are unskilled, talentless boobs whose value is inflated. It's no different from a construction worker who thinks that the architect is overvalued because he can't drive a forklift.
The Geek Elite has been given a hard wake-up call and they still refuse to admit to themselves that all the hype five years ago surrounding their skills was just that -- hype. Programmers aren't being outsourced because management is grasping at straws to find a way to prove its superiority. They're being outsourced because they are easily replaced by cheaper labor with similar skills.
Believe me, I understand. As a systems and network admin, I once overestimated my own value as well, thinking that my skills were important enough to warrant respect from my superiors -- until I realized that my job was still to do what I was told, like anyone else, and that I was little more than a plumber or appliance repairman. The sooner everyone finds a little humility and admits to themselves that their computer science degrees and taste for cheap sci-fi don't make them better than their peers, the sooner they can get on with improving their skill sets and finding a way to combat the economic difficulties we are currently facing.
Umm.... so it's Java's fault that it made things much easier? Like WWW sucks as now everyone thinks they have ideas worth publishing (-> home pages, blogs), or that they can find information themselves, by-passing publishers (googling, mailing lists, newsgroups)? Or cars that are easy to operate, without having to even have full understanding of internal combustion engine? (and so on and on).
Now, the way I see it, average low-level skill set of people who work as programmers may have decreased, but it has more to do with huge increase in number of people in question. Previously it took dedication, experience, interest... nowadays there are many more people for whom it's "just a job". For better or worse, not everyone HAS to know as much about basics as they used to have. In a way it's sad, in a way it really doesn't matter. I have my 20+ years of programming experience (starting at fresh age of 9 with commodore basic); in some ways it's neat to know so much more than fresh graduates do, about fundamentals, about different ways things can be done, about history of how things have changed. Perspective is nice thing to have. Especially with changing economic conditions; it's much easier to weather the downturns.
But even with the influx of less seasoned practisioners of the art, I would claim that number of competent programmers has still grown. Their relative size of the whole probably has decreased... but not absolute size. And with recent implosion of the job market, I'd venture a guess even relative ratio has slightly grown past year or two.
I like paying taxes. With them I buy civilization -- Oliver Wendell Holmes
You are partly right. Manufacturing might go offshore, but historically, the US has done the new technology thing well. It's happened in the past.
Look at the Automobile (one of your examples)...
The US began the mass production of the Auto (Ford)... US companies develop the technology...create the V8, Seat Belts, Increase Speed, etc... Japanese companies come along in the 70's with cheap, fuel effecient cars...just when we need it...the US companies refused to change until it was too late. In the 80's you see purchases/mergers (Ford buys Mazda, etc)...US companies begin outsourcing to Mexico & Canada...
In the 90's many ppl began to own Toyotas, Hondas, etc... Now you have the uniquely American SUV, American companies like Saturn and Chrysler (now Daimler-Chrysler) trying to develop a market...and interestingly enough, some of those Manufacturing and R&D jobs (even Japanese companies) are returning to the US...Toyota has both R&D and Manufacturing facilities in the US.
One thing has remained true all along the way...the good ppl in R&D stay in the industry and Maintanence remains here.
One thing is for sure...your small, specialized and in-house coding jobs and administration will stay here. A small company, School, City, etc can't afford to outsource a couple of jobs. Just like TV repairmen, Auto Mechanics, and custom performance modifications, these will remain well paying for the forseeable future.
If I understand it correctly, Micro$oft outsource most (if not all) their programming to foriegn countries (commonly Inda, I believe). If we look at the amount of patches that regularly come out for all their products, is outsourcing such a good idea? If programming was such a Low-skill job, why the need for constant patches/upgrades?
;)).
Or, are the MS project managers (Software Engineers) not capible of supplying a good design!? (Which wouldn't surprise me).
I believe that a lot of these wise men are forgetting that, there are many roads to Rome, but not all programmer are skilled enough to know the shortest and safest way!!! Getting there is one thing, getting there without trouble or hassles is another!
ps. About my above reference to Indian programmers, I am not saying that they are not skilled programmers!!! I am simply trying to say/suggest that programming should not be considered a low-skill job! I hope I haven't offended anyone (expect for those wise men, I don't mind offending them
Do you see M$ or Apple outosurcing to India/China? Hmm...
Coding is not a "low-skill" job. Far from it. Programming in C is a high-skill job. Programming in C++ is a high-skill job. Heck, even programming in C# is a high-skill job. Ditto for PHP, Perl, Python, etc.
You're right, for certain definitions of coding: the skilled job you do is a mixture of design and coding.
I bet you've hit situations where the creative element disappears from your coding, and you just have to spend hours crossing "t"s and dotting "i"s, converting your brilliant design into code in the most mechanical way. I know I have, and I'd love to have a code monkey on hand to give that slog to.
I believe the idea of this kind of outsourcing is that you separate design and code, create cast-iron class specifications (for example) and ship them off to be implemented. I'm not sure it can work (I always find coding reveals flaws in designs), but that's the idea.
But OTOH, if it was merely a matter of low-skill labour, then we could find low-paid staff to do it in the west. The appeal of China and India is that *skilled* labour is available at low prices. To suggest that they're getting given the job because it is too easy for Westeners is the worst kind of racism.
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?
And half of those programmers graduating from a university aren't only below average, they're totally inexperienced too.
[...]
Recent graduates also have very little experience in writing maintainable and robust code.
Which is not amazing since the university isn't teaching their students to be programmers. Computer science != programming course. In computer science, you learn the concepts. In a programming course, you learn the practice. The difference is that computer science graduates don't have to be good programmers nor will they acquire enough experience. That's ok, because the university's goal is not to churn out programmers. The university wants to give their students a broad base upon which they can build a career. That can be a career as a programmer, a researcher, a consultant or a manager (or a mix).
If you want experienced programmers, you will have to look elsewhere. However, it is certainly possible to find good programmers among graduates, if you look for the ones with talent and educate them properly. But please don't cry me a river when people haven't been trained to do their jobs and they 'fail'.
Winner: Someone who accepts that the rules have now changed, and adjusts to play under the new rules
Loser: Someone who continues trying to compete under the old rules, who bitches and moans about "the good old days" and "the way things used to be"
Working for a large, notionally-faceless employer has only been common for about the last 100 years; prior to that, the vast majority of income-earners worked in their own small business producing products or services that they would sell directly. You were a baker, a bar owner or whatever, and you sold your goods and services to the other people in your town. Only in the 20th century did it become common for masses of people to work for a single employer and expect job security, so maybe what's happening now is an evolutionary step rather than the end of the world.
What's happening in IT now, with outsourcing of jobs to cheaper markets, is exactly what's happened to many other industries (primarily manufacturing) in Western countries over the last few decades. I'm sure there's ex-factory workers who've been out of work for years who are still convinced that "things will get better", but the majority of those people reskilled and moved on.
I suspect a sizeable chunk of these displaced workers thought their world was ending at the time as well, but it didn't.
There's now many indicators that the days of a majority of people in prosperous Western nations working for large employers may be coming to an end. It's not necessarily a doom-and-gloom period coming up, but sitting back waiting for things to change isn't likely to be the best preparation for what lies ahead.