Outsourcing Winners and Losers 831
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."
Google partner link (Score:3, Informative)
Slashdot Editors: Is it so fucking hard to get a Google partner link? What do you guys do all day?
Coder vs. Mgr is an old, boring flamefest (Score:5, Informative)
It all depends on how you look at it.. (Score:5, Informative)
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.
Low-skill? (Score:4, Informative)
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...
Programming is part art, part engineering (Score:2, Informative)
"Coders" as they are called are 95% of the work and talent involved. The project manager can only provide a direction and control.
The Devil is in the Details. A single coding mistake can represent hundreds or thousands of wasted hours in testing and tech support.
The entire "object revolution" is about making software flexible by modelling the domain and not the problem. This means design up front is out the window because by the time you get halfway through the project things have changed. Design is an ongoing thing to meet the current demands of the environment. You cannot just hand a spec to a bunch of programmers and expect anything except mediocre code that needs to be rewritten every 2 years, costing much more than was ever saved by attempting cheaper development.
I'm not even going to argue why the above is true. I'd rather let the idiots who manage software projects (without exception) cause the collapse of project after project (including outsourced) until it is realized that only programmers can manage programmers. I'm not kidding you I have seen MILLIONS dropped into failed software. By failed I mean absolutely failed. The code was thrown away. In two cases this also caused the collapse of the entire company. I have seen more software projects fail than succeed. And for sure the problem was always management. There is a problem in American business that cannot let control rest in the person with his hands on the materials. Software isn't rivetting. Every programmer involved has the potential to make or severely cripple the entire project. No company is willing to hire two people for every programming job and have one Quality Control the other, hence, the programmers are left alone to make or break the project.
It is hard enough for other programmers to understand what another programmer is doing. A manager is basically clueless and if he attempts to exert control contrary to where the team is going, he is almost always wrong.
I manage two teams, one in Russia and one in the U.S. and while there are very skilled members on both sides, the Russians, who are only doing the work as a 9 to 5 grind job, do the bare minimum of work. They demonstrate the reverse of all the good programming practices we have learned over the years. Variables named X, y and z, C++ code with gotos all over the place, no concept of member functions and that's just the least of it. I am not kidding when I say it is essentially code that looks like someone just graduated from learning BASIC. It is completely unmanageable code and will have to be rewritten eventually. But after all, what do they care? They are being paid by the hour and by doing a good job, they simply do themselves out of a job.
I believe now that no one can organizationally predict good software. The best thing you can do is find some code out there that works well, and buy it. This way you know what you are getting. Investing in a programming project is a quagmire that will take down most project managers and companies. If I were a corporate CEO I would never write my own software. I would find something that already exists and attempt to modify it to fit my needs.
Re:Makes sense... (Score:4, Informative)
Re:Programming is Creating... (Score:3, Informative)
Keeping track of documentation, deliverables, schedules, budgets
But since it's these 'managers' who're doing the outsourcing, no way in hell are they outsourcing their own cabal. Enter reality re-construction #1: Management (of any kind) is indispensible! All other living matter - workers, office plants, et al. are forthwith commodities. Bring out the org. charts and let the random shuffling commence!! PowerPoint slides galore to come any week now!!!
Case in point: In the article, Mr. Johnson responsible for the quote
Since WHEN did GODDAMMED
Ok, rant completed, thanks for reading.
Re:What's missing? (Score:3, Informative)
I think you missed the grandparent's question. I think he meant: can you really [afford to] export intellectual work?
That would be, if you consider his example, a big no. If the people whose job it is to install the system have to translate the code, rewrite the code, and then install the system, I would say that the outsourcing has miserably failed and is a waste of resources.
Re:Programming is Creating... (Score:2, Informative)
1. APL [acm.org] is probably the definitive data manipulation programming language, very concise, very very powerful. It dates from the 1960s, is symbol orientated and needs the programmer to have a good understanding of linear algebra or be intelligent enough to pick it up. 1 'line' of APL code can do what it takes 300 lines of the most concise C to do... and APL will do it faster and ore efficiently.
2. Smalltalk [smalltalk.org], a truely object orientated language, created in the late 70s. Smalltalk programmers refer to languages like C++ as nailing legs onto a dog to make it an octopus, and C being as powerful as assembly and as nice to program as assembly. Smalltalk is 100% object, the language is all nouns and verbs, very 'human'...
So here is the crux: great languages do exist and are very successful in their academic and high level applications, but the reason they are not totally widespread is they need intelligent people to use them, and highly intelligent people are rarer and cheaper than a bank of code-monkeys to which C/C++/C#/VB etc work can be deligated to.
Re:Wow... low level (Score:4, Informative)
I've had interviews and such so here's the advice I'd give.
1) Start early.
2) The people connection. Most of the interviews I had were because I actually the job was available rather than having it posted on some site or the newspaper. I even sifted through pages to find a company's e-mail adress and got a call the next day for an interview because I'd heard they were looking for people.
3) Be proactive. Bug people.
4) Get an internship. Experience looks really good. My part time job IT job at the university has been a huge plus for me.
And lastly, since I'm eager to network with people, if you're interested in working in the northern Delaware area (about 30 minutes outside of phili), I know of several companies that are hiring.
Ye olde rule of thumb... (Score:2, Informative)
It's also a good reason to have a 'no-fat chicks' rule for flight attendants.
It was the driving force for Boeing to not just build the 777 but go with a composite tail. Technology partially paid for by the B-2 (the unjustifiably expensive bomber that replaces a whole aircraft package that costs more than the first YB-2.)
This type of emotional plea is what Nader is famous for. Think about the children, and make changes based on that which will ultimately get more people, including children, killed. I mean if people weren't paying with their lives, it would really be funny.
And thus we have the code-monkey exactly making my point. He doesn't understand the system, or failure, and would make a change that influences a now dominant secondary (or perhaps tertiary) effect.
Hell, one could probably make a case for allowing smoking on flights because the risks from second hand smoke, even repeatedly recirculated, might be out weighted by the increased ease of crack detection in the fuselage by the ground crews.
Re:Wow... low level (Score:4, Informative)
No this is not racism - there were a variety of other persons at the business that were also difficult to work with for various reasons. It was just that the mainland-Chinese workers all had the same specific problems. I have no problems with the principle of hiring workers from all over the world - and I don't believe the problems with the programmers there was one of race. It has just been my personal experience that the Chinese educational system does not produce the best programmers.
Re:Those that do (Score:5, Informative)
And my fiancee is applying for teachers college. She's a mathy, loves it, and its good at it, and wants to teach kids math. Anybody who doesn't think that's a laudable goal is a fucktard.
Ok, AC, now you're scaring me.. (modup!) (Score:2, Informative)
Still, excellent. Thanks
Outsourcing is temporary. It gets worse (Score:5, Informative)
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.
Real life (Score:2, Informative)
Re:Programming is Creating... (Score:3, Informative)
And no, being a team lead of a subproject doesn't count. In that case you'll just be managing and tracking the developers in your team... if they are reasonably professional, this is an easy task and you'll probably be programming as well most of the time.
Managing a project means a bit more than just assigning tasks, bookkeeping, and planning stuff. Managing your staff and their work packages is just the easy part (and it's boring as hell too). The hard part is where there is the potential for conflict, or conflicting interest. Is the project still making money? How do you renegotiate a release date? How do you cope with setbacks like an office move. What if the essential hardware you ordered arrives a month late? How will you roll out the software in the client organisation? Are they ready for it? Etc. etc. These are the hard questions and issues that your team will not solve for you, no matter how good they are. This is your job, and your team expects you to solve issuesl like this.
Someone once described being a manager as primarily being a problem owner. On complex projects this is by no means an easy job, and it requires very different skills than the job of team lead or developer requires. If your project manager is a bad one (and I don't mean that he's a PHB-like inconsiderate git; I mean one that just isn't good at managing issues), then you yourself will probably not have an easy time either... problems and obstacles that the PM is meant to catch will trickle down to the team and affect your daily routine. On the other hand, if your project manager is good at managing crises, client expectations and budgets, then you'll probably wonder what he does all day... but somehow, you will not encounter many issues in your own work (except maybe technical ones, which are your own domain after all).
I do agree that the profession of project managers (or managers in general) is vastly overrated, both in prestige and in monetary rewards. Or perhaps it's more like technical expertise is underrated... the main problem I encounter when managers have to appraise technical staff, is that most of them have no clue how to separate the really good ones from the average techies. That's kind of ironic, since the difference between good and average programmers is larger than it is in most other professions... but rarely is that difference reflected in pay or appreciation, since managers cannot tell the difference.
Re: Coders don't think about software architecture (Score:3, Informative)
One night we retired to dinner and drinks and she us in on the secret: we NEVER, ever said when day 0 on the timeline was! Effectively day 0 was 180 days or less before the completion date!
Re:management incomprehension (Score:2, Informative)
You rent won't go down, nor will the tax on your house (if you own). The price of food is propped up by tariffs, and the price of oil and therefore electricity will keep going up. But it's ok, since you have cheaper widgets, which you can't buy because a larger and larger percentage of your paycheck will be eaten up by the above.