Slashdot Mirror


Ask Slashdot: Is Outsourcing Development a Good Idea?

New submitter penmanglewood writes "I am a developer at a small IT company, and we primarily make software and games for the education market. I used to work with a team of developers, but for reasons outside the scope of this question, my boss and I are the only ones left. My boss says that our new strategy is to use outsourced developers to do the 'monkey work' for us. To me, this sounds like a bad idea. Do we give the developers access to our internal libraries? How will they be able to work on parts of our product without having access to our repository. I could think of a hundred more objections, but maybe I'm looking at it the wrong way. Is there a smart way to outsource development, or is it just a bad idea?"

84 of 403 comments (clear)

  1. Just remember by Anonymous Coward · · Score: 5, Insightful

    You get what you pay for. There's a reason those outsourced programmers are so cheap. They don't care about you, or your project, and they don't have to maintain it when it breaks.

    1. Re:Just remember by TheRaven64 · · Score: 5, Insightful

      Actually, the problem is that you often don't get what you pay for. The most important think when considering outsourcing is to work out how you are going to evaluate their work. If you don't have a mechanism for rejecting bad work, you'll get bad work. If you're doing off-site code review with people several time zones away, you may find you're spending more time doing code review than it would take you to just rewrite it from scratch...

      --
      I am TheRaven on Soylent News
    2. Re:Just remember by elgeeko.com · · Score: 5, Interesting

      We do a lot of out sourced work for other companies and our customers tend to be very happy with us and many of them come back to us for follow up projects. We're also not cheap, in fact our fees are rather high, but so are our standards. We're located in the mid-west and the vast majority of our customers are within our region, but I've been known to hop on a plane and fly to the coast to finalize a deal or to reassure a customer that we're real people doing real work. Your first sentence says it all, you get what you pay for. As for the time zone statement I think it depends on who you're outsourcing. There have been times where we've outsourced some of our projects in order to meet deadlines and we've established solid contacts with several Individuals in Bangalore and I've found them to be an absolute treat to work with. If someone is going to outsource the most important deciding factor shouldn't be money or location, it should be skill. Any good development firm is going to have a list of previous satisfied customers that should provide a solid reference, if they don't then you shouldn't take the risk unless you're willing to accept sub-par work for sub-par pay. If someone is looking for "cheap" then that's exactly what they'll get.

    3. Re:Just remember by wisnoskij · · Score: 4, Informative

      Yes and No.
      Labour is cheaper in other countries and this does not mean that they are worse workers or unqualified.

      But it does mean that you will necessarily be working with people who care less about the finished product and who you have almost no oversight of.

      They might be working two or more jobs at the same times, and even if you are paying them for 8-12 hour days they might only be working 4 for you.
      There will likely be a communication barrier, my old boss used to spend 4+ hours a day trying to explain what he wanted our outsourced team to do the following day.
      Also, being an entire world away they can hold your code hostage. You will probably want them to constantly unload their work to servers you have absoluter control over. Because the last thing you want is for your relationship with them to break down and for them to refuse to sent you their work thus far.

      --
      Troll is not a replacement for I disagree.
    4. Re:Just remember by jedidiah · · Score: 4, Informative

      When you outsource, the labor is working for someone else. They aren't your employees. They are employees of OtherCorp. The labor will do nothing that doesn't benefit OtherCorp. They don't care about you or your company or your product. They will not lift a finger except what is spelled out in your contract with OtherCorp.

      They are not your employees.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    5. Re:Just remember by hoppo · · Score: 2

      Not only that, you only get what you pay for, for that billed hour. The billing rate of an offshore developer may be half what you would pay someone in-house, but you get billed 4x the hours.

    6. Re:Just remember by multicoregeneral · · Score: 5, Insightful

      I started outsourcing awhile back when I needed to be in two or three places at once, and the work was too much for me to finish on my own. Initial experiences with it were awful. Just really bad. The work was terrible, and I had to shell out cash for things that never got done. Initially, I ended up doing a lot of rework. My first thought was that the language barrier and cultural differences were an issue.

      So I engaged with Google translate, broke projects up into smaller pieces, and communicated in shorter well thought out sentences. Also, for cultural reasons, they almost never tell you when they fail at something. So you have to actually instruct them to do so, or they will leave you hanging, or worse, spinning their wheels on the clock for days on the wrong thing.

      If you're doing something complex, you're going to want to stop, break it up, and explain it exceptionally well. Otherwise, you're virtually garaunteed to lose money.

      That said, I don't think outsourcing is so bad these days, once I've gotten the hang of it. Now that I'm accustomed to it, I don't offend people as often with bad jokes (never tell jokes), and the work gets done with close to an 80% satisfaction rate. I recommend it, but there will be a learning curve.

      --
      This signature intentionally left blank.
    7. Re:Just remember by Skapare · · Score: 2

      Should. But this is indirect. Workers care first about their paycheck, which means caring about their job. And that means making sure the company succeeds. The company succeeds when it makes a substantial profit, so workers try to make the company a substantial profit. This happens by doing a good job at programming, or at least making it look like a good job in the short term, because in the long term, no one cares.

      --
      now we need to go OSS in diesel cars
    8. Re:Just remember by Opportunist · · Score: 3, Insightful

      In my experience, yes, they DO care less than our in-house developers. Also, consider that your project managers often don't know just too exactly yet just what exactly they will eventually need.

      Your in-house programmers know that they will have to patch and maintain what they create today, which only means more work but not more pay to them, so their primary goal is to deliver what you will actually want in the end (and, given experience, they also know already what your departments usually forget or omit) so they can minimize their work.

      Your outsourced team knows that they will have to patch and maintain what they create today, which means months or years of add-on contracts so their primary goal is to deliver what your specs say even if they know exactly that you'll need something else, too.

      Question for 100: Which behaviour is better for your company?

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    9. Re:Just remember by bhcompy · · Score: 3, Interesting

      Well, outsourcing and outsourcing to a foreign country are different things. Most people I know of that outsource development just outsource to small local dev houses

    10. Re:Just remember by Lonewolf666 · · Score: 5, Interesting

      If you're doing something complex, you're going to want to stop, break it up, and explain it exceptionally well. Otherwise, you're virtually garaunteed to lose money.

      Good point, and the "break it up, and explain it exceptionally well" translates to detailed and clear specifications.

      In my experience, not every organization is able to create those. Actually, my experience as a developer is more along the lines of being given a vague goal, producing a prototype, and then people would play with said prototype and start producing change requests. Which tends to developing the project piecemeal and with plenty of feature creep.

      If your company is capable of writing good specifications, outsourcing may work for you. If it is of the "vague goal" persuation as described above, stay far, far away from outsourcing ;-)

      --
      C - the footgun of programming languages
    11. Re:Just remember by thaig · · Score: 3, Insightful

      That demonstrates the problem nicely. The chain of decision about whether the work was good enough is pretty long and your final potential recourse might be a lawsuit which is such a high stakes response that your management are more likely to pay up and change supplier but even more likely to tell you to stop being a perfectionist nerd.

      Communicating with people many timezones away is hard when they are great people and horrendously time consuming otherwise and when you change suppliers for any reason or when their employees leave then all their accumulated knowledge is lost.

      So outsourcing is dumb if your work is meant to be in any way unique to you. If you're expecting something bog standard for the industry then it offers you something.

      --
      This is all just my personal opinion.
    12. Re:Just remember by cide1 · · Score: 2

      "You get what you pay for." This is absolutely correct, and is where much outsourcing goes wrong. I work for a company that does contract engineering or "outsourcing as a team". We are based in Indianapolis, speak English, answer phone calls, do our best to accurately estimate work, and are very up front about our areas of expertise. In almost all cases, I think we do an excellent job of representing ourselves, and what we are capable of. We have been in business for 15 years, are employee owned, and have almost no employee turnover. We currently have about 70 employees. We specialize in consumer electronics, medical, and industrial products, and do schematic design, mechanical design, ecad, mcad, prototyping, firmware development and testing. Many of our devices are Linux based, or on smaller parts run a custom OS developed in house. We are very strict in enforcing NDA agreements that we have in place with our customers. Being in this industry for so long, we receive lots of projects that have come out of failed business relationships with competitors. This highlights my main point, and that is that you must do business with someone you trust. If you are worried about "opening up core libraries", and hiding your IP from the software engineers you are paying, then you have the wrong partner. On the same token, we see a lot of trends in failed projects that come to us for repair after a failed relationship with a competitor. One of the biggest is that customers do not value or do not wish to pay for documentation. Without paying for a requirements document, and an architecture document, with review sign offs, there is nothing written down that says both sides agree on what is being produced. Many customers come to use thinking they have already done their architecture, and that they have all the details figured out. We find that in almost all cases, this is not correct. A 10 page document is not an architecture, and a 1 piece marketing blurb is not requirements. Another common failure is lack of communication. At a very minimum, an hour a week to meet and discuss progress is important. If either side has a problem with this, the relationship is in big trouble. I could go on and on, but it starts to sound like an advertising spiel. Virtually all of our projects end in success, and we work hard to hold up our side of the bargain. the counterpoint to that is that we are not "cheap". We are very talented, many of us have masters degrees in technical areas, and we generally do a lot more designs in a given time than most of our clients, so we grow experience faster with different vendors / libraries / platforms / parts / tools, what have you. We need to make a living, be able to pay our expenses, and be able to attract good talent, so we charge accordingly. Our project success rate, and the number of clients that return to us again and again justifies this. In almost all cases, I think that we end up saving our clients money, due to reducing their overhead of hiring and managing engineers, and our ability to get their projects done faster.

      --
      -- the computer doesn't want any beer, no matter how much you think it does. NEVER, EVER feed your computer beer.
    13. Re:Just remember by timeOday · · Score: 2

      They should care about your product for the same reasons that people working direct for the product care: it is their job and they want a paycheck.

      It's not just money. On a day-to-day level, a lot of motivation is interpersonal; when you rub shoulders with people, you don't want to let them down (and then have to face them). This is a very powerful "tribal" instinct that people have. Of course it can be neutralized by bad management even when people are co-located, but I think it is harder (though again, not impossible) to foster remotely and/or across cultural barriers.

    14. Re:Just remember by elgeeko.com · · Score: 5, Insightful

      Further south, we're true hay seeds. Kansas City Mo. I think he got bent out of shape because we've outsourced some of our work to a couple guys in India when the deadlines have changed and exceeded our internal capacity. Some of the greatest developers I know are from India and if someone thinks taking advantage of their skills is "Un-American" then that's their loss. We developed those relationships, those friendships, because they share the same passion for development that we do. As a general rule we only re-outsource when the dynamics of a deadline changes in mid-project and we need some quick help. Yes, we're Americans, but most importantly we're humans beings, just like those guys in Bangalore.

    15. Re:Just remember by Z00L00K · · Score: 3, Insightful

      Outsourcing means that in the long run the knowledge is slipping away and your company will just be an empty shell as soon as the contact with the developers ends.

      Of course - it's possible to outsource some stuff that is generic, but if you don't specify in detail what you want you don't get anything useful.

      And outsourcing to India means that things that's taken for granted aren't known except as rumors there. Like the fact that roads can be icy in the winter.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    16. Re:Just remember by elgeeko.com · · Score: 2

      That would be the client. Sometimes things get pushed up because the client decides they need something sooner rather than later. Personally I'm not going to tell the client "tough luck, we can't do it", especially if they're paying extra, we're going to rely on people we know and trust to make sure we have a customer who is happy. It doesn't happen often, maybe twice in the last three years, but it does happen.

    17. Re:Just remember by HairOfTheBambit · · Score: 2

      That's grossly overstated. I run a custom software company and as such, the number one thing that will benefit my company is happy customers coming back and referring me to others. As such, all I do is for the benefit of my clients.
      Every one of my employees knows this and they know the easiest way to get in trouble here is to make us look bad to the client. That includes falling behind schedule, writing poor code, flippant remarks, not testing or a million other things that would get in trouble for with their own company. I've had this company for over 10 years and 80% of my business has been referral based because of this.
      Now, there are some caveats to this. I am based in America (Florida) and I never outsource to another company. I have worked on projects with other teams not based locally (Asia) and to date have not had a great experience with them at all. But I'm not sure I can say it's because they don't care..or that they care less about the client than their own company. I chalk it up to less experience and, more importantly, less independent and original thought. They are more like cogs in a machine than engineers doing the design.

    18. Re:Just remember by elgeeko.com · · Score: 2

      You make some valid points, if we outsourced work on a regular basis then I agree, we would wither and die, especially since a large part of our revenue comes from picking up outsourced work from other companies. But it's very seldom we have someone else jump in and help us out. When we have reached out it has been to people I've known for most of the last 10 years and have proven themselves to be reliable.

      You're also making the assumption that when we have outsourced we've been totally ignorant of what work they've done to accomplish the goal. When in reality we've often worked side by side with them working on the same project, following the same road map. Hiring someone to help doesn't mean handing the entire project off and have them do it for you, it means hiring someone to work with you (or at least it should). The point is that you have to treat them just like someone on the team who is sitting in the office next to you (it also means having a wife who doesn't get upset because you have a middle of the night conference call).

    19. Re:Just remember by bhcompy · · Score: 2

      And even better when they don't ask why the bat is round instead of flat

    20. Re:Just remember by thePowerOfGrayskull · · Score: 4, Informative

      . We developed those relationships, those friendships, because they share the same passion for development that we do

      You have no idea how rare that is.

      In a place where programming is a ticket out of poverty, and the larger consulting firms literally snatch up tens of thousands of graduates who are in it solely for the money - graduates who do not have the aptitude to be good programmers - skilled, capable programmers are true diamonds in the rough.

      The situation now in India is the same but a vastly higher quantity of incapable programmers is entering the workforce every year. The ratio of skilled to clueless is the same as anywhere - but with the higher quantities it's very rare to find the skilled.

      This is no slight against Indian people -- we saw the same thing in the US but on a much lesser scale in the late 90s and early 00s That's when everyone thought it was a way to get rich - hop on board the dot-com bandwagon. The market was flooded with incapable wannabe programmers and it took years for them to wash out (some never did).

      If this hasn't been your experience, count yourself very lucky.

    21. Re:Just remember by wrook · · Score: 4, Interesting

      Not only that but outsourcing firms frequently move their highly skilled workers from projet to project. For example, they may have 10 contracts with 4 people on each contract, for a total of 40 people. But only 8 (20%) of those people are highly skilled, so they put one on each team except for 2 teams. Often those 2 teams run into trouble, so they juggle the other teams and move one or more of the highly skilled people onto the failing teams to catch up. This causes the "good" teams to fail since they no longer have their highly skilled person.

      I've run into this problem a number of times when outsourcing. If you can discover who the good players are on the outsourced team, it helps dramatically to insist that those players are always on your team. Of course, that often costs a lot more money.

    22. Re:Just remember by RagingGolem · · Score: 2

      My own project has a 4 year relationship with the customer. If what you are saying is true, how is my company still working ?

      Well good for you old chap, but it's quite possible that the client doesn't know any better, or that they do but the person who made the original decision doesn't want to lose face. I won't suggest anything more nefarious.

      You can't draw much of a conclusion from one data point.

      That is what I was trying to refute. There are thousands of outsourced projects in hundreds of companies in my city alone. My case is NOT a single data point. Cant you see ? You really think "each one of them is failing ?" REALLY ? thousands of people are *not able to live upto expectations in the Indian IT industry on a daily basis ?*. And yet somehow, the companies keep growing, salaries keep rising, and clients keep coming. All this, despite we Indians being *such unworthy scoundrels*. Maybe its the stupid *Indian spices* talking, but I think your paranoia is touching impossible heights

    23. Re:Just remember by AVee · · Score: 3, Insightful

      That definitely is cultural, although it's not specific to India. Saying no to your boss is unpopular (and often unwise) in a lot of countries. I'm Dutch (we argue about everything) and I worked with people from India at an U.S. company. The cultural issues can be rather tricky when people are unaware of them, although it's generally possible to deal with it once you make people aware of it.
      Cultural issues exist when outsourcing closer to home as well though, I once freaked a French customer because I was arguing so technical issue with a college and they thought we hated each other :) The small cultural issues between states or even different companies can especially tricky you because you see them coming, so be aware of that when outsourcing closer to home.

    24. Re:Just remember by msobkow · · Score: 3, Interesting

      Some developers need specs that are so detailed you may as well just write the code. When I work with a developer, whether in-house or outsourced, I expect them to come up with the implementation algorithms from high level specifications. The only time I've ever included a detailed algorithm specification was when there was a legal requirement for a particular style of calculation to be used (the financial services industry.)

      However, my experience has been that most outsourcers will send their senior staff to your meetings and to collect requirements, and then turn loose a horde of poorly trained junior programmers when it comes time to write the actual code. The senior people you respected at the design meetings are "too valuable" to write code, and rarely get involved beyond the specifications.

      But this isn't a new problem. Just look at the long and failure-littered path of large projects over the years that have hit the news involving firms like EDS or Anderson Consulting. Offshoring adds time zone and language barriers, but the whole consulting industry has a history of bilking customers by billing out intermediate and senior rates while paying juniors to do the work.

      Several posters say "You get what you pay for."

      That's not necessarily true. That's why such firms have been sued for failure to deliver in the past.

      --
      I do not fail; I succeed at finding out what does not work.
  2. ...turn off the lights? by Anonymous Coward · · Score: 5, Insightful

    ...as if your the last two left, there isn't a company left - it's time to pull the plug. If you can't perform the service / provide the product you were created for within the organization, or even get it started - then you are just conservators of a bunch of assets, waiting for the right time to call it quits; not a software development firm.

    1. Re:...turn off the lights? by dynamo · · Score: 3, Informative

      I'm sorry to say, I agree with this AC.. Having dealt with outsourcing many times, I can tell you it's not worth the hassle. If you can sell the company to fools who believe that outsourcing will work just fine, do so - otherwise get out while you have what you have now.

  3. Answer: by Jeremiah+Cornelius · · Score: 4, Insightful

    No.

    Thank you. Next question?

    --
    "Flyin' in just a sweet place,
    Never been known to fail..."
    1. Re:Answer: by Anonymous Coward · · Score: 2, Informative

      I think anyone who's ever tried it lives to regret outsourcing. Programming is not "monkey work".

    2. Re:Answer: by PIBM · · Score: 2

      Not every company even lives to regret it..

    3. Re:Answer: by sortadan · · Score: 2

      I'd revise that to a 'Probably not'.

      I've had 4 separate projects with 3 separate companies outsourced, 3 to Indian companies, and one to a Russian company. Two of the 3 Indian outsourcings were for testing of a product, and this is the one case where outsourcing can possibly work in my experience (1 of the 2 experiences was less than a total waste of money). What worked was having a liaison in-house that was available to talk to the dev team here, and work out how the product was changing daily, how the test matrix needed to adapt, and was there to clarify bug repros and whatnot. Every night he would do a call to the dev team in India to catch them up on everything that had happened that day, and every morning he would call again to get all the info on their progress. The success of the situation rested heavily on his competency to manage the offsite team and keep them on task with a changing target. This was still a pain in some cases as an in-house test team could just walk over and talk to the devs rather than having a 24hr turnaround on all things, but it worked out.

      The other 3 outsourcings were not as well managed, and I would consider them of significantly less benefit than having in-house development and testing. Development outsourcing in particular needs a heavy hand and constant tending. No matter how detailed and specific your spec is, there are always implementation questions and nuances that need clarity, and blocking issues that need workarounds and having a creative discussion over how best to solve the issue is critical. Not to mention that the quality of the developers is a huge unanswered question and the code you get at the end of it is written by someone that gets paid for doing this contract, not for maintainability, adaptability and clarity of the code.

    4. Re:Answer: by gstoddart · · Score: 2

      What the boss is referring to as "monkey work" is what you'd toss in the lap of "programmers" while the rest is what you'd toss in the lap of the "engineers"

      I have simply never seen the kind of "programmer" you describe. It may exist, but I've got no idea where.

      All of the development I've ever been involved was a group of people, usually with BSc's and/or MSc's in comp-sci, who did their design and development work, planned out the spec, and implemented it themselves.

      In my experience, we're the guys sitting in the meetings working on designing a solution, and we see it to its conclusion.

      I have never seen the kind of programmer you describe in which people design the whole thing, and they come in to "hang flesh on bone".

      Maybe this is unique to a certain kind of shop, and maybe I just never actually saw it -- but in my experience, that kind of distinction seems a little artificial.

      I've seen a couple of people who want to be architects and try to flesh out some high-level conceptual stuff about what we're trying to build -- but then you need to take the "we're going to build a pony" kind of design and turn that into an actual meaningful software design. Do people actually 'design' a software architecture in its entirety and then toss it over the fence as an exercise for the reader to implement? Who has that kind of luxury?

      Heck, in my experience, people who expected to have a fully fleshed out design handed to them to implement ... well, we never wanted any of those.

      --
      Lost at C:>. Found at C.
  4. It's Always Tricky by WrongSizeGlass · · Score: 4, Insightful

    You need to balance your workloads with the project timeline. If the two of you can do it on time and within your budget, then you should try to do it yourself. If not, you'll need to spend quite a bit of time managing the individual(s) or company that you outsource your project to.

    If your internal libraries are proprietary, you'll need to be smart. Don't give away the source code - just the compiled libraries. If you need to issue temporary licenses for the libraries to run (if your code requires licensing), make sure they are for 'dev versions' so they can't be used for release versions.

    There are lots of reasons to keep development in house, but if you can't do it all yourself you nee to pick your developers well. Make sure you get references and that you check all of them. Make sure they provide references for several years back so you can see if they tend to repeat the same mistakes.

    1. Re:It's Always Tricky by fermion · · Score: 2
      It seems that all of this stuff goes back to the granddaddy "The Mythical Man Month", which just gets magnified when outsiders are included in the equation.

      I recently worked on a project. Was basically given two month and a small sum of cash. It should have been a simple thing to do except for several severe mistakes.
      1) The deliverables were doubled a week after I was introduced to the project. 2) The layout of the deliverables were significantly changed after I had completed a layout, three weeks after the project started. 3) New requirements were added as the in house staff thought of them, with no regard to balancing completing the project and usefulness.

      This experience is not unique. 20 years ago I was working on project where custom control software had to be written. It was based specialized computing equipment needed to meet the demands of the equipment to be controlled. By the time everything was over, the hardware had to be replaced and everything rewritten because of arbitrary changes to what was wanted.

      So here is the takeaway. Outside developers will do exactly what you say to do. Outside developers paid by the hour will welcome spur of the moment changes and loose specifications. Outside develops who are paid by the project may deliver the minimum that the specs allow.Realize that developing the scope of the project is going to take much more time and though than just developing an idea on your own. A single person has to be able to structure the process and the components, and state in clear ways what is necessary. There may even be unit and integration testing to make sure the code meets specification. All this has to be done in house. It might be easier to write the code yourself.

      As far as libraries, I have worked with dummy libraries in the past. These are libraries that just return a few standard values, or do simpler processes, so that the higher level code can be written and tested with simple expected behavior. A trivial example would be a function that delivers a URL from the user to a web server. The real function will do all sorts of validity checks to make sure the URL is well formed and not malicious. The dummy function might just deliver several random URLs for testing. This might mean that more integration testing has to be done in house, but the libraries will be secure.

      Again, the question is will the overhead of additional planning and communication(2^N) be greater than the work done by additional employee?

      --
      "She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
  5. A company like yours needs to use resources that.. by Assmasher · · Score: 2

    ...are local.

    They don't have to work on-site, but you'll find it incredibly difficult to manage the process properly without being able to visit them at will.

    --
    Loading...
  6. Sell the business by Animats · · Score: 4, Insightful

    Try IGDA, the Independent Game Developers Association, and find a team with a track record of a game roughly similar to, or better than, the one you want. Give them participation in the deal, so they get paid a basic price plus some fraction of sales. This will encourage them to make it good, not do a half-assed job.

    Rent-a-Coder and Freelance will not help. I've never been able to get good work from there for anything above the trivial level. (I once wanted screen scrapers written for state corporation registries. I'd written one for one state, and wanted someone to write the other 49, each state being different. No joy.)

  7. Insource 'em instead by i.r.id10t · · Score: 3, Interesting

    Why not try creating a non-paid or minimally paid internship?

    --
    Don't blame me, I voted for Kodos
    1. Re:Insource 'em instead by garcia · · Score: 3, Insightful

      Why not try creating a non-paid or minimally paid internship?

      As an IT manager, we do something similar to this. We hire recent college graduates with basic skills we're looking for (Excel and basically programming exposure) and train them to do the work we need to have done.

      Now, while this works for our business and our model, it does take time to bring people on board who are not accustomed to the language we use and bring them up to speed. Depending on the timeline of the projects on hand and the time availability of those who would be working to bring associate level programmers up to speed, it may not work in all instances.

      I have a close-knit team comprised of experience professionals willing to train entry-level people to do the work both during crunch times and lulls. Both myself and my guys have the desire and availability to do this and we hope that it will continue to serve us well.

      YMMV.

    2. Re:Insource 'em instead by Barbara,+not+Barbie · · Score: 2

      Non-paid internships that do work that would normally be done by a paid employee, or that the employer derives a benefit from, are illegal under the U.S. Fair Labor Standards Act See in particular item #4.

      --
      Let's call it what it is, Anti-Social Media.
  8. monkey work? by berashith · · Score: 5, Funny

    If monkeys can do it, then just outsource it to them . I see a huge lack of perspective just from that idea alone.

    1. Re:monkey work? by rgbrenner · · Score: 3, Informative

      I think outsourcing it is a terrible idea. He should just purchase a bunch of monkeys and have them work on it in-house. Lemurs, tamarins, and marmosets are only $1500-2500

  9. You get what you pay for by ehiris · · Score: 3, Insightful

    "Monkey work" looks exactly as if monkeys have worked on it.
    If you want a high quality product, the world is pretty flat as far as cost.

  10. The Attitude Is Telling by Jane+Q.+Public · · Score: 5, Insightful

    If you are a developer, and your boss thinks programming is "monkey work", I'd be looking for a different job, right now.

    I know that's not the question you asked, but that's the answer I have.

    1. Re:The Attitude Is Telling by Barbara,+not+Barbie · · Score: 4, Insightful

      If you are a developer, and your boss thinks programming is "monkey work", I'd be looking for a different job, right now.

      I know that's not the question you asked, but that's the answer I have.

      Absolutely 100% the right answer.

      Because you're next no matter how it goes.

      It will go badly. And then there won't be the budget to fix the problem. Whose fault is that? Well, let's see ... the First Law of Business Physics is "Sh*t always rolls downhill." Since it's just you and your boss, guess who's at the bottom of the hill?

      So you will be blamed for the failure.

      Some problems are intractable - they cannot be solved under the given conditions and constraints. This is one of them. It's way past time to leave. Try to contact everyone else who's left, tell them you're ready to jump ship and would appreciate any assistance they can give.

      If the boss complains when you tell him that it can't be done, tell him you want a big raise. What's he going to do - fire you? Then he's out of a job as well. He's already looking around for another opportunity anyway ... the minute he finds one, you're dead in the water.

      --
      Let's call it what it is, Anti-Social Media.
    2. Re:The Attitude Is Telling by LateArthurDent · · Score: 2

      If you are a developer, and your boss thinks programming is "monkey work", I'd be looking for a different job, right now.

      I know that's not the question you asked, but that's the answer I have.

      Oh, c'mon. Have you never heard the term code monkey? I often have cool new features and challenging problems to work on, but you know what? The vast majority of the time I'm doing boring, easy stuff, that nevertheless needs to be done. I can't afford to just solve the complex problem and then say, "and the rest is trivial" and stop working.

      It's not a derogatory term. It's just a way of saying that he wants to outsource the things he doesn't feel like should be a problem, even if he can't interact with the programmers as often as he would if they were in the cubicle 10 steps away.

      Whether he's right and that's a good idea, I don't know. I feel like it won't work, but I'm biased. In fact, I question the wisdom of posting such a question in a site with a large concentration of US developers. We're all biased.

  11. Absolutely! by NoNonAlphaCharsHere · · Score: 4, Insightful

    By all means, hire strangers who get paid in advance and have no personal stake in the outcome.

    Who fights harder, people whose country is being invaded, or the mercenaries doing the invading?

  12. Going Through The Same Thing by OneC0de · · Score: 3, Interesting

    The company I work for is going through the same thing (roughly). We've tried to run an in-house development staff, but talented developers who don't expect six figure salaries are few and far in be-tween. In the last 3+ years we've launched 7 in-house applications that have helped us quadruple in size (revenues, profits, and employee size). Within the last few months the owners asked for another 7 projects to be completed, and to start renting out our systems to potential clients. They did not want to hire any more developers, and tasked me with outsourcing our development. They want the work done in 1-2 weeks compared to 1-2 months. So far, our outsourcing replies have all been $10K+ and 2.5 months estimated time, for one of our smaller projects. Looking forward to reading the responses on this one!

    1. Re:Going Through The Same Thing by h4rr4r · · Score: 4, Interesting

      So talented employees with valuable skills want fair pay?
      Shocking!

      Why are they willing to pay managers like that but not those who do actual work?

    2. Re:Going Through The Same Thing by dynamo · · Score: 4, Informative

      Consider yourself screwed. You are being set up.

      Let's see. Over the last 3+ years, 7 apps. Then in the last few months, they asked for 7 more, and also to start renting out your systems. They don't want to use the in-house staff, instead they want to have you take the blame for not being able to do a job in 1-2 weeks compared to what I assume you in-house staff estimated at 1-2 months. The outsourcers are quoting even longer, at 2.5 months.

      You can quit, you can wait until things fail and take the blame and consequences, or you can stand up to these idiots demanding that you find someone willing to promise to do the impossible for small bags of money.

    3. Re:Going Through The Same Thing by Barbara,+not+Barbie · · Score: 2

      Check the old comments in the minimsft blog - the entire Microsoft India operation is a long-running joke within the company.

      --
      Let's call it what it is, Anti-Social Media.
    4. Re:Going Through The Same Thing by h4rr4r · · Score: 4, Insightful

      What developer would work for less?
      The reason the last 3 were so bad, is because you don't want to pay market wages.

      If you want to attract the right developers you will need to pay $70K+ and offer insurance and PTO and 401Ks. I don't see what is so hard to understand about this. If you cannot offer insurance and 401Ks you will have to pay more in wages to make up for that. Employees need to save money and have healthcare. Why should they suffer for you?

      You have already seen that paying crap wages gets crap workers. Why continue to try to do that?

    5. Re:Going Through The Same Thing by h4rr4r · · Score: 3, Interesting

      I suggest you pay market wages no matter what else you decide. Even off shore folks will want nearly as much as you pay a developer, if they are as good they would be making that anyway.

      I realize this might be hard for you, maybe even impossible. Then you will end up with crap software. The folks you want to hire have already "put in their time" otherwise you are talking about college students again.

      I would also suggest benefits that are cheap and often overlooked; Non-fixed hours, no dress code, work from home, etc. These are all things your outsourced workers could be getting and you would never know.

    6. Re:Going Through The Same Thing by stanlyb · · Score: 2

      It is about fair play. What is sooo hard to understand??? You live in country where the fireman gets 100k+, without education, without any skills, without the brain power, without the whole live constant reeducation, and you think 70k+ is too much!!!!!!!!!!!!!!!!!!!! Holy frack, man, take some courses in math, the elementary one, and then come again and ask the same question.

    7. Re:Going Through The Same Thing by Barbara,+not+Barbie · · Score: 2

      Again, your experience, your "putting in your time" is irrelevant.

      The only reason you did so was, as you admit, that you were bored. So switching scratched your itch.

      Other people want to work to make money. That's their itch. You're going to have to pay market rates, or you're simply not in the market. Why should a total stranger agree to waste time at a lower rate of pay so that your employer can reap the benefit for the next two years while you guys get your act together?

      If you want to pay less, you're going to have to offer to scratch other itches to compensate. Telecommuting is one. Flex time is another. Giving them more authority to make design and implementation decisions is yet another.

      --
      Let's call it what it is, Anti-Social Media.
    8. Re:Going Through The Same Thing by Barbara,+not+Barbie · · Score: 2

      I understand their issues, developers are expensive, and cheap ones produce shoddy code

      No, you don't. You left out part. "developers are expensive, and cheap ones produce shoddy code, and the company is so incompetent (and/or bloated) in terms of management, marketing and sales that they can't produce enough perceived value to be able to pay market rates."

      They're doomed.

      This is a death spiral.

      In the end, they'll close up, the companies that did the outsourced work will have the code but no customer, no worry about being sued, so you've financed the creation of a foreign competitor for what were your products. Way to go, Charlie Brown. The New American Way. To Eleventeen!!!!

      --
      Let's call it what it is, Anti-Social Media.
  13. much more time to be spent on req spec by Vo1t · · Score: 2

    Outsourcing doesnt have to be to a foreign country, it happens all the time. There are organizations with big IT departments that choose to pay outside company to do the work. Is that a good idea? It depends, as with everything. You have to realize that you will spend much more time on specifying and verifying the implementation of requirements, interfaces, etc. than if the developers were in-house. If you don't do that then you're going to fail. This increase of specification cost, is due to communication problems with external parties. If you are prepared to stop coding and start managing - why not go for it. Just be careful and precise with requirements, including non-functional ones (performance, etc.). Always mention that you won't pay if it doesnt adhere to the spec and good practices. If you are going to own their code later on, you should also enforce some standards, frameworks used, etc... You do see where I'm going? You can outsource the grunt work, not the thinking.

  14. You are no longer a developer by cryfreedomlove · · Score: 3, Insightful

    Your new job is to manage outsourced developers doing 'monkey work'. They will do it badly and you will have to pick up the pieces. There is a huge shortage of strong developer talent out there. Therefore you should have little trouble finding a new job that is a better alignment with your passions. If it were me, I'd be looking to leave the company you are at now.

  15. Don't do it by codeToDiscovery · · Score: 4, Informative

    We have an offshore team in country [X] working on feature work and bug fixing on our enterprise level software product [X]. It is a horrible nightmare. Offshore creates more problems than they solve, they don't respond to explicit direction, they double, triple and sometimes quadruple bill while simultaneously producing very small amounts of actual work. We finally had to cut off their access to source control, and all check-ins have to go through an onshore dev for approval before it can be integrated. We are letting them go in the next week or too. But seriously, it can really be a waste of time and money for all involved.

  16. it depends by w_dragon · · Score: 2

    Ask yourself this: What are your clients paying you for?

    Now, whatever you do, don't outsource that!!!

    If you're really good at designing games that meet your clients needs then it may be worthwhile to outsource the actual development of the game once it's designed. In my personal experience this is unlikely, as the design and coding phases tend to be highly coupled, especially in smaller companies. Likely you don't create detailed enough design documents for an outsourced team to fully understand and execute your vision.

  17. A couple of ways of looking at it... by cdrguru · · Score: 4, Informative

    First off, if your company was in business to make wrenches, would it be smart to pay someone else to make wrenches and just sell them? Or, would it make more sense to be making wrenches better than other people and sell those? See, one way you are a sales company that isn't making anything and the other is you are actually making something. Same goes for software, trust me.

    For a software company you might have some old products that could be pushed off onto some other folks for maintenance. Or, you could consider outsourcing accounting and bookkeeping. But outsourcing the core product(s) that establish your identity for the future is ... well, madness.

    The basic problem is the folks you outsource to are looking for a paycheck and have little interest in a product. You, on the other hand, count on a product as a way of surviving into the future. To tie yourself to some folks doing this with little supervision (and don't kid yourself, there won't be anywhere near enough) for the future isn't going to work out well. I have heard of this with a number of organizations and while they can get some cheap development done, it is generally something that simply needs to be redone on a crash basis when customers start noticing defects and quality problems. Also, you will find a lot of outsourced development done exactly to specs - and done in a virtually unmaintainable manner. It does exactly what was specified, no more and no less - but to add some new feature takes a huge amount of effort because there was zero flexibility written into the code.

    Yes, having developers in house is more expensive, no doubt about that. For things that are not critical to the business at hand you can outsource and get reasonable results - it may have some problems and may not be as flexible as you would like but you can live with it. Core product functionality on the other hand you better have a lot better control over and instill quality and flexibility in the development team from the start. Can't do that remotely when the team changes every week - which is common for such arrangements.

  18. Re:Is it just a bad idea? by localman57 · · Score: 3, Insightful

    The other thing is that you can't just look at outsourcing as being the same as you having programmers, but in a different building. You aren't going to be walking by their desk every couple of hours, and see what they're doing. Managers are often used to being able to do this. As a result, many companies that aren't used to outsourcing have weak requirements specification processes. They just notice when what's being made isn't what they want, and fix it early. With outsourcing, you have to put more effort in on the front-end requirements, or you'll get something that isn't what you want, even with a competent outsourcing outfit.

    You have to trade this off against the flexibility that an outsource outfit gives you. You don't have to spend time and resources recruiting. You don't have to provide office space. You don't have to worry about what to do with the people if your budget or needs dimish.

  19. The other side... by roninmagus · · Score: 5, Insightful

    I'll come from the other angle. I'm a consultant developer full-time. In order to be successful, don't keep the guys at arm's-length. Yes, they will need access to core libraries, and anything else that will make their project successful. You will need to put in place adequate agreements to protect your IP, however. Set milestones for them to reach, and have regular (but not overwhelming, once a week should do) contact with the developer to discuss their progress. Verify they will be using technologies that you are comfortable with. The consultant knows better their own work-pace than you do. Allow them some leeway to set their own development schedule, making sure that it fits in with your ultimate deadline. Often, you will not be their only client. It's tough as a consultant to make everyone feel special. I often have 3-5 projects I'm juggling at a time. Of course, you will need to get the warm and fuzzies that they are devoting adequate time to your project, but try to get a feel for their existing workload as well before moving forward with them. Just my two cents.

  20. so, what do you do? by DaveGod · · Score: 4, Insightful

    I'm curious, if you're outsourcing development what is it that the business actually does?

    I mean fundamentally. What is it your company offers your market? What value does it add, if someone else is doing the work? Why wouldn't customers cut out you, the middleman? How does it control everything that matters - supply lines, production, IP, quality, direction, and so on?

    An organisation is just that - an organisation. It doesn't fundamentally matter what's in-house and what's out, as long as it's organised i.e. controlled. However, it is dramatically more difficult when it's outsourced.

    Consider say Apple. It outsources production but retains everything else internally. What it has outsourced can be very heavily controlled because it's all extremely highly specified and those specifications are of a nature well suited to contracts.

    1. Re:so, what do you do? by DerekLyons · · Score: 2

      Why wouldn't customers cut out you, the middleman?

      Because they don't want to do all the work the middleman does. They don't want to write the spec. They don't want to monitor progress. They don't want to do the testing and validation. Etc... etc...
       
      My wife's company looked at "cutting out the middleman" for the vertical package that runs the company - and recoiled in horror when they found just what it meant to be dealing with the end developers.
       
      Not to mention the end developers weren't particularly interested in dealing with the end users in the first place - they wanted to sell wholesale, not retail as it were. The consulting company bore the brunt of support and determining the difference between PEBKAC and actual bugs, the developers got a check and a single prioritized list of bugs and features... which was a huge win from their point of view.

  21. My advice by Zontar_Thing_From_Ve · · Score: 4, Interesting

    As an IT professional with over 25 years of industry experience, I can tell you that if you outsource you need to be very explicit about what you expect them to do and what deadlines there are. VERY explicit. You can expect no thinking outside the box. I'm going to give you an example. Let's say that due to some mistake on your part that you asked them to build you a car that blows up and kills everyone inside when you turn on the ignition. You would hope that if you did that that the outsourcing party would contact you and say "Did you REALLY want us to build a car that blows up when you turn on the ignition and kills everybody inside? Because that is exactly what you asked for." They won't. They'll either shrug their shoulders and build your death car or they simply will assume that maybe you have a very good reason for asking for a death car and it's not their job to question it.

    The quality of work you get from outsourcing is arguable. I work for a Fortune 300 company who I am unwilling to name, but I can tell you that we outsource some programming to our employees in India. We're pretty selective about what we give them, but they do good work. However, the vast majority of the workforce there is not given our most crucial tasks to implement and those continue to be done in our US office. I would say that easily less than 10% of the programmers we have who actually live in India are allowed to work on truly critical tasks for us. Finally, do note that if your software needs are proprietary and a competitor might pay to have access to your code, there is absolutely nothing you can do if someone in a common outsourcing county is willing to sell dumps of your code for cash. Laws are very weak in those countries and they are always in favor of the locals rather than "rich foreigners". In a worst case you'd actually have to outbribe the judges in the country to get any justice.

  22. Leave. by Alex+Belits · · Score: 2

    'monkey work'

    Leave. Now.

    --
    Contrary to the popular belief, there indeed is no God.
  23. Update your resume. by Xiver · · Score: 2

    I wouldn't usually say this, but you need to update your resume and start looking for a new job. Its only a matter of time before he realizes that he can outsource you too.
    I've seen the follow three scenarios play out, usually its number 2.

    1. You find cheap professional quality developers who are available for your entire project cycle and do excellent work. Do they have anyone that can do your job?
    2. You find cheap developers who hold it together long enough for them to find a better job. You'll really know your in trouble when you're on your third or fourth set of developers and the project appears to be going backwards. Ends in disaster.
    3. You find cheap developers who can't find a better job and stick with your project for the entire cycle. Ends in disaster.

    --
    10: PRINT "Everything old is new again."
    20: GOTO 10
  24. Not if your business is making software by MillerHighLife21 · · Score: 2

    You are talking about outsourcing the core focus of your business. That is a big fat no. If you have a store and you want to sell things online, contract, outsource, whatever. You make your money on the margins of your merchandise.

    If your business is making software, you are outsourcing your core business model. That is a recipe for disaster.

    --
    "Don't teach a man to fish, feed yourself. He's a grown man. Fishing's not that hard." - Ron Swanson
  25. Horrible, Terrible, Awful idea by Anonymous Coward · · Score: 2, Informative

    I've been through outsourcing at two companies, and it just doesn't work, especially for smaller groups. I could see it working if you have a large team, you have some repetitive, cookie-cutter development tasks, you've done this task a million times yourself, and you know exactly how to give the task to someone else. And you already have the tests to verify that the product actually does what it is supposed to do. And you have managers already managing that same work internally. This just isn't you.

    I strongly agree with other posters here: If these arguments are not persuasive to your partner, you should find another job, and let him find the monkeys.

  26. Re:Is it just a bad idea? by localman57 · · Score: 5, Insightful

    Then again, the non-idiots are less cheap and sometimes that can be a turn-off for decision makers who are more focused on the bottom line than on the quality of the work.

    Exactly. There seems to be this myth around outsourcing that somehow there's a magic method by which an outsourcing company can provide you engineering or programming effort for less than what it would cost you to hire someone of equal quality, despite the fact that the outsource company has to provide facilities, licenses, computers etc for that person, and also make a profit. This just isn't going to happen. You go to outsource for business flexibility, or in order to gain access to expertise that you don't have internally, and don't want to pay to hire over the long term. If it seems too good to be true, it is.

  27. Xmas? by Jezza · · Score: 4, Funny

    Isn't this like asking turkeys to vote for Christmas?

  28. Ask Slashdot: Would You Like to Be Unemployed? by Sir+Realist · · Score: 2

    What a strange place to ask this question... unless you're just looking for us to cooborate your already fixed opinion. Of course Slashdot thinks its a bad idea; this place is full of programmers who don't want to see their jobs outsourced. Might as well ask oil executives their opinons on solar energy and alternative fuels.

    (Of course, someone will now contradict me by posting in favor of outsourcing. We're not just geeks; we're contrary Slashdot geeks...)

  29. Run away ... by gstoddart · · Score: 4, Insightful

    I used to work with a team of developers, but for reasons outside the scope of this question, my boss and I are the only ones left. My boss says that our new strategy is to use outsourced developers to do the 'monkey work' for us.

    You have no hope in hell of keeping a product going. You have no way of enforcing your deadlines. You're basically middle-men who may or may not be able to cajole your supplier into doing what you need when you need it.

    The projects I've been on that have used outsourcing usually required a fair amount of management to get them to do well-defined tasks to spec, and deliver that on time and working as expected. What you're describing sounds like it simply can't work.

    If what you do is primarily make software, and your boss calls that the "monkey work", then you're screwed. That's not really a strategy which is going to work, which means your small IT company will implode in a while

    Seriously, what is left for you guys to do? Collect the money and laugh all the way to the bank? What value do you guys add at this point?

    --
    Lost at C:>. Found at C.
  30. Allow me to add my experience with outsourcing by Opportunist · · Score: 4, Interesting

    Allow me to add the CISO's view.

    We have a very good and very eager development department where I work. Despite that, the powers that be decided to outsource a very critical online application development to a third party who has allegedly more experience with this kind of online presence than our developers do. I say allegedly because of what transpired.

    The project started roughly a year ago. We built specs and I added my security requirements as usual. I didn't hear from the project manager until November, despite frequent inquiries. In an in-house development, I could have marched over to the developers (which is not the "due process", mind you, but I could actually do it!) and ask them for progress reports. I can not do that in an outsourced development where I am fully dependent on the project manager and his ability (or, in this case, lack thereof) to give me progress information.

    In November, I was informed that the project is not quite on track but it HAS to be rolled out in February. By that time, I did neither have any beta (or at least alpha) that I could even remotely start to define security tests for, nor anything else, not even a final content sheet. Of course, I did write my usual reports about it, but that only covers my ass, it does not give me a more secure project. In a nutshell, I don't have a problem with that, but my company does!

    February came and I still did not have a finished product in hand. Security tests for a project this size takes at the very least a period of a month, considering that I have to hire auditors, have them conduct audits and compile and evaluate the results. And that doesn't even include necessary fixes yet. In short, to make this whole security process even remotely sensible, I'd have to have this product in hand at least 2 months before the intended launch date. In an in-house development, I can at the very least get the unfinished product and define the testing parameters, maybe even hire an auditor and have him test the almost-finished product instead so we can at least launch with some semblance of security.

    In the end, we launched a completely untested product because the launch date could not be postponed. I wrote a report, detailing that I could not test it and hence are not responsible for any failures, which was nice for me (hey, I don't have to do my job and are still out of any obligation), but it's a catastrophe for the company should the product prove to be insecure, gets hacked and we lose a ton of critical information, both internal secret information as well as customer data.

    This is what's my horror when it comes to outsourcing. You depend even at C-Level fully on your product managers without too much of a chance to reach down the chain and yank it.

    --
    We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  31. Outsourced is Risky by scorp1us · · Score: 4, Informative

    On a professional note: I've been on a few teams where parts were outsourced, as we shook our heads in sadness at what got delivered. Now I lead the outsourced efforts, and things are much, much better.

    On a personal note: I routinely use elance.com for small project help.

    It's all in how you do it.
    1. Do not go for the lowest bidder. Go with subject matter/platform experts.
    2. Do not allow them to exercise any discretion. I mean do not leave any platform decisions to them. They will make decisions on what's best for THEM not YOU.
    3. Thoroughly review their work in a regular basis to prevent surprises. Yes, this means MORE work for SOMEONE at your office. But you won't have to pay X people for multiple years, just a few months.
    4. Don't outsource work that will take years bring them in house.
    5. Don't expect it to be cheaper or faster. But you can expect that more work will be done. If you did tip #1 correctly, you'll get it don better than you an do. And that alone is worth it.

    --
    Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
  32. That's not fare, partner by Anonymous Coward · · Score: 5, Funny

    Hi, I am Bob from Texas. I think you are becoming to be unfair to Indian programmers. Indians work diligence at programming trade and have many skills of which may be offered. First place, they speak fluency English. Also, they make for hard work for modest pay. I think you should be finding them to be good workers with code of great significance.

    1. Re:That's not fare, partner by Anonymous Coward · · Score: 5, Funny

      Please do the needful, today morning.

    2. Re:That's not fare, partner by Hognoxious · · Score: 2

      Revert the same if necessary.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  33. Agreed by nirgle · · Score: 2

    I'm an "on-shore" dev for my company which has hired contractors from India to work on our flagship internal product for literally years now. I can add nothing that hasn't already been sung from the chorus of outsourcing detractors, except the old saying, which I haven't seen posted yet: If you think it's expensive hiring professionals, wait until you hire amateurs.

  34. well, there's your problem, right there... by Thud457 · · Score: 4, Insightful

    I used to work with a team of developers, but for reasons outside the scope of this question, my boss and I are the only ones left.

    I suspect this actually gets right to the heart of your problem.
    Just look at the other responses that basically say you boss has no respect for what you do, you should GTFO NOW.

    --

    the preceding comment is my own and in no way reflects the opinion of the Joint Chiefs of Staff

    1. Re:well, there's your problem, right there... by WaywardGeek · · Score: 2

      Yes, staying in a dying group sounds miserable. I'd find another job. As for out-sourcing to India or any other country which has cheap skilled programmers, it depends on whether this code is central to your business. In short, no matter what protections the software consulting firm offers, if your code has real value in your industry, you soon will find that competitors are being called by ex-employees of the consulting firm you hire, with offers to develop code that works a lot like yours. Whether they actually steal the code is not relevant, because just working with your code will train them to be able to re-implement it quickly. And, just to be clear, they will steal the code, if for no other reason than to be able to read it at their leisure from home. I'm not making this up. QuickLogic, where I wrote a lot of the place and route tools in the 90's, out-sourced software development to India, and now you can hire these guys to do FPGA P&R of a new FPGA for about $150K. Silicon Blue used them, and now they compete with QuickLogic.

      The best code to out-source is code you don't mind making open-source. It can't be stolen in this case. If it's code you have to have, but it's not code you need to keep secret for any major competitive advantage, make it open source. Then, find the best low-cost programmers available to work on it, which more likely than not will not be in India.

      The reason good skilled programmers continue to work very cheaply in some countries is that those countries do not enforce copyright laws, and thus "intellectual property" has no value there. Since code is just IP, it has no value. If you can get paid to write code at all, count yourself lucky.

      The normal plan for a poor country to grow it's tech industry is a bit more realistic than stealing underwear and profiting:

      1) Encourage your population to steal inventions and violate copyrights. They'll love you for it. Pass IP protection laws but don't enforce them.
      2) Hire out your skilled engineers and programmers cheap. Let them live in poverty while learning valuable skills.
      3) Enable home-grown IP companies by enforcing copyrights whenever the copyright holders live in your country. Continue to violate the IP of other countries with a passion.
      4) As your home-grown industry generates wealth, you'll be forced to pay your techies higher and higher salaries.
      5) Become a normal world citizen nation, fighting and bickering over IP at the ITC, winning dominance in some areas, losing in others. Start out-sourcing tech development to lower wage countries.

      We saw this path in Japan, who's low cost high-tech labor for years were a nightmare for Silicon Valley. We saw it in S. Korea. The only major headache with India is just how huge India is. They will eventually fulfill the steps outlined above, but in the meantime, they're one hell of a lump in the snake. Digesting China is no picnic either. The poor souls in Taiwan, unfortunately, are not on this plan. The government requires low paid skilled labor to run all the fabs, so intellectual property is not gaining any protection or value there.

      --
      Celebrate failure, and then learn from it - Nolan Bushnell
  35. Bring in actual monkeys by sesshomaru · · Score: 2

    You know, instead of outsourcing the "monkey work, " they should bring in actual monkeys to do it.

    They could pay them in bananas!

    Unless, of course its not actually "monkey work" and rather something that would be better done by hiring competent software professionals.

    --
    "MIT betrayed all of its basic principles."
  36. Monkey Work by Ukab+the+Great · · Score: 3, Funny

    My boss says that our new strategy is to use outsourced developers to do the 'monkey work' for us.

    I don't think this strategy is successful for producing great software, but given enough time your outsourced developers might write Hamlet.

  37. Re:If designed properly .... by berashith · · Score: 2

    look monkey, you are to do, not to question. If you question, then you are no longer a monkey, and you will be fired.