Forgot your password?
typodupeerror
Businesses The Almighty Buck

Outsourcing Winners and Losers 831

Posted by michael
from the codemonkey dept.
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 @06:04PM (#7655783) Homepage
    Those that do... do...

    Those that can't... teach?

    Who is he calling low-level?

    Davak
    • by AsimovBesterClarke (701529) on Sunday December 07, 2003 @06:12PM (#7655842)
      FWIW, and to bring it back on on topic:

      Those that can, do.
      Those that cannot: teach.
      Those that connot teach: manage.

      So, I guess 'those that can' are on the bottom rung, huh?
      • by penguinoid (724646) <spambait001@yahoo.com> on Sunday December 07, 2003 @06:19PM (#7655896) Homepage Journal
        You're missing one very importan one:

        Those that cannot manage: sue.
      • by bersl2 (689221) on Sunday December 07, 2003 @06:42PM (#7656033) Journal
        Those who cannot do anything -- become politicians.
      • by junkgoof (607894) on Sunday December 07, 2003 @08: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 Squiffy (242681) on Sunday December 07, 2003 @08: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 junkgoof (607894) on Sunday December 07, 2003 @10: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?
      • by Jon Abbott (723) on Sunday December 07, 2003 @10:41PM (#7657202) Homepage
        So, I guess 'those that can' are on the bottom rung, huh?
        Ah, you have discovered Morse's Axiom. It goes:

        Given:

        Knowledge = Power
        Time = Money
        Power = Work/Time

        Substituting Money into Power equation:

        Power = Work/Money

        Substituting Knowledge into Power equation:

        Knowledge = Work/Money

        Now solving for Money:

        Money = Work/Knowledge

        So, the more you know, the less money you make.
  • Wow... low level (Score:5, Insightful)

    by Zelet (515452) on Sunday December 07, 2003 @06: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 n3k5 (606163) on Sunday December 07, 2003 @06: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 :-)
      • by Anonymous Coward
        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
        • by scoove (71173) on Sunday December 07, 2003 @07: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*

          • by Brandybuck (704397) on Sunday December 07, 2003 @10:54PM (#7657250) Homepage Journal
            I think a lot of this comes from "management" getting tired of "artisans" refusing to ship products on a schedule

            My company was a small American firm who put out an embedded system that was considered by all to be the gold standard of our industry. Then we got bought out (because the founder retired) by a huge multinational German company.

            Two years later we were trying to figure out why the Germans were pissed at us. No matter what we did we were treated like dirt. We increased marketshare and they were mad. We win a prestigious international award and they were mad. We couldn't figure it out. We gave them golden eggs and they acted like we gave them goose shit. We made one BILLION euros last year on a product and they laid off half our developers and outsourced their work to India in retaliation. They even flew out corporate "brass" just to *yell* at our software managers. Seriously! We heard the yelling from the other side of the wall.

            Finally a German insider told us what was wrong. We never made our deadlines. We had always worked this way. We would estimate a ship date three years in advance, before we ever came up with requirements or specifications. So we would often miss the target by a few weeks. This was anathema to the Germans! It was intolerable. We were considered incompetent bungling fools because the one major product during that two year period was two weeks late to beta testing. Not to ship date, which we made, but to beta testing!

            In one incident, I myself was seriously ill and was hospitalized. When I came back to work I found a waiting email message demanding to know why I was late on my project.
          • by crazyphilman (609923) on Monday December 08, 2003 @12: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 Raffaello (230287) on Monday December 08, 2003 @01:50AM (#7657854)

              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.

              Painters and sculptors don't simply start hacking away at it. Craftspeople do go through a lengthy period of design and planning. In painting and sculpture, these are called studies. Even a cursory glance at art history shows this fact.

              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.

              This relates to the value of what the worker produces, not the process by which it is produced.

              Programmers are like craftsmen who have very low reproduction costs. Each work is essentially unique, just as each of a painter's works are uniqure. But the programmer can reproduce his for next to nothing, while the painter needs more time and effort to reprodue his works. And, yes, painters routinely reproduced popular works. For example, Gilbert Stuart's portraits of George Washington were so popular that he essentially made a living by generating over 100 copies of his own works.

              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.

              Programming is not computer science. 99% of all programmers never devise a new sorting algorithm, never write a theorem prover, etc. Programmers apply the discoveries of computer scientists, but that doesn't make them computer scientists. Craftsmen apply the discoveries of scientists (new pigments, new metal alloys, etc.) but that doesn't make craftsmen scientists. Programmers are like craftsmen. They just have much lower reproduction costs.

        • by n3k5 (606163) on Sunday December 07, 2003 @08: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 silentbozo (542534) on Sunday December 07, 2003 @07: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?

        • by n3k5 (606163) on Sunday December 07, 2003 @08: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 silentbozo (542534) on Sunday December 07, 2003 @08: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:Wow... low level (Score:4, Interesting)

              by devaldez (310051) <`devaldez' `at' `comcast.net'> on Monday December 08, 2003 @12:20AM (#7657538) Homepage Journal
              So I'm in India right now attempting to hire programmers and a lead to take over maintenance of my completely over engineered code (I inherited it). It is bizarre to me how many of the applicants can't understand or consistently apply basics of maintainability...

              We've been through 260 resumes, interviewed 15 applicants and found precisely 2 hits, with a third we'll hire because he's borderline and we can't stay here forever...

              At least in my case, it is clear to me that outsourcing is taking the low-level, hack jobs that a newbie would get back at home...so where does that leave the new college grads? Hopefully our university system provides sufficient training that our people can compete...

              If India has a very competitive software engineering environment, I sure haven't seen it yet. I HAVE seen that the top universities, such as IIT Mumbai, DO produce world-class engineers, but other schools are not up to speed.
      • by Doomdark (136619) on Monday December 08, 2003 @01: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.

    • Re:Wow... low level (Score:5, Interesting)

      by AVee (557523) <slashdot@NoSPAM.avee.org> on Sunday December 07, 2003 @06:34PM (#7655995) Homepage
      Very true. Yet this is why outsourcing can work. First of all, 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. Something you should learn, instead of something anybody that has VB can do. This is an important factor of how people do there work and might make them more precise and more critical about their own work.

      Another important factor is the fact that application development has changed a lot. Design is becoming much more important and the coding has become easier. Mostly because a lot of low-level work is done in libraries allready. It's now possible to just say 'fetch that file using http' instead of openning a socket, sending a request and read and parse the answer. And that's just one example. The fact that computers have become faster and cheaper makes a difference as well. Optimizing code has become less important. From a managers point of view this means there is the choice of spending two extra day on optimizing memory usage or just buy 1gig of extra ram. I know wich one is cheaper...

      The good programmer you are looking for likely mainly has to be a good designer. What most bad programmers mis IMHO is the ability to analyse a given problem, chop is into pieces and work out a technical sollution. Every good coder does that, knowingly or not. When you separate this part from the actual coding you can simply document the sollution and have a 'decent' programmer to write the actual code. Most big company seperate the design and implementation anyway so taking to coding somewhere else is not that hard, but might make a big difference since 'decent' programmers tend to be expensive over here.
  • by mikeophile (647318) on Sunday December 07, 2003 @06:06PM (#7655795)
    I have plenty of them in-house already.
  • by Anonymous Coward on Sunday December 07, 2003 @06:07PM (#7655796)
    New York Times reporters have been outsourced by 100 chimps with 100 laptops.
  • by JanMark (547992) on Sunday December 07, 2003 @06: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 Anonymous Coward on Sunday December 07, 2003 @07: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 bob_dinosaur (544930) on Sunday December 07, 2003 @08: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 @08: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 @09: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?
  • who, since the coder jobs are overseas, probably don't know how to code themselves. Furthermore, because the developers are now overseas, the project managers have to coordinate with the language, distance, and cultrual gap, despite probably not knowing how to program. It's no wonder software development has become ridiculous. By the way, project manager with programming experience for hire right here.
    Plus I have a fine art degree... try finding that overseas!
  • Off-Shore (Score:5, Interesting)

    by Davak (526912) on Sunday December 07, 2003 @06:08PM (#7655803) Homepage
    My hospital uses Russian programmers. The entire job of OUR coders is to learn and debug the Russian code...

    Talking to them it seems that the majority of their time is really spent rewriting the code in a more readable, more secure format. However, they don't have the time or manpower to do it all.

    Therefore, more bugs get in the final product...

    What an odd system... especially in a hospital were errors can mean lives.

    davak
  • by penguinoid (724646) <spambait001@yahoo.com> on Sunday December 07, 2003 @06:08PM (#7655805) Homepage Journal
    Outsourcing managers is a big no-no. Suddenly, the company is not American anymore.
  • by civilengineer (669209) on Sunday December 07, 2003 @06:08PM (#7655807) Homepage Journal
    I don't know about project managers being more advanced than coders, but I am sure architects are more advanced than coders. SO, if the project manager is an architect, yes he is more advanced than the coder.
    • by Tim C (15259) on Sunday December 07, 2003 @06: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)
      • by poemofatic (322501) on Sunday December 07, 2003 @06: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 jelle (14827) on Sunday December 07, 2003 @06:55PM (#7656109) Homepage
          Interesting point of view. Well, I think that the majority of software that is created doesn't really push the boundaries, so most developments must then be the other option: underfunded and difficult to manage. 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. That, in its turn, allows for successful project completion while using lesser quality managers, saving a bundle on salaries and bonusses there too.

          A nice side-effect for inflated egos is that outsourcing allow bigger idiots to be successful in management.

          Now I'm wondering: Where is the obviuos flaw in my reasoning that I'm missing?

  • Google partner link (Score:3, Informative)

    by Anonymous Coward on Sunday December 07, 2003 @06:10PM (#7655822)
    http://www.nytimes.com/2003/12/07/business/yourmon ey/07out.html?ex=1071378000&en=9b0b3f301239bb62&ei =5062&partner=GOOGLE [nytimes.com]

    Slashdot Editors: Is it so fucking hard to get a Google partner link? What do you guys do all day?
  • Assemblers (Score:3, Insightful)

    by insmod_ex (724714) <`moc.uhcmot' `ta' `kcusstarllam'> on Sunday December 07, 2003 @06: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 @06: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.
  • What's missing? (Score:3, Interesting)

    by neiffer (698776) * on Sunday December 07, 2003 @06:11PM (#7655827) Homepage
    Interesting article, but... The missing point is that a lot of companies see outsourcing (especially overseas) as a solution but a lot of firms end up dumping projects or spending a lot of cash cleaning up mistakes and errors. I have a couple of close friends that are mid-level coders and project managers in for big-name retail firms that are constantly complaining that their jobs have been reduced to recoding poorly coded outsource projects. THE QUESTION IS: Can you really export intellectual work?
  • it's their loss (Score:5, Insightful)

    by dorlthed (700641) <mxc511 AT psu DOT edu> on Sunday December 07, 2003 @06: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.

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

      by scottwimer (628340) on Sunday December 07, 2003 @06: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
    • Re:it's their loss (Score:5, Insightful)

      by nathanh (1214) on Sunday December 07, 2003 @07: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@gm a i l . c om> on Sunday December 07, 2003 @07: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 waveguide (166484) on Sunday December 07, 2003 @06:14PM (#7655857)
    ...that we've seen over and over. More interesting is the mistaken impression that it's only coding jobs going to India. Look at Business Week [businessweek.com] for another take.
  • Well said (Score:5, Interesting)

    by civilengineer (669209) on Sunday December 07, 2003 @06:15PM (#7655860) Homepage Journal
    In the future there are two roads. One is to look backward and hang on to what we think we're entitled to. The other is to recognize what has made America. Our virtues lie in a flexible and open, technology friendly, risk-taking, entrepreneurial, market-driven system. This is exactly the same type of challenge farmers went through in the late 1800's, sweatshop workers went through in the early 1900's, and manufacturing workers did in the first half of the 80's. We've got to focus on setting in motion a debate that pushes us into new sources of job creation rather than bemoaning the loss. There are Republicans and Democrats alike who are involved in this protectionist backlash. They're very vocal right now, and they need to be challenged.

    Bioinformatics, wireless technologies, AI, robotics, there are so many fields which are budding. So many opportunites. Why do we have to look back at the financial software jobs that went away? We have much more interesting projects to be done.
    • Codesmiths (Score:4, Insightful)

      by EmbeddedJanitor (597831) on Sunday December 07, 2003 @10: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.

  • coding (Score:3, Insightful)

    by ibmman85 (643041) on Sunday December 07, 2003 @06: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..
  • by El_Ge_Ex (218107) on Sunday December 07, 2003 @06:16PM (#7655870) Journal
    'Low-skill jobs like coding are moving offshore and what's left in their place are more advanced project management jobs.'

    These statements naturally assume that Norht American and European coders are smarter, but for those coming out of college now, this is not the case.

    Example, I remember at one CS program, the OS class was 9 weeks of learning how to _use_ Microsoft Windows.

    Poor souls...

    -B
  • by Circuit Breaker (114482) on Sunday December 07, 2003 @06: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.
    • 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 a

  • by strider3700 (109874) on Sunday December 07, 2003 @06:24PM (#7655921)
    As a coder turned project manager I fell that my current position is harder then my old coding job. The demands are higher the blame falls entirely on me and the worst part of all, I have to deal directly with the customers. As a coder I could work on things in small pieces and just meet the requirments, as the manager/designer I have to know how those pieces will go together and recognize the obstacles before hand. Really for the little extra pay I get for the new job I'd go back to being a coder if it wasn't for the lack of job security.
    I know I could outsource my coders, but that's mostly due to the design being complete enough that anyone can just sit back and code up exactly to spec. It's not hard to code when given "you need a box that takes in X out puts Y and here's how you convert X to Y". I would guess that you couldn't outsource a design of " We need something that does Z. I suppose my job could be outsourced but I already find dealing with the customers over the phone in the specification gathering stage quite difficult. I happen to know their markets quite well and that tends to be how I get through. If I didn't understand the market then I'd be screwed. So yeah someone that knows the market including all of the little local issues(taxes, strange holidays, legal issues...) could do my job from just about anywhere in the world, It's over the phone anyways. Someone that doesn't know of the little things couldn't do it.

    When I looked into outsourcing our coding I decided not to.
    Reasons include
    - my programmers are already paid slightly below national average and the cost savings wouldn't be huge.

    - My programmers are proven known pieces in the puzzle. I know which guy does what best and I can pretty accurately estimate delivery schedules based on that.

    - I like working with my guys, they help out a lot when I do design or come up with ideas on things we may want to try.

    - shipping jobs away from here doesn't help me or anyone else enough to be worth pissing the locals off.

    - If I screw over my workers by shipping their jobs away, who will be their to back me when the owner decides someone else can do mine.
  • by Proudrooster (580120) on Sunday December 07, 2003 @06:30PM (#7655972) Homepage
    If we could outsource at the C-level there would be significantly more money available to companies to hire IT staff and skilled workers. C-Level = CEO, CFO, CIO, CPO, and of course C3P0.

    Outsourcing is an extremely short-sighted solution to increased quarterly profitability. It simply boils down to the fact that C level people and their cronies COST TOO MUCH and in order for them to keep receiving the same level of compensation (while keeping shareholders happy) they need to squeeze out every last bit of cash out of every other expense.

    I plan to start a new company soon which deals with outsourcing, except you will pay large premiums for me to come in and fix the disaster created by the offshore developers. Mark may words boy, and mark them well, offshore outsourcing is going to be one of the biggest largescale disasters in the history of US business. However as I read the ever increasing reports of outsourcing disasters [computerworld.com], I am beginning to realize that there is money to be made here! :) Also, smarter companies that want to hold or gain market share my begin to realize that not outsourcing gives them a competitive advantage and keeps customers happy [slashdot.org].

    Also, I wonder if C-Level types forget about the geopolitical instability of the world. Isn't the US at war right now? What if Pakistan decided to go cut all the fiber optic cable connecting India to the US? Oh the mess this is going to create. I laugh at the nearsighted fools!
  • by BenJeremy (181303) on Sunday December 07, 2003 @06: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 @06: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.

  • Ouch to you (Score:4, Interesting)

    by fm6 (162816) on Sunday December 07, 2003 @06:34PM (#7655996) Homepage Journal
    Now I know coders aren't rocket scientists, but less advanced than project managers? Ouch
    I guess you work for one of those pathetic little companies where the PMs are just glorified clerks. In a well-run shop, a good PM is worth a dozen engineers, never mind coders. That's because the PM does all the resource-managment, schedule juggling, workflow info distribution, and other organizational scutwork that would otherwise drastically impact the engineering man-month, if it got done at all.
    • Re:Ouch to you (Score:5, Insightful)

      by gurustu (542259) <gurustuNO@SPAMatt.net> on Sunday December 07, 2003 @07: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 Vagary (21383) <jawarren@gmai l . com> on Sunday December 07, 2003 @07: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?
    • Re:Ouch to you (Score:5, Insightful)

      by Zoop (59907) on Sunday December 07, 2003 @08: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 k98sven (324383) on Sunday December 07, 2003 @06:42PM (#7656034) Journal
    There will always be market for high-quality programmers.
    Higher quality means higher prices, which means higher wages are acceptable.
    It's basically a refinement of the market, not a disappearance.

    I live in Sweden, which has some of the highest labor costs in Europe. Yet, Sweden has a strong steel industry, despite steel manufacturing being quite a 'low-tech' industry, with cutthroat international competition.
    (Coming from Japan, and increasingly China)

    How do they compete? Simple: They don't. Sweden switched its industry to high-quality and specialty steel production requireing more skill.

    The USA really needs to move their steel industry in this direction, but instead they leveled tariffs on imported steel. (now dropped after trade-war threats)
    (Also, note that swedish steel was exempt from these tariffs, for the reason that they don't compete with american steel manufacturers, who aren't in the specialty market)

    So, for the software market, I think we'll see something similar. And a choice will have to be made whenether to face reality, at a cost of the lesser-skilled jobs, or give the industry artificial resuscitation through tariffs.

  • Low-skill? (Score:4, Informative)

    by ChaosDiscord (4913) on Sunday December 07, 2003 @06:46PM (#7656060) Homepage Journal
    Low-skill jobs like coding are moving offshore and what's left in their place are more advanced project management jobs.

    If you hire and pay on the assumption that coding is low-skill, you'll end up with crap programmers generating crap software. Projects will usually go over budget, rarely meet customer expectations, and generally have a miserable experience.

    Hmmm, now that I think about it, that matches the behavior of many large companies. They hire chimpanzees, then are shocked when all they get is chimp crap out of them.

    Aaaah, the free market and short sighted capitalism, leading the world to the lowest common denominator...

  • by codingDog (730638) on Sunday December 07, 2003 @06: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 Hangtime (19526) on Sunday December 07, 2003 @06:57PM (#7656118) Homepage
    I will be going back and sending Mr. Johnson an email stating the question. Since the normal career progression of someone into a Project Management position is through a "coding" position at what point do the project management jobs you speak so highly not move as well. In fact, wouldn't it be easier for someone to project manage their team in the country where they are developing the application and at nearly 10% of the cost of a "US" project manager. In addition, since were already buying the cheapest product what's to stop us from shipping Project Management positions.

    To use an analogy, how many individuals have you known become team leaders or shop bosses in a manufacturing plant without actually at least working near or around a plant floor. I'm going to say not too many. Thus, this sort of thinking will end any sort of software project management as well.

    I like this choice quote too We will require different services, medical devices, all kinds of things to support an aging population.

    Of course, instead of actually producing things that will make our lives better and move us ahead in the world we can focuses all our energies on something that none of the world seems to want to pay for prescription drugs, life-saving procedures, and incredible medicial devices. The whole entire world looks to us to subsidize this stuff so they can get it on the cheap. I don't see a lot of Indians or Chinese companies coming out with these products, but I see whole lot knock-offs and piracy coming from them. We cannot export those products.

    As much as I like to say free trade, free trade is only free when everybody plays by the rules. No one plays by the rules, we slap a tarriff on products, but other countries subsidize their industries because they worry about their own workers unrest (Steel comes to mind). I think their is a very large difference between the manufacturing movement of the 80s and now. In that time, you could go back to school (government subsidized) retrain for a new position and get another job. What happens when you have already gone to school, your now sitting on $50,000 worth of college debt, and somebody tells you sorry...you shouldn't have done that, but your more then qualified to take a $30,000 a year job. What happens when your paying $283 on month on a student loan which is 20% of your entire salary after taxes. I'm thinking you wouldn't be buying a whole lot of stuff. (Not me thankfully at the moment, that's why I am paying down my college debt as fast as possible.)

    Used to be education could get you ahead, now you just have to live in another country and work for an obscenely low wage in comparison to the US.

  • by t_allardyce (48447) on Sunday December 07, 2003 @06:59PM (#7656132) Journal
    All i know is that if project managers went on strike for a week, they would come back to find the entire project had been completely redesigned from scratch, it would be amazingly efficient and well structured and it would work perfectly and within budget, whats more it would have 100 new useful features. If programmers went on strike for a week they would come back and find a list of 100 random, totally flawed and un-thought-out things to do on thier desks.
    • by Baron_Yam (643147) on Sunday December 07, 2003 @09: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 Dr. Spork (142693) on Sunday December 07, 2003 @07:01PM (#7656138)
    So the drift is this: The USA is OK because we still have the best project managers; this only hurts the code monkeys.

    The problem with that reasoning is that the good project managers once were code monkeys. It was while doing the grunt work that they developed the insight which led them to be good project managers. You know, inside understanding of modern technology and practices...

    How much longer can we be a land of managers-only? And how good will our managers be if they never did the work in the trenches, because that stuff was outsourced? It seems to me that we can't avoid outsourcing management jobs if we are outsourcing the lower-level jobs.

  • HA! (Score:4, Funny)

    by Herkum01 (592704) on Sunday December 07, 2003 @07:04PM (#7656148)

    Now I know coders aren't rocket scientists, but less advanced than project managers?

    Just goes to show that MS Project is more challenging to a manager than an IDE is to a programmer.

  • by RealProgrammer (723725) on Sunday December 07, 2003 @07: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.

  • Manager/Worker (Score:5, Insightful)

    by nuggz (69912) on Sunday December 07, 2003 @07: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.
  • by kien (571074) <kien@NOspaM.member.fsf.org> on Sunday December 07, 2003 @07:57PM (#7656432) Journal
    Low-skill jobs like coding are moving offshore and what's left in their place are more advanced project management jobs.

    Let the perl regex marathon begin! :)

    Seriously, I work for an insanely large international telecommunications company and our project managers don't even understand the basic technologies involved in the projects they're managing. I don't envy their job, but I have a hard time believing that their (basically administrative) skills are any more important than the skills of those of us who actually make the stuff work. If PM skills supercede mine, I wonder why I'm always on (endless) conference calls explaining things to them.

    *shrug* Their cluelessness is pretty good job security so I don't complain until they hit utter braindeadlessness.

    --K.
  • by corvi42 (235814) on Sunday December 07, 2003 @08: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.
  • Opinions are like... (Score:4, Interesting)

    by paranerd (672669) on Sunday December 07, 2003 @08:47PM (#7656685)
    I work in this industry in Tech Support. I work for a very large and prosperous company that has a completely disfunctional IT department, so my sample space may not be representative of the norm. But from where I sit, from what I've seen, ALL offshore work is crap. Software and Support, complete unmitigated crap.

    EDS tried to grow lowbuck coders in the 80's. They got lowbuck code. Business today is trying to import low buck code. And that's what they're getting.

    I'm not too prejudiced about very much, but I really beleive the best software is written in a backyard hotrod, garage tinkering society.

    Oh, and before I foget to add, most of our "project managers" have the tech savy of my grandmother. Our end customers are 4 out of 5 times more knowledgable than the people we get to manage our projects. I was once part of a twenty man team that built an IBM mainframe computer center from scratch, and consolidated 3 centers down to it, in a 4 month period, start to finish. And in that 4 months we changed all of our 2000 user's ids (for performance reasons). We brought the datacenters down Friday PM and brought online the new datacenter Monday AM. Zero problems. That was without project managers; just a kickass director of IT and twenty "empowered" guys accountable for their work. Today? Well I'm currently working on a team that is taking 4 months to install a network diagnostic system to fix a problem that has been plaguing us for 14 months! But I guarantee you we are project managed up the ass.

    Sorry..... I feel better now. Thank you for listening...
  • by RedHat_Linux_Man (692702) on Sunday December 07, 2003 @09:02PM (#7656753) Journal
    Low-skill jobs like coding Apparently the man has never written a kernel.
  • by $criptah (467422) on Sunday December 07, 2003 @09:51PM (#7656947) Homepage

    Seriously, what if somebody wants to be in charge of a software development team some day? What should that person do? Do you get a B.A. in English, work as a school teacher for several years and then become a VP of Development? I think not. I think that every decent development manager started to work as a software coding grunt. Without low-level jobs there will be no high level positions. Period.

    I have not seen any recent Comp. Sci. graduates who can become managers right out of school. Most of them were hoping to get these 'low-level' coding jobs (not to be confused with positions related to assembly programming) and work their way up. Today we ship all these position abroad because somebody wants to make extra profit and get yet another personal jet. Tomorrow we will have to import (or outsource) project managers because nobody will be able to replace them.

    I am one of the graduates who is struggling to find a job now and let me tell you one thing: it sucks to work at a liquor store while paying off $345 per month for the next fifteen years. Unlike the majority of dot-com born programmers, I knew that the salaries of the late nineties were inflated. I did not expect to earn $80K after college and something told me that VB and Access programmers did not deserve six digit pay checks. Most of these people were in IT because of the money, not because of their own passion. Now most of them have several years of experience and they compete with college grads like myself. The battle is hard, but I think that as long as I meet software engineers who do not know what threads are, I am going to win. (Yeah, you heard me right: I met a couple of mid-level "software engineers" who had zero knowledge about concepts like threads.)

    Finally, the trend to move software development to other countries does not mean that our projects end up in the hands of highly trained professionals as many manages like to say. People of different trades and backgrounds will notice that software development is profitable because "you get to work for American corporations." Mark my words, in several years the rest of the world will experience what we have gone through during the late nineties. Many countries will face a surplus of barely skilled developers who ended up in IT because of the money.

  • Some comments (Score:5, Interesting)

    by bwilson (27514) on Sunday December 07, 2003 @10:12PM (#7657048) Homepage

    Coding: People here are complaining that coding is classified as a "low-level" job. A lot of companies have been treating coding as a low-grade skill for quite some time. A team of high-level people design the thing, and they hand it off to the lowest-paid workers that can actually implement it. These low-level American jobs purposefully don't leave much room for creativity, and the pay is not really that great. Outsourcing those jobs to India is merely a continuation of this trend and follows the manufacturing sector where the jobs of feeding the machines and putting stuff in boxes have mostly gone to China.

    Management: A lot of /.-ers are complaining about how management sucks and how its so much easier than programming. This is false. Management is really hard and takes a lot of skill. Most mangers suck, of course, but most programmers suck, too. You never notice the rare good manager who takes mediocre programmers and makes a successful project, but a bad can have great programmers and get nothing done (of course, of you have genuinely bad programmers, you're screwed no matter what). The Indian industry will mature, and a lot of management and design jobs will eventually be outsourced there, too.

    Quality: Think about any physical thing you buy. It probably has "acceptable" quality and doesn't cost very much. After a while, you get a different one, which probably has newer and better technology that you wanted anyway. (If everything you bought was a minor masterpiece, you'd pay for it by having out-of-date technology; it's the price of our fast-changing world.) If you want better quality, you have to pay a lot more, and the product, or large portions of it, are much more likely to be made in the US/Canada or Europe. Sure software quality sucks, but mostly it does what people want and is cheap. A lot of people are willing to put up with problems to pay less. In the end, the top software jobs will stay, just like the top manufacturing jobs are still here.

    One problem really is that we don't know how to design software in a predictable way. Attempts to design inexpensive software are often more expensive in the end, and trying to do a great job can lead to bloated projects that are never done. Many expensive American projects really suck, and probably some cheap Indian projects are great. The field currently just doesn't have the maturity for us to say with any predictability "if we spend X dollars we will get Y quality." When/if the field reaches the predictability of manufacturing cheap software will be made in developing countries, and great software will be made in mature countries.

    Protectionism: While short-term measures can allow an industry to restructure itself and become more efficient, long-term protectionism never works. Consider the recent steel tariffs. I'm not qualified to say if they were the right thing, but the idea was to allow some short-term period for the steel industry to get it together because we all benefit from a competitive industry. A long-term tariff, however, makes American products made from steel products more expensive. American consumers could then buy less, and American products can not be sold overseas.

    The same is true for software. India currently specializes in grunt-work coding. Protectionist measures will save some American grunt-coding jobs in the short-term. However, what will happen in 10 years? A fraction of those Indians will get mad skillz. Indian software companies, now with competitive-quality coders, and benefiting from cheaper labor than their American counterparts, will clean up. The American industry will ultimately suffer. Its better for the bad American coders to find a different field or get better skills now than later. Think about it, it may suck to lose your job now, but its worse to lose your job from a dying industry when you're 10 years from retirement and have no recent skills or training.

  • Do I laugh or cry? (Score:5, Interesting)

    by Brandybuck (704397) on Sunday December 07, 2003 @10:20PM (#7657094) Homepage Journal
    Professor M. Eric Johnson, who says that, 'Low-skill jobs like coding are moving offshore and what's left in their place are more advanced project management jobs.' Now I know coders aren't rocket scientists, but less advanced than project managers?

    Do I laugh at the absurdity of this? Coding is not a "low-skill" job. Far from it. Programming in C is a high-skill job. Programming in C++ is a high-skill job. Heck, even programming in C# is a high-skill job. Ditto for PHP, Perl, Python, etc. He must be thinking of the one-off Visual Basic script he wrote last week...

    But I want to cry at the same time, because the PHB's believe this crap. Offshore development to India? My company did this because they thought coding was a low-skill job suitable to outsourcing to low-skill workers. Not only is this insulting to developers here in the US, it's equally insulting to the developers in India. It's the new Anglo Imperialism!

    I've been told flat out that my only future in the company is to be a project manager. I've done that and it sucks. I would rather be developing and coding. I don't want to have to schedule time on Outlook just so I have a block of time available to schedule all my myriad meetings on Outlook.

    Hmmm, maybe this attitude that development is "low-skill" works explains that shoddy quality of commercial software these days.
  • by Animats (122034) on Sunday December 07, 2003 @11:56PM (#7657475) Homepage
    Outsourcing is only temporary. From there, it gets worse.

    The companies that handle the outsourcing soon reach the point where they don't need the US company any more. That happened in consumer electronics and appliances years ago, and it's happening in apparel. If it can be sold through Wal-Mart, there's no need for a US company to be involved in manufacturing or distribution. Branding problems can be fixed with advertising, acquisition, or pressure. Some well-known US brands are already just fronts for offshore operations.

    In service areas, if the service can be delivered over the Internet or by phone, it can be moved offshore. Right now, most of the companies doing this are fronted by US companies. But those companies become hollowed out, until they're just brands.

    Next, the intellectual property moves offshore. This has already happened in consumer electronics and is happening in semiconductors. No US company can make a CD-ROM drive without licensing technology from Asian companies.

    Finally, the money moves offshore.

    The US could end up with Third World income levels as a result of this race to the bottom. Don't think it can happen? Twenty years ago, nobody though there would be armies of permanently homeless people in US cities. Or that Argentina would become a poor country. Or that Britain would become poorer than Italy.

    In the US, average real weekly earnings peaked in 1973. That's why your parents are better off than you are.

  • by yintercept (517362) on Monday December 08, 2003 @01:26AM (#7657761) Homepage Journal
    Last month, The International Herald Tribune convened a roundtable at the Algonquin Hotel in Manhattan to discuss how job migration is changing the landscape.

    What a waste! We could have as good a conversation between pundits in Bangalore for a tenth the cost!

Vitamin C deficiency is apauling.

Working...