Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Businesses The Almighty Buck

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."
This discussion has been archived. No new comments can be posted.

Outsourcing Winners and Losers

Comments Filter:
  • Those that do (Score:3, Insightful)

    by Davak ( 526912 ) on Sunday December 07, 2003 @07:04PM (#7655783) Homepage
    Those that do... do...

    Those that can't... teach?

    Who is he calling low-level?

    Davak
  • Crap (Score:2, Insightful)

    by Anonymous Coward on Sunday December 07, 2003 @07:05PM (#7655784)
    Half the talent from universities is terrible anyway, no wonder coding is being shot off shore.
  • Wow... low level (Score:5, Insightful)

    by Zelet ( 515452 ) on Sunday December 07, 2003 @07:06PM (#7655789) Journal
    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.
  • by JanMark ( 547992 ) on Sunday December 07, 2003 @07:07PM (#7655800) Homepage
    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."
  • by penguinoid ( 724646 ) on Sunday December 07, 2003 @07:08PM (#7655805) Homepage Journal
    Outsourcing managers is a big no-no. Suddenly, the company is not American anymore.
  • Assemblers (Score:3, Insightful)

    by insmod_ex ( 724714 ) <mallratssuckNO@SPAMtomchu.com> on Sunday December 07, 2003 @07:10PM (#7655824) Homepage
    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...
  • by Lemmy Caution ( 8378 ) on Sunday December 07, 2003 @07:11PM (#7655826) Homepage
    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.
  • it's their loss (Score:5, Insightful)

    by dorlthed ( 700641 ) <mxc511@p[ ]edu ['su.' in gap]> on Sunday December 07, 2003 @07:11PM (#7655828)

    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.

  • by Anonymous Coward on Sunday December 07, 2003 @07:13PM (#7655843)
    Sure, it's creative. But it's low-end because I can find hundreds of folks in India that can do the same job that you do for less money.
  • by Tim C ( 15259 ) on Sunday December 07, 2003 @07:14PM (#7655853)
    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)
  • coding (Score:3, Insightful)

    by ibmman85 ( 643041 ) on Sunday December 07, 2003 @07:16PM (#7655868) Homepage
    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..
  • Re:FP (Score:1, Insightful)

    by Anonymous Coward on Sunday December 07, 2003 @07:17PM (#7655877)
    I can only assume that by fp the poster means functional programming [chalmers.se].

    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
  • Re:coding (Score:1, Insightful)

    by Anonymous Coward on Sunday December 07, 2003 @07:18PM (#7655889)
    No country has a monopoly on coding talent; particularly since all you need is a $500 computer, a free OS, and a compiler.
  • by Circuit Breaker ( 114482 ) on Sunday December 07, 2003 @07:20PM (#7655899)
    (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.
  • by kucinich_4prez ( 730587 ) on Sunday December 07, 2003 @07:23PM (#7655919)
    From the article:

    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....

  • by n3k5 ( 606163 ) on Sunday December 07, 2003 @07:26PM (#7655940) Journal
    I have programmed.
    _Programmed_ is the keyword here. I'm sure you would have been able to get better at it if you had gotten some quality education and put enough time and effort in it; but you're right, writing good programs is a very complicated task. As your projects become bigger and more complex, you deal with software engineering, data engineering, all kinds of very academic stuff.

    However, the quote mentions _coding_. Coding is not about writing high-quality software, it's about hacking together stuff like GUI frontends for simple database-driven business applications in a way that somewhat satisfies the customer and maximises the manufacturer's profit. Coders don't think about software architecture, that's what their bosses do. Coders are given specifications for small tasks and hack together some code that does approximately what the specs require, according to mostely rudimentary quality assurance testing. Coders generate heaps over heaps of cumbersome, hard-to-maintain, very redundant, error-prone code that could be easily replaced by a concise, reusable, highly configurable, transparent (as in easy to debug) implementation written by a good programmer.

    However, it's mostly a non-trivial problem to find good programmers and pay them adequately, too. That's why most software is implemented (not necessarily planned) by bad coders who are indeed doing very low-skill work. And yes, that's one of the reasons why most software sucks.

    Having said that, I'll go and RTFA now :-)
  • Re:Makes sense... (Score:5, Insightful)

    by Phroggy ( 441 ) * <slashdot3@@@phroggy...com> on Sunday December 07, 2003 @07:26PM (#7655941) Homepage
    How can you call a job requiring a degree low/unskilled?

    You're suggesting that education == skill?
  • by Lemmy Caution ( 8378 ) on Sunday December 07, 2003 @07:26PM (#7655944) Homepage
    I'm not a coder. I can code (to mediocre ability), but I don't do it for a living. I have a job, and my income is slightly higher than it was during the boom. And - I went to the same schools and can dress the same way as the managerial class I'm talking about. In fact, that's probably why I do have work - I can pass as an MBA if pressed, for brief periods of time. It's like a minor super-power.

    What is true, however, is that it is market saturation and general market perception of value, not level of difficulty, or the education or intelligence required, that has a lot to do with things. Contracting is difficult work that requires considerable knowledge. But it's considered a working-class job. Being a runway model takes almost no intelligence, but they are well-paid professionals. Coding is only menial because supply outstrips demand now - there's nothing intrinsic about it.
  • Re:it's their loss (Score:5, Insightful)

    by scottwimer ( 628340 ) on Sunday December 07, 2003 @07:27PM (#7655946) Homepage

    I think you have identified the key difference in perspectives. You can either have things built by craftsmen or things that are built according to some process.

    The thing is, craftsmen don't scale very well. That is because, well, it takes a lot of time to become really good at all the different aspects of building whatever it is they are building. Craftsmen are a scarce commodity, regarless the trade. On the other hand, processes where each person does a part can scale. Further, you can get consistent output from such processes. And, since the output can be consistent, you can improve it incrementally, measuring the impact of each process or training change you implement. (Yes, I know that sometimes the output is consistently bad, but that is the explict fault fo the people/person in charge of the process, not the people in it.)

    Can you imaging the price for automobiles built by "craftsmen"? Actually, you don't have to, just pick some number greater than 400,000 USD and you have it.

    Craftsmen don't scale, they're a poor route to take for processes that need to scale.

    All that said, I'm not yet convinced that software development has reached the point of maturity where we understand it enough to be able to move from a craftsmen oriented system to a process oriented system and still produce decent software.

    scottwimer
  • by poemofatic ( 322501 ) on Sunday December 07, 2003 @07:27PM (#7655957)
    -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?
  • by evilquaker ( 35963 ) on Sunday December 07, 2003 @07:28PM (#7655961)
    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.

    And most of the posters here come from a coding perspective (either in theory or practice). So it's no wonder that most of the replies indicate that writing a few lines of Perl (or C++ for the really advanced) is "higher level work" than managing all of the business/marketing/technical aspects of a project and/or product.

  • by BenJeremy ( 181303 ) on Sunday December 07, 2003 @07:30PM (#7655974)
    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.
  • by ralphclark ( 11346 ) on Sunday December 07, 2003 @07:32PM (#7655984) Journal
    Low-skill jobs like coding are moving offshore and what's left in their place are more advanced project management jobs.

    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.

  • by alexborges ( 313924 ) on Sunday December 07, 2003 @07:39PM (#7656021)
    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.

  • by twitter ( 104583 ) on Sunday December 07, 2003 @07:49PM (#7656077) Homepage Journal
    people think ANYBODY can do it

    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.

  • by codingDog ( 730638 ) on Sunday December 07, 2003 @07:51PM (#7656087)
    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.
  • by Anonymous Coward on Sunday December 07, 2003 @07:59PM (#7656131)
    enough said.
  • by squarooticus ( 5092 ) on Sunday December 07, 2003 @08:00PM (#7656133) Homepage
    : Fuck corporations.

    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? :) ). 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'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!
  • by Anonymous Coward on Sunday December 07, 2003 @08:00PM (#7656134)
    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.
  • by Mazzie ( 672533 ) on Sunday December 07, 2003 @08:05PM (#7656150)
    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 =)
  • by Anonymous Coward on Sunday December 07, 2003 @08:05PM (#7656151)
    Yes, anybody can do it.

    Not everyone is as good at it as everyone else though. In every place I've ever worked, there are 2 or 3 people who are many many times more productive than others, and produce way better implementations than the other members of the team.

    Think about it, the people that work on the linux kernel are some of the best out there.
  • by tealover ( 187148 ) on Sunday December 07, 2003 @08:06PM (#7656164)
    there are good coders outside the USA, second, outsourcing is mostly done in countries where, unlike in the USA and most of (western) Europe, coding is still a skill.

    This generalization is popular but like most generalizations is not rooted entirely in fact.

    I work with about 20 Russian programmers. I can honestly tell you, they are nothing special. I have been in training classes with them where they have displayed a startingly abysmal knowledge of basic CS fundamentals and programming methodologies.

    I can assure you that outsourcing has nothing to do with finding programmers where coding is still a skill. It's all about finding programmers who will take less money than the current programmers.

  • Re:it's their loss (Score:5, Insightful)

    by nathanh ( 1214 ) on Sunday December 07, 2003 @08:09PM (#7656179) Homepage
    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?

    Unfortunately the reality is that hand-crafted watches typically lose several seconds per day, have major imperfections (humans aren't perfect), and cost a bucketload. The watch that comes off the assembly line will probably lose a second per month at most, will never break in its entire lifetime, and cost 1/10th what the hand-crafted watch did.

    To give a clearer example, the rapid increase in reliability and efficiency of cars while still reducing costs was a direct result of Ford and his assembly lines. The Japanese took this one step further through quality assurance methodology and strict adherence to quality control. None of this would have been possible if all cars were hand-crafted.

    The important lesson from the car industry is that hand-crafted cars have all but disappeared (except for ludicrously overpriced and unreliable sports vehicles). The software industry wants to repeat the success of the car industry by moving towards factory reproducibility and measurability. The trick is to get away from the menial job of coding and into the role of designer. The designer in a car company is still paid a metric shitload.

  • Re:it's their loss (Score:5, Insightful)

    by alienw ( 585907 ) <alienw.slashdot@ ... inus threevowels> on Sunday December 07, 2003 @08:10PM (#7656187)
    If a handcrafted watch costs more than $100K and the factory-made one costs $5, then I would prefer the cheaper one. After all, if you buy a new $5 watch each year for the next 100 years you will still not spend $100k. And I can put up with a little error. Not many people buy handcrafted watches these days.
  • by RealProgrammer ( 723725 ) on Sunday December 07, 2003 @08:16PM (#7656214) Homepage Journal

    (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.)

    MS. FARRELL 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, or they're going to go into new investment by those companies. Those savings enable me, if I am an investor, to consume more and therefore contribute to job recreation, 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.

    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.

  • by Chemisor ( 97276 ) on Sunday December 07, 2003 @08:18PM (#7656228)
    > So, I guess 'those that can' are on the bottom rung, huh?

    Have you looked at teachers' salaries lately?
  • Not Quite (Score:3, Insightful)

    by gerf ( 532474 ) on Sunday December 07, 2003 @08:19PM (#7656234) Journal

    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.

  • by Anonymous Coward on Sunday December 07, 2003 @08:23PM (#7656246)
    MS. FARRELL Those savings enable me, if I am an investor, to consume more and therefore contribute to job recreation.

    She is stating a fact to support a deception.

    The number of people who have enough money to put into the market so that its ups and downs make any material difference to their immediate economic situation is vanishingly small.

    She is talking about the "investor class", which is not he same as the class of people who are invested, in some form, usually IRAs or 401ks, in the market. It's hard for me to believe that she is not perfectly well aware of this.

    The investor class actually has so much money, that the market can make them hundreds of thousands of dollars a month. Those are apparently the people she is used to hanging out with.

    The vast majority of poeple in the market are hoping that their investments will accrue enough so that they can retire at 75 or 80 now that Congress has given the money they paid into Social Security to the people in Mr Farrell's circle of friends in the form of tax cuts.

    It's hard to get your mind around how far away they are from us. To them, we're something like unfortunate insects whose place in life is to accept our fate at the hands of forces they control.

    We're that vast bobbing mob that history "happens" to that and who they read about in books.

    They, on the other hand, have been intelligent enough not to get caught in our situation.

    The differences in our fates is clearly due to their superiority and it is wrong for us to begrudge them their deserved success or in any way attempt to curtail the implementation of their globalist vision, which will make them richer yet and us poorer. What's the moral basis of all this? Well, in the long run (after you're dead), it'll all work out for everyone.

    Understand this- by worrying about what happens to you in your lifetime, you're being petty and shortsighted. Thank god for the chiseled jaw CEOs with the long range vision and the fortitude to keep a firm hand on the wheel and steer us through these trying times into safety.
  • by Anonymous Coward on Sunday December 07, 2003 @08:25PM (#7656264)
    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.
  • by Vagary ( 21383 ) <jawarren@gmail.cAUDENom minus poet> on Sunday December 07, 2003 @08:26PM (#7656271) Journal
    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.
  • by Anonymous Coward on Sunday December 07, 2003 @08:29PM (#7656287)
    Perhaps the aerospace guy would do well to apply the same to airplanes, no?
    Actually, no. You need to look at the causes of the g forces in the first place. A hard landing will produce less than 3g, but the cause of a larger load would probably cause a catastrophic failure. I.e., in a crash landing, the fact that the seat stays anchored will not save your life.

    The same is true for your software. "Degrade gracefully" means that when the software does fail, it does so in a safe manner (does not delete the database, does not raise the landing gear, does not set the accelerator to max, etc.). There is some point after which is is too costly to enhance a program.
  • by snjoseph ( 723540 ) <snjoseph@[ ]il.com ['gma' in gap]> on Sunday December 07, 2003 @08:32PM (#7656308) Journal
    Well, I'm glad you pointed out that good programmers can, indeed, come from the inscrutable Orient. I'm the son of immigrants, and I've worked with plenty of people on H1-B visas or in India, and they're just as good as anyone else, and often more conscientous engineers. Native-born workers should be fighting with them to better working conditions for everyone, not giving into screwy stereotypes about "crappy Asian coders" that just reinforces the idea that they deserve worse treatment. Look at where that thinking has gotten American steelworkers...

    But I disagree with your contention that better libraries, techonology, etc. means that you can make divisions between "desginer-programmers" and "coder-programmers." Of course there need to be divisions and abstractions between higher and lower levels of any project of non-trivial size, but I think every coder needs an intelligent and critical sense of design, and vice versa. Dijkstra in particular spoke very intelligently against attempts to automate, mechanize, or de-skill programming. Assembly-line methods are surely to blame for the absolutely sorry state of a lot of commercial software today.

  • Manager/Worker (Score:5, Insightful)

    by nuggz ( 69912 ) on Sunday December 07, 2003 @08:37PM (#7656344) Homepage
    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.
  • Re:Ouch to you (Score:5, Insightful)

    by gurustu ( 542259 ) <gurustu AT att DOT net> on Sunday December 07, 2003 @08:39PM (#7656353)
    Putting hyperbole aside, the truth is somewhere in between "Project managers are incompetent hacks." and "A good project manager is worth a dozen engineers."

    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 code ... and they rarely understand that "good code" has important features that "code that satisfies the specifications" does not.

    To 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.

  • by Waffle Iron ( 339739 ) on Sunday December 07, 2003 @08:42PM (#7656362)
    You've got to look at the big picture when allocating resources to safety. How many people die each year because of flimsy airliner seats? I can't recall any crashes of large aircraft in the U.S. from the past several years where anyone had any hope of survival (I might be wrong).

    Increasing the strength of airplane seats would involve either more weight or more expensive materials. Both of these would be costly, and would result in an increase in air fares. More expensive flights would cause more poeple to choose driving than flying, which is statistically far more dangerous. Before you spend money making airplane seats stronger, perhaps saving a few dozen lives per decade, it would be a good idea to do the math on how many more automobile fatalities that might indirectly cause.

  • by Guido von Guido ( 548827 ) on Sunday December 07, 2003 @08:43PM (#7656369)
    As an aside, I think that a lot of the "crappy Asian coders" stereotype results from the "crappy Asian organizations" out there. That is, many of the individuals are good, but they're managed poorly.

    I can think of a certain vendor who is doing this. There are two parts to this: the companies doing the outsourcing do a piss-poor job of managing their outsourcing, and the companies actually doing the work do a piss-poor job of managing their programmers.

    Having said that, there's no reason why outsourced code written by well-managed programmers can't be damn good.
  • by Vagary ( 21383 ) <jawarren@gmail.cAUDENom minus poet> on Sunday December 07, 2003 @08:48PM (#7656390) Journal
    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?
  • by scoove ( 71173 ) on Sunday December 07, 2003 @08:51PM (#7656404)
    I'm already fed up of pompous pricks making an artificial difference between "engineer" and "programmer".

    I think a lot of this comes from "management" getting tired of "artisans" refusing to ship products on a schedule (even acknowedging that very often, the schedule is set by unrealistic managers that have about as much of a clue on development cycles as would a North American farmer planting soybeans in late August).

    Having spent most of my career between the two camps, I've seen a lot of executives get beyond frustrated with even the most mediocre programmer refusing to understand business requirements, instead pursuing greater and greater perfection and subsequently getting paralyzed in the process.

    I think this probably contributes to management desiring to falsely perceive technology development as a manufacturing process (and likewise this treatment further encourages the programming folk to believe they're artisans in a guild, refusing the pressures of deadlines). Neither are dealing with the reality very well.

    So... tossing assembly line and guild models out the window, is there a conceptual approach that works?

    *scoove*

  • hear hear! (Score:3, Insightful)

    by BiOFH ( 267622 ) on Sunday December 07, 2003 @08:51PM (#7656411)
    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.
  • by silentbozo ( 542534 ) on Sunday December 07, 2003 @08:53PM (#7656422) Journal
    There's no excuse for writing bad code, no matter what the reason. I've hacked crap together because of time pressure (ie, we need a fix NOW) and have ALWAYS regretted it, because in the end, I'm the one who has to maintain the code. Poorly written code benefits no one, not even the coder who wrote it to begin with.

    Even GUI glue benefits from well-planned rewrites, and copious commenting. Unless you plan on writing nothing but GUI glue, and don't mind writing the same thing over and over (in which case, programming is NOT the field for you), you should:

    Structure your code to be modular and reusable.

    Comment like crazy so after working on a different project for a year or so, and having not written code in this language for a number of years, you can pick things up with a minimum of effort.

    Document any assumptions being made while writing the code - these are usually the things that cause code to break when porting to different platforms/languages.

    Coders can write good code and bad code. Please don't demonize the word "coder" like the media have done with "hackers." Not every programmer codes, and not every coder programs, but to paint the process of coding like some sort of untrained serf work is an elitist attitude. Good programmers can throw out trash, good coders (without formal CS degrees) can implement well written, easily maintained code. Plus, when you have to optimize assembly, I have to ask, is that a programming discipline, or is that a coder discipline?

  • Re:it's their loss (Score:2, Insightful)

    by chromatic ( 9471 ) on Sunday December 07, 2003 @09:00PM (#7656445) Homepage

    The biggest flaw in that argument is that duplicating an automobile assembled by craftsmen is tremendously expensive when compared to duplicating a piece of software.

  • by n3k5 ( 606163 ) on Sunday December 07, 2003 @09:01PM (#7656448) Journal
    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".
    I am not. I am making a very important distinction between people who do simple programming that requires not many skills and other people who build complex software systems, which requires lots of skills. I just gave them different names ('coders', 'software engineers') for the sake of introducing some nomencalture, in accordance to the quote in question. My point was to explain what I think 'coders' in the original contect means and what not.

    Coders, who implement fairly straighforward little programs according to existing specifications, are not necessarily incompetent, and it sometimes _is_ a good idea to hire a few coders that can so programmining on a rather low skill-level.
    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.
    Yeah, those are a pest. Those and the arrogant hackers who run around calling everyone they think they have to disagree with a 'popmpous prick'.
  • by willtsmith ( 466546 ) on Sunday December 07, 2003 @09:13PM (#7656502) Journal
    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.

  • by corvi42 ( 235814 ) on Sunday December 07, 2003 @09:13PM (#7656505) Homepage Journal
    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.
  • by yaroslavvb ( 234811 ) on Sunday December 07, 2003 @09:17PM (#7656529)
    Programmers are low-level in terms of pyramid of responsibilities. There are lots of programmers, fewer managers and even fewer CEO's. When India's programmers can do as good of a job as American ones for fraction of the cost, it makes sense to export those tasks abroad.
  • by junkgoof ( 607894 ) on Sunday December 07, 2003 @09:20PM (#7656545)
    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.
  • by n3k5 ( 606163 ) on Sunday December 07, 2003 @09:21PM (#7656551) Journal
    Even GUI glue benefits from well-planned rewrites, and copious commenting. Unless you plan on writing nothing but GUI glue, and don't mind writing the same thing over and over (in which case, programming is NOT the field for you), ...
    Okay, let's have a look at rather unskilled programmers (which I would have called 'coders' in my comment above, but just to keep consistency with the original quote; I don't want to demonize the word per se) that write GUI glue: A bad programmer who has to implement three similar GUI classes writes one, then copy&pastes it two times and modifies the copies to fit the other two specifications. A better programmer with training in software engineering and a snooty, elitist attitude would write very reusable, easily maintainable meta-code and three configuration files that make it fulfill the three specifications, but it would take him at least three times as long and it he'd maybe even do it if no one ever reuses that code. An excellent programmer with lots of experience would implement a solution that is as good, but not overengineered, in the time in which the rookie hacks together his solution that just barely works, but he would demand at least three times the salary.

    Now consider a project manager who has to make sure the software is ready on time and on budget ... whom would he hire? And which description fits best the jobs that are outsourced offshore?
  • by Anonymous Coward on Sunday December 07, 2003 @09:22PM (#7656560)
    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.
  • Re:Ouch to you (Score:5, Insightful)

    by Zoop ( 59907 ) on Sunday December 07, 2003 @09:24PM (#7656568)
    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.
  • by MadDog Bob-2 ( 139526 ) on Sunday December 07, 2003 @09:25PM (#7656574)

    IHBT, but I've been on the front lines of this whole offshore development thing for a while now, and I'm willing to take just about any opportunity to vent about it...

    Sure, it's creative. But it's low-end because I can find hundreds of folks in India that can do the same job that you do for less money.

    That's entirely possible, given that 100 people is one part in ten million of their population. My ego isn't quite huge enough to believe that I'm that good. But I will go out on a limb and claim that you'd spend a hell of a lot more time than it's worth looking before you found them.

    But I'm pretty good. Maybe even better than a hundred randomly selected Indian developers, but I don't need to be that much better to justify my job.

    <rant>

    The salaries will be, at the very least, a tenth of mine, and probably closer to a quarter. But that's before overhead like flying people back and forth in a vain effort to retain some semblance of order. That's before the added cost of having somebody sane and responsible back here having to spend their time babysitting.

    I don't have any hard numbers for this, but let's say that, between base salary and overhead, the cost of an Indian developer is a third of my cost.

    Still sound like a good idea?

    Maybe, but there's more. I interviewed, as did the other local developers. It gives us a way (to be sure, not a foolproof way, but, still, a way) to weed out the really low-grade folks. If all they're going to be is a source of billable hours, how worried do you think some outsourcing company is going to be about maximizing a given employee's productivity?

    So, in a fairly real sense, what you're likely to get really is a random sampling of programmers. How many applicants does a company generally interview for each developer position? How's that 3-to-1 for a developer you really can't vet looking now?

    And, yeah, you could, in principle, move around from one outsourcing company to another until you find one you like, but that means sinking the costs of training and acclimating new developers into your environment over and over again.

    </rant>

    Replacing me (and not just replacing my HR data) with developers in India would be really expensive. The fact that I sound like a union rep from the UAW circa 1985 doesn't make it any less true.

  • by Kampe.com ( 730657 ) on Sunday December 07, 2003 @09:30PM (#7656593) Homepage
    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.

  • by Squiffy ( 242681 ) on Sunday December 07, 2003 @09:41PM (#7656647) Homepage
    '...literally everything else can go, leaving American workers working at Wal-Mart.'

    Yeah, and just about everyone who sells to Wal-Mart is forced to outsource jobs in order to keep their costs down. See the December issue of Fast Company.
  • by andy1307 ( 656570 ) * on Sunday December 07, 2003 @09:42PM (#7656653)
    How much longer can we be a land of managers-only?

    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..

  • by fermion ( 181285 ) on Sunday December 07, 2003 @09:45PM (#7656668) Homepage Journal
    Programming is a very creative process. One has to create structure and meaning and processes on a blank page that contains non of these. One takes ideas and creates useful products. Not only that, but one needs to know what is possible with current technology and resources. Making in all happen is an art.

    However, most coders do not do this. Most modern coders do not analyze the problem, create the best possible solution, and then figure out how to make it happen. Most modern coders do not even have to think about constraints like memory and performance. Most modern coders just need to put some widgets on the screen and then type in a few lines of patching code. And they don't even think about what the code does. From what I have seen, if they need to do the same thing 10 times, they will cut and paste the same 10 lines of code in the properties box for the widgets. Not that such things did not happen before, but we also had crappy programmers before. At least they were generally creative.

    So what we have now are a precious few creative types, that still have not been driven out of the industry, who can come with the ideas. Then we have the majority of drones to cobble together some widgets and code. of course, from the look of some of the web pages and applications I have seen, I think we have gotten rid of the creative types altogether.

  • by silentbozo ( 542534 ) on Sunday December 07, 2003 @09:46PM (#7656670) Journal
    Call them unskilled programmers then.

    A better programmer with training in software engineering and a snooty, elitist attitude would write very reusable, easily maintainable meta-code and three configuration files that make it fulfill the three specifications, but it would take him at least three times as long and it he'd maybe even do it if no one ever reuses that code.

    You're preaching to the choir here. I have a huge, mutated piece of code that, after a year, I'm still rewriting (I inherited this mess from a previous guy who left.) The guy seemed to prefer cutting and pasting to writing a simple function... Code should always be written under the assumption that it will be reused - because 90% of the time, that's what ends up happening, no matter what the specs say. What I objected to was the use of "coder" to describe unskilled programmers. I'd like to be able to use that term when talking about skilled programmers as well :)

    Now consider a project manager who has to make sure the software is ready on time and on budget ... whom would he hire?

    If he was a programmer, he'd hire the guy who would make sure the code was reusable for the future - because costs for a piece of code will extend well into the future, and cutting corners now just increases the amount of time you have to spend on the code in the future. If he was a MBA who was trying to score the quarterly bonus, and who doesn't expect to be in charge of this group after the project... well, this is why it's even possible to talk about shipping stuff overseas. My question is, after they write the inital code, who's going to be responsible for maintaining it?
  • Re:Those that do (Score:1, Insightful)

    by Anonymous Coward on Sunday December 07, 2003 @09:46PM (#7656672)
    Remember: "Behind every sleazy lawyer is a sleazy client." There's nothing innately bad about the profession of attorney.
  • by Anonymous Coward on Sunday December 07, 2003 @09:48PM (#7656692)
    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?)
  • by bob_dinosaur ( 544930 ) on Sunday December 07, 2003 @09:50PM (#7656698)
    Programming can be a creative process, but for 99.9% of projects it's not. How is putting next weeks sales targets on an intranet site creative? Or allowing customers to check their bank balance online? Those are engineering problems, and can easily be solved using well-understood methods and techologies. There's nothing creative involved, nor should there be.

    These are the kinds of projects that are getting outsourced overseas and, to be honest, Americans have no business complaining about overseas competition. After all, your country has been the driving force behind free trade throughout the world!
  • by chickenwing ( 28429 ) on Sunday December 07, 2003 @09:51PM (#7656709) Homepage
    I have to agree. I am especially offended when economists say that programmers will just need to be "retrained" with new "skill-sets".

    There seem to be several misconceptions about programming in the general public.

    I get a lot of "you're a programmer, what is this pointy arrow on my screen for?" kinds of questions from random acquaintances. This type of question reveals that people know that programming has something to do with all the shiny buttons on their screen, but know little else.

    With such a superficial understanding of what computer science is all about, it is not hard to see how members of the general public might think programming is something anyone can be trained to do, rather than something that requires individuals with a special type of thought process.

    They also think programming is just a way to make a living, much as their jobs might be. They don't realize that many of us have been doing this since a very early age and will continue to do it job or no job. I don't think many secretaries would go home and type up letters just for the fun of it.

    Professionals outside the world of engineering usually get a degree in communications or the like because it is the path of least resistance to getting a college degree, not because they are particularly interested. They probably will be "trained" when they reach the workforce, because their degrees didn't endow them with any particular abilities.

    On a different note I wonder how our leaders could feel comfortable allowing know-how to be developed abroad. Maybe we control the purse strings now, but if we lose the ability to do, rather than just manage, there will come a time when they will do it without us. I also wonder why they believe that managerial positions will be immune from outsourcing. It seems like you could outsource positions like CEO and get just as little for less.
  • by Orne ( 144925 ) on Sunday December 07, 2003 @10:05PM (#7656768) Homepage
    There are painters that produce images and impressions, and then there are painters that slap paint on an interior wall of someone's house. One is considered skilled, the other is not. (You're really flattering yourself if you think that every programmer's job is a "work of art")

    Isn't that really the issue between "good" programmers, and those who's tasks can be outsourced?
  • Re:Those that do (Score:2, Insightful)

    by Anonymous Coward on Sunday December 07, 2003 @10:07PM (#7656777)
    When you become very advanced in a particular field, so many possibilities are presented to you it actually becomes harder and harder to make a choice - especially in things like politics, writing, the humanities.

    The reason people who do things do them is because things are often simplistic for them.... take most politicians for example. Then compare them to most university lecturers in the humanities. Who is not acting politically because it's too complex or subtle?

    There are whole fields of thought on pragmatics, how to act on uncertain grounds, grounds which are constantly shifting. In the end there is no answer, but a provisional answer is to study the problem of taking action and agency itself - make the study the action you take. It's a nice way out of the paradox, and you can teach others to help them make more informed decisions. But in the end, only the teacher "escapes" by making his/her action, the study of action itself.. savvy?

    Those who take action are either brave or stupid, and just because you are brave doesn't mean you will be able to put things right - this isn't a fairy tale. But on the other hand, if more "informed" people went into politics we might not see Bush in the white house. More paradoxes, they never end.

    To sum: your little axiom degrading teachers is futile and ill-informed. And managers are most often the stupidest people around, business degrees are full of crap but business people stick up for each other to help cope with their own loss of self-worth.
  • by Baron_Yam ( 643147 ) on Sunday December 07, 2003 @10:08PM (#7656780)

    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.

  • by n3k5 ( 606163 ) on Sunday December 07, 2003 @10:20PM (#7656827) Journal
    ...
    If he was a MBA who was trying to score the quarterly bonus, and who doesn't expect to be in charge of this group after the project... well, this is why it's even possible to talk about shipping stuff overseas. My question is, after they write the inital code, who's going to be responsible for maintaining it?
    Even if some PHB definitely _will_ be in charge of the project in the future, there's a chance he will harm maintainability by making his coders delivering something on schedule. Often it's "on time, on budget, maintainable: choose any two", and if you have limited ressources and a few programmers requiring payment, you often have no other choice than delivering something that earns you money before your copany goes bankrupt.

    But you're totally right, assuming that no one will ever read/use your code again is a mistake. If a program never requires any changes, it most likely is never really used, while it might be more usable if it was better designed.
  • Re:Those that do (Score:3, Insightful)

    by drsmithy ( 35869 ) <drsmithy&gmail,com> on Sunday December 07, 2003 @10:21PM (#7656829)
    And those that regurgitate idiotic sayings like this should be forced to follow a teacher around for a yeah and watch what they *do*.
  • by God! Awful 2 ( 631283 ) on Sunday December 07, 2003 @10:26PM (#7656855) Journal
    From the article:

    Low-skill jobs like coding are moving offshore and what's left in their place are more advanced project management jobs.

    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
  • by RedRocketRanger ( 729359 ) on Sunday December 07, 2003 @10:40PM (#7656903)
    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.
  • by Zork the Almighty ( 599344 ) on Sunday December 07, 2003 @10:46PM (#7656928) Journal
    And *managing* projects (comprised of skilled - intelligent - IT folk) ..is very difficult? As to WTF "advanced" means ... I'm guessing 'managing' a portfolio of projects.. woo-hoo, tough stuff.

    Management will never be outsourced because how else will executives' relatives make a living ? THEY'D HAVE TO MOVE TO INDIA! What horror. Watch this get +4 insightful.
  • by janbjurstrom ( 652025 ) <<moc.liamg> <ta> <raeenoni>> on Sunday December 07, 2003 @10:59PM (#7656977)
    Agreed, good PMs are (at times, very) valuable. I've met one or two, one during PM training - I learned that plans change, so be flexible... (ok, so I'm not a shit-hot PM myself). As are, of course, good programmers/'coders', DBAs, system architects, HCI people, etc. ..even CEOs ;).

    Perhaps my biggest gripe is this idolization of management (of any kind) I see perpetuated. Everywhere.

    It's getting painfully obvious that it detached from reality quite some time ago (as in it's a team effort, and that every role is very demanding - and overlapping, when development is done right, in my experience).

    Nowadays the "heroic Savior/Manager image" looks more like rationalizing vastly steeper income curves (compared to the rest of us) and bonuses than anything. Not to mention the horrific concentration of authority/power.

    This powershift - I think - has artificial construct written all over it. Sure, managers are mostly competent people doing good work, but the demigod status in companies today? Suddenly managers are the only 'holistic' roles/competencies, and the rest of us are cogs(!?) Hell no.

    It's demoralizing and strips people of their ability to meet challanges, to take risks, to innovate. And I believe it's ultimately destructive for everyone, thus also for the companies employing us. Powerless employees sooner rather than later regress to "low-level" whatever.
  • by junkgoof ( 607894 ) on Sunday December 07, 2003 @11:03PM (#7656993)
    And the original Wal-Mart workers move down a notch to homelessness. Wal-Mart can afford a race to the bottom because poor Americans can't afford to shop elsewhere. The poorer Americans get the more customers Wal-Mart has. They are happy to see the standard of living drop hard and fast.

    The really key point in the article was the comment on standards of living. The standard of living in America is expected to drop by a lot. The standard of living in China and India is not expected to rise, as outsourced jobs don't pay much. Production of cheap goods is high and getting higher. Who is going to buy the goods? Especially when many of these goods, eg cell phones, are worthless after a season, or a trend and just pile up in warehouses until they can be bundled in a package below cost of production.

    I guess this is true crony capitalism. Competence is meaningless, production is unimportant, as it is done cheap in some backwater, only having money to invest counts. It already shows in some ways, for instance Microsoft makes huge money stamping their name on keyboards and mice, while the company they contracted to put the things together lost money on the deal and was considering bankruptcy last time I looked. Marketing has value, doing work and making stuff does not. Who cares about substance anyway?
  • Re:Those that do (Score:3, Insightful)

    by IM6100 ( 692796 ) <elben@mentar.org> on Sunday December 07, 2003 @11:10PM (#7657038)
    Liking mathematics, and dodging paper airplanes made out of today's homework sheet sailed by your pupils from the back row of the classroom are two different things. Make sure she knows she'll be lucky to have one pupil a year who shares her love of math before she chooses teaching math as a profession.
  • Re:it's their loss (Score:3, Insightful)

    by richieb ( 3277 ) <richieb@gmai l . com> on Sunday December 07, 2003 @11:14PM (#7657059) Homepage Journal
    The thing is, craftsmen don't scale very well. That is because, well, it takes a lot of time to become really good at all the different aspects of building whatever it is they are building. Craftsmen are a scarce commodity, regarless the trade.

    Actually with software crafstmen scale great. Because you have to build your system once. Making extra copies is trivial.

    So, programmers who spend a lot of time designing systems will get very good and will be able to produce great software, on time and on budget. Crafstman improve as they make more things.

    It's the insane idea that writing sofware is like making shoes that drives these companies to outsourcing. They will get a big suprize when the off shore programming teams realize they don't need remote management and they can deal with their clients directly.

  • Codesmiths (Score:4, Insightful)

    by EmbeddedJanitor ( 597831 ) on Sunday December 07, 2003 @11:18PM (#7657080)
    It is interesteing how we hear so much that USA is technically superior than xxx because of capitalism and competition, yet with outsourcing we see the logical endpoint of this competition.

    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.

  • by GuyZero ( 303599 ) on Sunday December 07, 2003 @11:22PM (#7657105)

    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.

  • by stmfreak ( 230369 ) <[moc.liamg] [ta] [kaerfmts]> on Sunday December 07, 2003 @11:23PM (#7657110) Journal
    ...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.

    Some observations from my experience with cowboy development (developers without adequate management):
    1. within some imaginary budget dreamed up in the same week.
    2. on target for "code complete" within the next year, but the stability of the previous managed release will never be obtained as Developers migrate from one cool new feature to the next without pausing to fix the bugs.
    3. with 100 new features useful to the developers, but not many customers.
    4. redesigned and re-coded from scratch in the uber-language of the day... each year.
    5. complete with all the orginal bugs the team spent the last few years identifying and removing.
    6. undoubtably with completely new and undocumented APIs (to save time!) that break all test tools and third party customer Apps.
    7. Requirements and Specifications? Bwahahahaha! We're saving TIME by skipping that crap!
    8. However, Test/QA will still be held accountable for the quality of the release.
    9. No doubt a few (if you're lucky) features that the developers thought were stupid marketing gimmicks (read as: customer deal-breakers) have been removed or made incompatible through redesign.
    10. Profit!

    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.
  • Winners and losers (Score:3, Insightful)

    by junkgoof ( 607894 ) on Sunday December 07, 2003 @11:28PM (#7657138)
    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.
  • Your girlfriend's dad's colleague may have been right. Consider:

    • 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.
  • by rtosman ( 730709 ) on Monday December 08, 2003 @01:04AM (#7657497)
    Exactly. Programming is the act of iterative design from the point of concept to the point of *correct* execution (many people tend to forget about that "correct" part ;-).

  • by pHDNgell ( 410691 ) on Monday December 08, 2003 @01:38AM (#7657589)
    Programming can be a creative process, but for 99.9% of projects it's not. How is putting next weeks sales targets on an intranet site creative?

    How is that programming?

    Or allowing customers to check their bank balance online?

    This is more like the kind of work that programmers do, however, it's a lot more complicated than it sounds. It has to be designed. It has to be designed securely, and so that it scales with the amount of customers real banks have when they're all checking their accounts around the same time, and it has to be managable so enhancements don't require starting over. It has to be well-tested (which is an art in itself).

    Those are engineering problems, and can easily be solved using well-understood methods and techologies.

    This statement seems to imply that such things exist. This is not the case. If it were, we wouldn't have so many contradictory schools of The Right Way to engineer software.

    There's nothing creative involved, nor should there be.

    There is creativity involved, but perhaps it shouldn't be, and maybe it won't at some point.
  • by crazyphilman ( 609923 ) on Monday December 08, 2003 @01:55AM (#7657632) Journal
    I think I might have one for your perusal:

    First: forget about software being an "engineering" discipline. It is not. Engineering deals with building physical things, to deal with physical problems. Their design process is entirely different from ours. They spend a huge amount of time perfecting a design up-front, testing it in computer simulations to make sure it won't fall apart under load, building a prototype and destructively testing it, etc. Then they spend another significant amount of time figuring out exactly how best to build the product efficiently. THEN AND ONLY THEN do they actually start building the product.

    Contrast this with computer science.While the software development process is LIKE engineering in that there is a design and prototyping period which is difficult and requires a high degree of skill, it is also UNLIKE engineering because in computer science, once you've got a prototype you're ready to test and you can distribute it as-is for nearly zero cost.

    Programming is also unlike crafts. In fact, I think considering programmers craftsmen is unfair. A craftsman is an artisan, like a painter or a woodcarver. No two items he creates are the same. He doesn't go through a lengthy design period; he merely creates whatever thing of beauty he is working on. Further, a single item he creates is expensive, because each item is unique and represents a huge investment in time. So I don't think this comparison holds up either.

    If you want an accurate model for computer programming, the closest model is that of the mathematician, because really, computer science is a branch of mathematics. It is the branch that deals with implementation and design of algorithms. In a sense, programmers model thought processes; things humans would have to do manually if the computer didn't exist.

    When you look at it this way, you're much closer to modelling what's actually going on when a programmer grabs his keyboard. We consider the process an individual human would take to achieve some result; then we codify the process as a set of rules that can be automated and vastly accelerated; then we empower a computer, a lifeless, inanimate object, to perform those rules for us.

    We're mathematicians modelling thought for the benefit of our society, creating machines which can enhance the power of our minds. WE are the accelerant speeding the growth of our culture, because WE are the steroid that is causing our intellectual capacity to grow faster than it could ever evolve on its own. Just look at the internet itself: it is so much more vast, and has so much more potential than the library at Alexandria. WE created that. WE made this happen.

    And, now, we are considered a burden that must be outsourced. It's ironic, isn't it? Corporations who owe us their very ability to do business worldwide have no gratitude or loyalty for us, and are brushing us aside as though we don't exist. We're just line items to them.

    But I'm rambling. Your conceptual approach is that of the mathematician. A design process which mixes equal amounts of knowledge, skill, and inspiration. None of which can be planned like an assembly line.

  • by Anonymous Coward on Monday December 08, 2003 @02:10AM (#7657689)
    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.
  • Comment removed (Score:3, Insightful)

    by account_deleted ( 4530225 ) on Monday December 08, 2003 @02:24AM (#7657749)
    Comment removed based on user account deletion
  • Re:Software sucks? (Score:3, Insightful)

    by eatdave13 ( 528393 ) <davec@lepertheory.net> on Monday December 08, 2003 @02:27AM (#7657764)

    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?

  • I love it! (Score:2, Insightful)

    by Caiwyn ( 120510 ) on Monday December 08, 2003 @02:34AM (#7657795)
    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.
  • Re:Software sucks? (Score:3, Insightful)

    by Doomdark ( 136619 ) on Monday December 08, 2003 @02:44AM (#7657831) Homepage Journal
    Things like java have poluted the world by making everything think they can program.

    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.

  • by Anonymous Coward on Monday December 08, 2003 @02:53AM (#7657863)
    "Marketing has value, doing work and making stuff does not."

    Yep. My wife and I run a business(a legitimate LLC), I do IT consulting, she focuses on selling inexpensive jewelry. Guess whose starting to make more?

    I spoke with a friends dad who is a business consultant(aka, free professional advice), and he basically told me if I didn't start branding my consulting services, I wasn't going to go anywhere with it, no matter how many good references I had or how many projects I have under my belt with reputable companies.

    He summed it up this way: "People don't want to just buy Cola, they want COKE or PEPSI. They don't just want a computer, they want a DELL, HP, or Compaq". He also said something about price largely being secondary to branding, meaning if you had a brand people recognized, you could charge more than your competition for the same product or service and people will gladly pay for it.

    The whole thing made me feel slimey, but he is right. The question I face now, do I want to stuff envelopes with cheap jewelry and let my wife do the marketing, or do I want to continue doing what I love, but get myself covered in marketing filth. Part of me just wants to find a Buddhist temple and finish my life there at this point...
  • by Doomdark ( 136619 ) on Monday December 08, 2003 @02:54AM (#7657866) Homepage Journal
    Coding is not about writing high-quality software, it's about hacking together stuff like GUI frontends for simple...

    Careful here. Your definition of coding might not really what many people here consider it to be (but more importantly, whether article did is... well I need to RTFA too, heh). In casual conversation, I might consider to be roughly equivalent of programming; but I also know some people have more traditional water fallish image of architecture, design, coding separation.

    Nowadays what you describe as coding is something only suitable for machines, or as part of job for person who does "more", ie. does not just act as medium between someone with brains and keyboard. There's no need or place for that kind of "coder". In same time as I can describe architecture and design of a component to someone who couldn't have done that, I can usually just implement and test component, and generally get higher quality end results (apologies if I'm preaching to the choir here... but it's one of my pet peeves with PMs and PHBs).

    On the other hand... I certainly recognize group of low-skilled/inexperienced (often both) individuals working at companies that do fit your description of coders. :-/
    It's frustrating how difficult it is to get through the idea that there is huge productivity difference between good and barely sufficient programmers. Personally I use estimate of 10:1 (including all aspects of productivity, from wider range of task better pgorammers are capable of tackling to higher quality, maintainibility etc. of end results); and I doubt that's exaggeration.

  • by OneFix ( 18661 ) on Monday December 08, 2003 @03:25AM (#7657945)
    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.
  • by Anonymous Coward on Monday December 08, 2003 @04:21AM (#7658040)
    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 ;)).
  • Steve Jobs quote (Score:2, Insightful)

    by nikster ( 462799 ) on Monday December 08, 2003 @05:43AM (#7658235) Homepage
    The key observation is that, in most things in life, the dynamic range between average quality and the best quality is, at most, two-to-one. For example, if you were in New York and compared the best taxi to an average taxi, you might get there 20 percent faster. In terms of computers, the best PC is perhaps 30 percent better than the average PC. There is not that much difference in magnitude. Rarely you find a difference of two-to-one. Pick anything.


    But, in the field that I was interested in -- originally, hardware design -- I noticed that the dynamic range between what an average person could accomplish and what the best person could accomplish was 50 or 100 to 1. Given that, you're well advised to go after the cream of the cream. That's what we've done. You can then build a team that pursues the A+ players. A small team of A+ players can run circles around a giant team of B and C players. That's what I've tried to do.
    Steve Jobs, in a Business Week article [businessweek.com]

    Do you see M$ or Apple outosurcing to India/China? Hmm...
  • by Sinterklaas ( 729850 ) on Monday December 08, 2003 @07:09AM (#7658479)
    That would then immediately explain the outsourcing that the companies are doing, because the outsourcing make the cost lower wrt to the salaries of the coders, hence the underfunded aspect is reduced because there now suddenly is enough money to hire enough coders, hence the outsourcing makes managing the projects easiers.
    [...]
    Now I'm wondering: Where is the obvious flaw in my reasoning that I'm missing?


    The flaw is with the premises upon which you base your argument. It's simply untrue that pushing the boundary is the only thing which makes programming difficult. Creating a software product is about turning user requirements into code. Often, this starts with a requirements document, which is turned into a design. In fantasy land, the design defines the required code perfectly. All that the programmers have to do is to translate the design into code. That is easy unless you want something technically complex.

    In real life, the requirements are always imperfect, so the design will be imperfect too. It gets even worse, users & managers will usually change their mind during the project. Coping with these problems requires lots of communication. The programmers need to communicate with the users, architects and managers to clarify their wishes. That is not easy when you live on the other side of the world, have to deal with cultural differences and possibly speak a different language. The communication problems that result can jeopardize your project and are not easy to manage. If anything, I think you need better managers.
  • by slim ( 1652 ) <john@hartnupBLUE.net minus berry> on Monday December 08, 2003 @08:01AM (#7658624) Homepage
    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.
  • Re:Software sucks? (Score:3, Insightful)

    by Sinterklaas ( 729850 ) on Monday December 08, 2003 @08:52AM (#7658793)
    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?
  • by cascadingstylesheet ( 140919 ) on Monday December 08, 2003 @09:16AM (#7658899) Journal
    >And the original Wal-Mart workers move down a
    >notch to homelessness. Wal-Mart can afford a race
    >to the bottom because poor Americans can't
    >afford to shop elsewhere. The poorer Americans
    >get the more customers Wal-Mart has. They are
    >happy to see the standard of living drop hard
    >and fast.

    What an odd way of looking at the world. Another
    way of looking at it would be - "I need less money
    because the things I buy are less expensive."

    >Production of cheap goods is high and getting
    >higher. Who is going to buy the goods? Especially
    >when many of these goods, eg cell phones, are
    >worthless after a season, or a trend and just
    >pile up in warehouses until they can be bundled
    >in a package below cost of production.

    Which is why, of course, this is an equilibrium
    equation, and the long, *long*, forcasted
    vanishing of the middle class never actually
    happens.
  • by Sinterklaas ( 729850 ) on Monday December 08, 2003 @09:53AM (#7659077)
    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'.
  • by HomerJayS ( 721692 ) on Monday December 08, 2003 @10:01AM (#7659117)
    We would estimate a ship date three years in advance, before we ever came up with requirements or specifications

    Step 1 in release cycle: Pick the release date. Not just at your company, but in every company I've ever worked at this was the case.

    Does anyone besides me think that this is back-asswards?

  • by darnok ( 650458 ) on Monday December 08, 2003 @10:46AM (#7659396)
    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.
  • by DrCode ( 95839 ) on Monday December 08, 2003 @05:09PM (#7662433)
    Well said. But I think there's something else going on here involving classes. Technical people were generally the 'geeks' in school. During the 90's, this formerly middle-class group started to rise a little higher, and this was a real irritation to the "investor class" that you refer to. I believe that the current outsourcing isn't just a matter of cost-cutting, but is also an effort to put us back "in our place".

Two can Live as Cheaply as One for Half as Long. -- Howard Kandel

Working...