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 have plenty of them in-house already.
New York Times reporters have been outsourced by 100 chimps with 100 laptops.
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 (_) --"---
who, since the coder jobs are overseas, probably don't know how to code themselves. Furthermore, because the developers are now overseas, the project managers have to coordinate with the language, distance, and cultrual gap, despite probably not knowing how to program. It's no wonder software development has become ridiculous. By the way, project manager with programming experience for hire right here.
Plus I have a fine art degree... try finding that overseas!
stuff |
My hospital uses Russian programmers. The entire job of OUR coders is to learn and debug the Russian code...
Talking to them it seems that the majority of their time is really spent rewriting the code in a more readable, more secure format. However, they don't have the time or manpower to do it all.
Therefore, more bugs get in the final product...
What an odd system... especially in a hospital were errors can mean lives.
davak
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
I don't know about project managers being more advanced than coders, but I am sure architects are more advanced than coders. SO, if the project manager is an architect, yes he is more advanced than the coder.
New year Resolution: Don't change sig this year
http://www.nytimes.com/2003/12/07/business/yourmon ey/07out.html?ex=1071378000&en=9b0b3f301239bb62&ei =5062&partner=GOOGLE
Slashdot Editors: Is it so fucking hard to get a Google partner link? What do you guys do all day?
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.
...that we've seen over and over. More interesting is the mistaken impression that it's only coding jobs going to India. Look at Business Week for another take.
In the future there are two roads. One is to look backward and hang on to what we think we're entitled to. The other is to recognize what has made America. Our virtues lie in a flexible and open, technology friendly, risk-taking, entrepreneurial, market-driven system. This is exactly the same type of challenge farmers went through in the late 1800's, sweatshop workers went through in the early 1900's, and manufacturing workers did in the first half of the 80's. We've got to focus on setting in motion a debate that pushes us into new sources of job creation rather than bemoaning the loss. There are Republicans and Democrats alike who are involved in this protectionist backlash. They're very vocal right now, and they need to be challenged.
Bioinformatics, wireless technologies, AI, robotics, there are so many fields which are budding. So many opportunites. Why do we have to look back at the financial software jobs that went away? We have much more interesting projects to be done.
New year Resolution: Don't change sig this year
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..
'Low-skill jobs like coding are moving offshore and what's left in their place are more advanced project management jobs.'
These statements naturally assume that Norht American and European coders are smarter, but for those coming out of college now, this is not the case.
Example, I remember at one CS program, the OS class was 9 weeks of learning how to _use_ Microsoft Windows.
Poor souls...
-B
As a coder turned project manager I fell that my current position is harder then my old coding job. The demands are higher the blame falls entirely on me and the worst part of all, I have to deal directly with the customers. As a coder I could work on things in small pieces and just meet the requirments, as the manager/designer I have to know how those pieces will go together and recognize the obstacles before hand. Really for the little extra pay I get for the new job I'd go back to being a coder if it wasn't for the lack of job security.
I know I could outsource my coders, but that's mostly due to the design being complete enough that anyone can just sit back and code up exactly to spec. It's not hard to code when given "you need a box that takes in X out puts Y and here's how you convert X to Y". I would guess that you couldn't outsource a design of " We need something that does Z. I suppose my job could be outsourced but I already find dealing with the customers over the phone in the specification gathering stage quite difficult. I happen to know their markets quite well and that tends to be how I get through. If I didn't understand the market then I'd be screwed. So yeah someone that knows the market including all of the little local issues(taxes, strange holidays, legal issues...) could do my job from just about anywhere in the world, It's over the phone anyways. Someone that doesn't know of the little things couldn't do it.
When I looked into outsourcing our coding I decided not to.
Reasons include
- my programmers are already paid slightly below national average and the cost savings wouldn't be huge.
- My programmers are proven known pieces in the puzzle. I know which guy does what best and I can pretty accurately estimate delivery schedules based on that.
- I like working with my guys, they help out a lot when I do design or come up with ideas on things we may want to try.
- shipping jobs away from here doesn't help me or anyone else enough to be worth pissing the locals off.
- If I screw over my workers by shipping their jobs away, who will be their to back me when the owner decides someone else can do mine.
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.
If we could outsource at the C-level there would be significantly more money available to companies to hire IT staff and skilled workers. C-Level = CEO, CFO, CIO, CPO, and of course C3P0.
:) Also, smarter companies that want to hold or gain market share my begin to realize that not outsourcing gives them a competitive advantage and keeps customers happy.
Outsourcing is an extremely short-sighted solution to increased quarterly profitability. It simply boils down to the fact that C level people and their cronies COST TOO MUCH and in order for them to keep receiving the same level of compensation (while keeping shareholders happy) they need to squeeze out every last bit of cash out of every other expense.
I plan to start a new company soon which deals with outsourcing, except you will pay large premiums for me to come in and fix the disaster created by the offshore developers. Mark may words boy, and mark them well, offshore outsourcing is going to be one of the biggest largescale disasters in the history of US business. However as I read the ever increasing reports of outsourcing disasters, I am beginning to realize that there is money to be made here!
Also, I wonder if C-Level types forget about the geopolitical instability of the world. Isn't the US at war right now? What if Pakistan decided to go cut all the fiber optic cable connecting India to the US? Oh the mess this is going to create. I laugh at the nearsighted fools!
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.
And half of those programmers graduating from a university aren't only below average, they're totally inexperienced too.
I don't know how many times I've come across newbies to multithreaded coding who can't figure out why their "cout" calls are all intermingled, or other knuckleheads trying to call "sleep()" in a signal handler.
Recent graduates also have very little experience in writing maintainable and robust code.
There will always be market for high-quality programmers.
Higher quality means higher prices, which means higher wages are acceptable.
It's basically a refinement of the market, not a disappearance.
I live in Sweden, which has some of the highest labor costs in Europe. Yet, Sweden has a strong steel industry, despite steel manufacturing being quite a 'low-tech' industry, with cutthroat international competition.
(Coming from Japan, and increasingly China)
How do they compete? Simple: They don't. Sweden switched its industry to high-quality and specialty steel production requireing more skill.
The USA really needs to move their steel industry in this direction, but instead they leveled tariffs on imported steel. (now dropped after trade-war threats)
(Also, note that swedish steel was exempt from these tariffs, for the reason that they don't compete with american steel manufacturers, who aren't in the specialty market)
So, for the software market, I think we'll see something similar. And a choice will have to be made whenether to face reality, at a cost of the lesser-skilled jobs, or give the industry artificial resuscitation through tariffs.
If you hire and pay on the assumption that coding is low-skill, you'll end up with crap programmers generating crap software. Projects will usually go over budget, rarely meet customer expectations, and generally have a miserable experience.
Hmmm, now that I think about it, that matches the behavior of many large companies. They hire chimpanzees, then are shocked when all they get is chimp crap out of them.
Aaaah, the free market and short sighted capitalism, leading the world to the lowest common denominator...
Search 2010 Gen Con events
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.
To use an analogy, how many individuals have you known become team leaders or shop bosses in a manufacturing plant without actually at least working near or around a plant floor. I'm going to say not too many. Thus, this sort of thinking will end any sort of software project management as well.
I like this choice quote too We will require different services, medical devices, all kinds of things to support an aging population.
Of course, instead of actually producing things that will make our lives better and move us ahead in the world we can focuses all our energies on something that none of the world seems to want to pay for prescription drugs, life-saving procedures, and incredible medicial devices. The whole entire world looks to us to subsidize this stuff so they can get it on the cheap. I don't see a lot of Indians or Chinese companies coming out with these products, but I see whole lot knock-offs and piracy coming from them. We cannot export those products.
As much as I like to say free trade, free trade is only free when everybody plays by the rules. No one plays by the rules, we slap a tarriff on products, but other countries subsidize their industries because they worry about their own workers unrest (Steel comes to mind). I think their is a very large difference between the manufacturing movement of the 80s and now. In that time, you could go back to school (government subsidized) retrain for a new position and get another job. What happens when you have already gone to school, your now sitting on $50,000 worth of college debt, and somebody tells you sorry...you shouldn't have done that, but your more then qualified to take a $30,000 a year job. What happens when your paying $283 on month on a student loan which is 20% of your entire salary after taxes. I'm thinking you wouldn't be buying a whole lot of stuff. (Not me thankfully at the moment, that's why I am paying down my college debt as fast as possible.)
Used to be education could get you ahead, now you just have to live in another country and work for an obscenely low wage in comparison to the US.
All i know is that if project managers went on strike for a week, they would come back to find the entire project had been completely redesigned from scratch, it would be amazingly efficient and well structured and it would work perfectly and within budget, whats more it would have 100 new useful features. If programmers went on strike for a week they would come back and find a list of 100 random, totally flawed and un-thought-out things to do on thier desks.
This comment does not represent the views or opinions of the user.
: 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.
The problem with that reasoning is that the good project managers once were code monkeys. It was while doing the grunt work that they developed the insight which led them to be good project managers. You know, inside understanding of modern technology and practices...
How much longer can we be a land of managers-only? And how good will our managers be if they never did the work in the trenches, because that stuff was outsourced? It seems to me that we can't avoid outsourcing management jobs if we are outsourcing the lower-level jobs.
Now I know coders aren't rocket scientists, but less advanced than project managers?
Just goes to show that MS Project is more challenging to a manager than an IDE is to a programmer.
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.
Here in the USA you'll never get a job with a firm as a coder without some certificate from Microsoft. College degrees are becoming irrelevant for programmers, it takes too long to get that BA/BS and things change too fast in the industry. In addition, college grads know about things like algorithms and data structure and can write sorta good code. Writing well designed, debugged code which works takes longer than some guy just hacking it out in VB like they showed him at Microsoft school. As the folks in Redmond have taught us, "when the deadline comes ship it, and we'll fix it in the next release". Quality has lost out to time to market.
(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.
Most software doesn't suck. Most users, however...
;-)
You lucky bastard! Can I borrow your users for the evening?
Lets consider a world population of 10 billion with average life expectancy of 70. If the average person spends 6 years in university (things are getting more complex), then we're looking at 850 million post-secondary students worldwide at any given time. Google suggests that 1 academic staff for every 10 students is not an unreasonable number, so that's 85 million jobs -- that's almost the entire US workforce right now! Add all the support staff to provide services to the academic staff and run the surrounding infrastructure and you've got yourself an economy!
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?
Let the perl regex marathon begin!
Seriously, I work for an insanely large international telecommunications company and our project managers don't even understand the basic technologies involved in the projects they're managing. I don't envy their job, but I have a hard time believing that their (basically administrative) skills are any more important than the skills of those of us who actually make the stuff work. If PM skills supercede mine, I wonder why I'm always on (endless) conference calls explaining things to them.
*shrug* Their cluelessness is pretty good job security so I don't complain until they hit utter braindeadlessness.
--K.
Sig: Bad people happen. Try to avoid being one of them.
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
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.
Working primarily as a Project Manager/Analyst, my skills focus on the big picture stuff: deadlines, requirements gathering, task integration and problem solving on the human side. Coders, though, work with a different view: algorithms, flow, architecture, interoperability and problem solving on the technological side.
The tone here seems to focus on "who's expendable?" whereas I can't see that either is. Companies may see some logic in sending coding overseas to save money, and in some cases they might be right. In my opinion, though, overseas coding is rife with issues some of these businesspeople haven't yet discovered or factored in (language/interpretation, differing standards, differing cultural concepts of time, telecommunication issues, post-project maintenance costs/difficulties being but a few).
It reminds me of the discussion between Brian and Bender in The Breakfast Club:
- Jack
I work in this industry in Tech Support. I work for a very large and prosperous company that has a completely disfunctional IT department, so my sample space may not be representative of the norm. But from where I sit, from what I've seen, ALL offshore work is crap. Software and Support, complete unmitigated crap.
EDS tried to grow lowbuck coders in the 80's. They got lowbuck code. Business today is trying to import low buck code. And that's what they're getting.
I'm not too prejudiced about very much, but I really beleive the best software is written in a backyard hotrod, garage tinkering society.
Oh, and before I foget to add, most of our "project managers" have the tech savy of my grandmother. Our end customers are 4 out of 5 times more knowledgable than the people we get to manage our projects. I was once part of a twenty man team that built an IBM mainframe computer center from scratch, and consolidated 3 centers down to it, in a 4 month period, start to finish. And in that 4 months we changed all of our 2000 user's ids (for performance reasons). We brought the datacenters down Friday PM and brought online the new datacenter Monday AM. Zero problems. That was without project managers; just a kickass director of IT and twenty "empowered" guys accountable for their work. Today? Well I'm currently working on a team that is taking 4 months to install a network diagnostic system to fix a problem that has been plaguing us for 14 months! But I guarantee you we are project managed up the ass.
Sorry..... I feel better now. Thank you for listening...
Low-skill jobs like coding Apparently the man has never written a kernel.
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
Seriously, what if somebody wants to be in charge of a software development team some day? What should that person do? Do you get a B.A. in English, work as a school teacher for several years and then become a VP of Development? I think not. I think that every decent development manager started to work as a software coding grunt. Without low-level jobs there will be no high level positions. Period.
I have not seen any recent Comp. Sci. graduates who can become managers right out of school. Most of them were hoping to get these 'low-level' coding jobs (not to be confused with positions related to assembly programming) and work their way up. Today we ship all these position abroad because somebody wants to make extra profit and get yet another personal jet. Tomorrow we will have to import (or outsource) project managers because nobody will be able to replace them.
I am one of the graduates who is struggling to find a job now and let me tell you one thing: it sucks to work at a liquor store while paying off $345 per month for the next fifteen years. Unlike the majority of dot-com born programmers, I knew that the salaries of the late nineties were inflated. I did not expect to earn $80K after college and something told me that VB and Access programmers did not deserve six digit pay checks. Most of these people were in IT because of the money, not because of their own passion. Now most of them have several years of experience and they compete with college grads like myself. The battle is hard, but I think that as long as I meet software engineers who do not know what threads are, I am going to win. (Yeah, you heard me right: I met a couple of mid-level "software engineers" who had zero knowledge about concepts like threads.)Finally, the trend to move software development to other countries does not mean that our projects end up in the hands of highly trained professionals as many manages like to say. People of different trades and backgrounds will notice that software development is profitable because "you get to work for American corporations." Mark my words, in several years the rest of the world will experience what we have gone through during the late nineties. Many countries will face a surplus of barely skilled developers who ended up in IT because of the money.
Coding: People here are complaining that coding is classified as a "low-level" job. A lot of companies have been treating coding as a low-grade skill for quite some time. A team of high-level people design the thing, and they hand it off to the lowest-paid workers that can actually implement it. These low-level American jobs purposefully don't leave much room for creativity, and the pay is not really that great. Outsourcing those jobs to India is merely a continuation of this trend and follows the manufacturing sector where the jobs of feeding the machines and putting stuff in boxes have mostly gone to China.
Management: A lot of /.-ers are complaining about how management sucks and how its so much easier than programming. This is false. Management is really hard and takes a lot of skill. Most mangers suck, of course, but most programmers suck, too. You never notice the rare good manager who takes mediocre programmers and makes a successful project, but a bad can have great programmers and get nothing done (of course, of you have genuinely bad programmers, you're screwed no matter what). The Indian industry will mature, and a lot of management and design jobs will eventually be outsourced there, too.
Quality: Think about any physical thing you buy. It probably has "acceptable" quality and doesn't cost very much. After a while, you get a different one, which probably has newer and better technology that you wanted anyway. (If everything you bought was a minor masterpiece, you'd pay for it by having out-of-date technology; it's the price of our fast-changing world.) If you want better quality, you have to pay a lot more, and the product, or large portions of it, are much more likely to be made in the US/Canada or Europe. Sure software quality sucks, but mostly it does what people want and is cheap. A lot of people are willing to put up with problems to pay less. In the end, the top software jobs will stay, just like the top manufacturing jobs are still here.
One problem really is that we don't know how to design software in a predictable way. Attempts to design inexpensive software are often more expensive in the end, and trying to do a great job can lead to bloated projects that are never done. Many expensive American projects really suck, and probably some cheap Indian projects are great. The field currently just doesn't have the maturity for us to say with any predictability "if we spend X dollars we will get Y quality." When/if the field reaches the predictability of manufacturing cheap software will be made in developing countries, and great software will be made in mature countries.
Protectionism: While short-term measures can allow an industry to restructure itself and become more efficient, long-term protectionism never works. Consider the recent steel tariffs. I'm not qualified to say if they were the right thing, but the idea was to allow some short-term period for the steel industry to get it together because we all benefit from a competitive industry. A long-term tariff, however, makes American products made from steel products more expensive. American consumers could then buy less, and American products can not be sold overseas.
The same is true for software. India currently specializes in grunt-work coding. Protectionist measures will save some American grunt-coding jobs in the short-term. However, what will happen in 10 years? A fraction of those Indians will get mad skillz. Indian software companies, now with competitive-quality coders, and benefiting from cheaper labor than their American counterparts, will clean up. The American industry will ultimately suffer. Its better for the bad American coders to find a different field or get better skills now than later. Think about it, it may suck to lose your job now, but its worse to lose your job from a dying industry when you're 10 years from retirement and have no recent skills or training.
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.
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?
Do I laugh at the absurdity of this? 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. He must be thinking of the one-off Visual Basic script he wrote last week...
But I want to cry at the same time, because the PHB's believe this crap. Offshore development to India? My company did this because they thought coding was a low-skill job suitable to outsourcing to low-skill workers. Not only is this insulting to developers here in the US, it's equally insulting to the developers in India. It's the new Anglo Imperialism!
I've been told flat out that my only future in the company is to be a project manager. I've done that and it sucks. I would rather be developing and coding. I don't want to have to schedule time on Outlook just so I have a block of time available to schedule all my myriad meetings on Outlook.
Hmmm, maybe this attitude that development is "low-skill" works explains that shoddy quality of commercial software these days.
Don't blame me, I didn't vote for either of them!
The companies that handle the outsourcing soon reach the point where they don't need the US company any more. That happened in consumer electronics and appliances years ago, and it's happening in apparel. If it can be sold through Wal-Mart, there's no need for a US company to be involved in manufacturing or distribution. Branding problems can be fixed with advertising, acquisition, or pressure. Some well-known US brands are already just fronts for offshore operations.
In service areas, if the service can be delivered over the Internet or by phone, it can be moved offshore. Right now, most of the companies doing this are fronted by US companies. But those companies become hollowed out, until they're just brands.
Next, the intellectual property moves offshore. This has already happened in consumer electronics and is happening in semiconductors. No US company can make a CD-ROM drive without licensing technology from Asian companies.
Finally, the money moves offshore.
The US could end up with Third World income levels as a result of this race to the bottom. Don't think it can happen? Twenty years ago, nobody though there would be armies of permanently homeless people in US cities. Or that Argentina would become a poor country. Or that Britain would become poorer than Italy.
In the US, average real weekly earnings peaked in 1973. That's why your parents are better off than you are.
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.
What a waste! We could have as good a conversation between pundits in Bangalore for a tenth the cost!
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?