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?"

403 comments

  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 Anonymous Coward · · Score: 0

      No the problem is, no matter who or what work you outsource, you need someone to double check the work (whether the work was done internally or externally). The more problems there are, the more work there is for quality control, the less time/money you save on having the job outsourced in the first place.

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

    7. Re:Just remember by JackieBrown · · Score: 1

      That is a simplification. 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.

    8. 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.
    9. 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
    10. Re:Just remember by Nadaka · · Score: 1

      Did you miss the part where he works in the mid-west?

      I presume he is talking about Ohio rather than India.

    11. Re:Just remember by Anonymous Coward · · Score: 1

      Spend time drawing up the schematics to the software you want. Be very specific (Button X goes here, Button Y goes there, button X does this, this way) etc. You will then know where things are going to get hairy or need real experts at. Spend time on planning it out and only plan what you know you are going to need; if management says "we don't need time to plan, here I'm going to make a power-point for this and that'll be the plan!" 6 months later they will be sitting in your cubicle with "ERP Resolution Integration" or some other nonsense written on your action-item board telling you that you need to implement it and the amount of detail that'll be there will be about as much as a 5 year old drawing a housing schematic with crayon. The inevitable end to this managerial behavior is you lose your job.

      From there, shop around.

      For non-critical components that are kindergarten simple that require a lot of time to build (Graphics, tables, etc), those can go to India if and only if you will never need support for it and you don't care about confidentiality, security, or the time table slipping.

      For Critical components, outsource locally, be specific, make the firm sign on the line which is dotted, and do a net-90 (do the work now, payment is due over time) with them. If they fudged it up, you withhold payment until it is fixed. If they balk at the quote, tell them you'll go down the street.

      Whatever you do, Avoid companies with a history of Human Trafficking and Slave Labor violations. If they're willing to do that, they're willing to take your money and run.

      And "For reasons outside of the scope of this question"; you either fired everyone, or had a programmers walk. If the programmers walked you NEED TO ask why before continuing on. And if you fired everyone there's an underlying issue there that needs to be addressed (like funding, or a codebase killing an unprofitable company, or a security issue with packages being sent to someone's house without an order being made, etc).

    12. Re:Just remember by Anonymous Coward · · Score: 0

      My best answer would be to look up the definition of treason before throwing it around like that. And maybe a sedative.

    13. 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.
    14. Re:Just remember by Anonymous Coward · · Score: 1

      I took on job as a technical analyst for a large bank that outsourced its development in India and China. The developers were competent, friendly, but... There are three axes of optimization, time to delivery, quality or cost. Pick a maximum of two out of the three. Most often time to delivery has been chosen. The code delivered does the necessary calculations, but in an inefficient way... One example was a credit rating risk stored procedure using about 3000 lines of code that ran for five hours. When rewritten using set based SQL, (max 3 pages) the demo procedure ran in less than twenty seconds. The real costs are in the software testing. It is not economical to go back to retest each modification. By the time you have to pay for unit, integration, system and user tests most changes are no longer interesting.

      When you find code with thousands of lines of code, with few comments, you will need a lot of time to delve into it to understand what it is doing. Then you need to prepare your own tests, before starting any modifications. The developer in India may have quit or transfered to another project in the meantime. The entire overhead to get another developer up to speed has to be paid for again. I sincerely think hiring a local at Swiss wages would have been cheaper, faster, better quality.

      Do consider paying the plane ticket and lodging so at least one of your offshore developers can come in and work locally. This builds the team spirit, and helps to avoid costly misunderstandings, particularly in the planning and specs stage.

    15. Re:Just remember by Anonymous Coward · · Score: 0

      Not necessarily : my company has started an IT branch in India, which develop software for internal use. So they are our employees in every sense of the word, but it's still oursourcing.

      Personally i'm not happy about it , because they basically took the job I loved for many years, but I do understand the reasons, and i'm sure it will work out in the short term.

      In the longer term, i'm not sure so sure it's a good idea : as you become more dependent on offshore developers, you need more of them, so they are in higher demand. As a result, you will need to pay more to attract them, and pay a lot more to keep the good developers ( who also know what they are worth offcourse ).

    16. Re:Just remember by sjames · · Score: 1

      They care about their paycheck and their job. That means to that limited degree they care about THEIR employer. In turn, you are one of several clients that their employer cares about. If you're not their most lucrative client, you might not get much priority there.

    17. Re:Just remember by cristiroma · · Score: 1

      People like you and your company should be expelled for treason, what traders to the American worker.

      Yeah, teach him a lesson about American worker! Now go get your Mac and remote control and jump on the couch... and tomorrow, do not forget to suit. Everyone!

    18. Re:Just remember by Billly+Gates · · Score: 0

      I was going to add that outsourcing depends on your business processes as efficiency takes a HUGE nose dive and the cheap labor costs have to outweigh this. You hit the nail for me.

      Unless you have a hug office and team like if you are IBM, Home Depot, or some other large corporation with large staff that is there with the programmers it will be a waste of money and a big risk.

      His company is small and without business processes and oversight it is doomed to fail. India and China do not function like the US. People steal your ideas, sell your product at counterfeit places, employees leave, and they do not give a damn about a deadline like Americans do. All these do not work in your favor unless you can enforce it with a large internal presence already located over there.

    19. Re:Just remember by jellomizer · · Score: 1

      Well the real question on how much is actually "Monkey Work". I found with out source a lot of time, I give them specification like.
      Create a form with these fields and place them the database table x which is already created... 4 days later, I found out they they haven't created the form or placed the data in the table. Because they decided to take the time to research how to code in C#.NET because I never told them what language to do it in.

      Outsource Labor (International) only really works well for data entry.

      If you hire US consultants and contractors to do the work by demand, then you get a different story. These guys want return business, so they will will work hard to make sure they do a good job, and think for themselves.

      When you say Monkey Work you really get Money Work, anything that requires abstract thought just will not get done.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    20. Re:Just remember by Anonymous Coward · · Score: 0

      I think you missed this part:

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

      And to the other comment, maybe us Americans have been taking sedatives for far too long and is the reason we have like no jobs.

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

    22. Re:Just remember by Anonymous Coward · · Score: 0

      Totally agree!

    23. 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
    24. 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.
    25. 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.
    26. Re:Just remember by multicoregeneral · · Score: 1

      That can be just as problematic in many of the same ways.

      --
      This signature intentionally left blank.
    27. 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.

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

    29. Re:Just remember by Anonymous Coward · · Score: 0

      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.

      Not only that --> garbage in = garbage out.

      By the time you write up the specs in enough detail to get back work of a sufficient quality you should have just written it yourself.

    30. Re:Just remember by Anonymous Coward · · Score: 0

      If you hire US consultants and contractors to do the work by demand, then you get a different story. These guys want return business, so they will will work hard to make sure they do a good job, and think for themselves.

      This seems like an example of thinking for themselves:

      Because they decided to take the time to research how to code in C#.NET because I never told them what language to do it in.

    31. Re:Just remember by elgeeko.com · · Score: 1

      Money. That's our excuse. Not because it's "cheap" to hire those guys, but because their work tends to be solid and reliable. We didn't pick them because they were inexpensive, we picked them because after years of chatting back and forth on several tech sites we gained a huge respect for their knowledge and skills. By choosing people who have serious talent we've grown, which has let us hire more people full-time, American People, who live right here and come to the office everyday. So occasionally tossing some projects out to people elsewhere has made us more effective and have helped us create American Jobs and have put more money in our pockets. So our lame ass excuse is capitalistic greed and it don't get more American than that.

    32. 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.
    33. Re:Just remember by LifesABeach · · Score: 1

      Prove it AC; otherwise, I'm calling you, "a d@__ liar."

    34. Re:Just remember by LifesABeach · · Score: 1

      It appears the group that does your deadlines should outsource that to India also? And that way your business won't have to suffer from bouched dead lines?

    35. Re:Just remember by Rob+the+Bold · · Score: 1

      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.

      There you go, as the MBAs say: "leveraging your core competencies".

      --
      I am not a crackpot.
    36. Re:Just remember by jgrahn · · Score: 1

      Communicating with people many timezones away is hard when they are great people and horrendously time consuming otherwise

      Hell, communicating with people on another floor in the same *building* is hard. Nothing beats having all the people you need to talk to so close that you can see them from your desk, have lunch together and so on.

    37. Re:Just remember by Anonymous Coward · · Score: 0

      We actually remain ourselves competitive while providing cost-effective development, quit with your FUD.

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

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

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

    41. Re:Just remember by Anonymous Coward · · Score: 0

      Sounds like you have great developers offshore. I've also had some very good (and some bad) luck with offshore developers -- just like with programmers residing in the US.

      However, if you want top programmers, you really have to consider going offshore because there just aren't enough in the US who are good to meet the demand. There are a lot in the US who are good (just not enough) -- unfortunately, they are overwhelmingly outnumbered in the US by developers who think they are good and are not. The latter group are mostly the ones I find moaning about "offshoring" -- the top programmers seem to prefer to work with top programmers in India than a mediocre annoying programmer in the US (although, everyone hates the timezone issues!).

      Note that I'm not talking about high level "blank sheet" architecture of complex projects. I've not had any experience offshoring that but would be very cautious of doing that for a product destined for the enterprise market.

    42. Re:Just remember by Anonymous Coward · · Score: 0

      Although, it is a little more convenient to show up at their door with a baseball bat if they are in the US.

    43. Re:Just remember by dehole · · Score: 1

      The customer pays the company extra, but they company in turn wouldn't pay the developers who are burning the midnight oil extra. "Want it a month sooner? Sure, we can do that for you"

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

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

    45. Re:Just remember by Barbara,+not+Barbie · · Score: 1

      There's another problem - as you continue to offshore, you lose the ability to bring in people at the entry level locally. So what happens when a significant portion of the local labour pool can no longer get an entry-level job?

      The answer is more insidious than you'd think at first glance. Not only do the entry-level jobs disappear, but eventually so do the mid-level jobs, since you don't have anyone local who's grown into the position. Repeat often enough, and the local industry is dead as more of the work just "naturally" shifts overseas.

      It's the same thing that happened with electronics manufacturing - everyone's in China now because everyone else is in China. No wonder software development is a dead-end career.

      --
      Let's call it what it is, Anti-Social Media.
    46. Re:Just remember by White+Flame · · Score: 1

      If you outsource the *entire* project to a competent, established development team, you'll have a much better chance of getting what you pay for in a positive sense, than trying to sprinkle in disconnected external devs extremely cheaply and expecting to have a coherent production.

    47. Re:Just remember by El+Rey · · Score: 1

      Meh. Maybe 10 years ago, but not now.

      From the other side, I know a guy whose brother is in India and he says he has a hard time finding top programmers in India now because the best ones are all already working for IBM or some other Fortune 100 company that pay better than a small company will offer and also like the prestige of the well known company.

      Also, a lot of programmers in the US were laid off in the last couple of years that are very good but were just laid off because of corporate greed, so I don't think the US market is lacking by a long shot.

      I've worked with good programmers and bad programmers both in India and the US and I don't see a prevalence of good or bad in either country.

    48. Re:Just remember by IntlHarvester · · Score: 1

      They are employees of OtherCorp

      If you're lucky, they are employees of OtherCorp. It's incredibly common for outsourcing firms to sub-subcontract stuff. Or hire a bunch of temps because they're only staffed for their baseline.

      (And once you have 2 layers of PMs between you and the developers, and it takes 48 hours to roundtrip a simple question, you are truely doomed.)

      --
      Business. Numbers. Money. People. Computer World.
    49. Re:Just remember by LordLucless · · Score: 1

      Yeah, great idea. The company just pays extra to add more 4 hours to every day, and make people who've been working for 20 of them still be productive. Money can do anything! The OP said they outsourced when they exceeded capacity. He didn't say they stopped paying their own developers.

      --
      Just because you're paranoid doesn't mean there isn't an invisible demon about to eat your face
    50. 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.

    51. Re:Just remember by Anonymous Coward · · Score: 0

      It seems to me that once you've broken something up into small understandable pieces, you've practically coded it.

    52. Re:Just remember by Anonymous Coward · · Score: 0

      This (and these related comments) are focused on the cases where work is outsourced to other companies who in turn hire the actual employees. If you stop and think about this, just for mathematical reasons it makes no sense. Then there are all the agency problems as described. However, working with independents (irrespective of whether they are off-shored or not) is a very different experience. You can still get burned, but the fact is that "hiring a company to do what you used to do" is very different from "quasi-hiring someone to do what you used to hire him to do". I never contract to OtherCorp - it's a recipe for disaster. I contract very often to JoeSmith - I'd hire him full time but why? Outsourcing really is the future when done right - we will all "outsource" ourselves someday (Everyone who doesn't work in a way that directly alters material reality will, that is).

    53. Re:Just remember by SQLGuru · · Score: 1

      Im my experience, developers in India do things to the letter, nothing more, nothing less. If you've taken the time to detail your requirements as you stated, this works well. If you want someone who is a little more flexible and can "go with it" and "wing it" then you'd be better off not outsourcing to India. It's a cultural difference, but one to be aware of.

      On the flip side, outsourcing to Brazil is a little more expensive, but their culture leads to people who are more likely to "go with it" and "wing it". And with the more reasonable time difference, it is more condusive to frequent communication (which allows for the flexibility).

      Both can be good or bad experiences. Just be aware of what you want/need and choose the team that will fit with that.

      I don't have enough experience working with groups in other countries to comment on their styles.

    54. Re:Just remember by Anonymous Coward · · Score: 0

      They will not lift a finger except what is spelled out in your contract with OtherCorp.

      They are not your employees.

      Have to disagree with that. I am an Indian (in India, where else ?) who worked for a company which was following this outsource the 'monkey work' policy. It was generally a big pain dealing with the outsourced teams, even if their office was a few kilometers from ours and no 'cultural issues' to boot.

      However there are still some good guys/gals out there. One our outsourcers was Ukrainian and a techwriter helping us out in a very tight release schedule came to work on a Ukrainian national holiday. Needless to say, her company charged higher rates and the management preferred cheaper vendors who couldn't code a simple Java class.

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

    56. Re:Just remember by GunFodder · · Score: 1

      One of our better employees lives in Kansas City - rock on! I think you have brought up an important point - good talent is awesome, no matter where they live. Going forward it is critically important to find good talent wherever you can find it.

    57. Re:Just remember by RagingGolem · · Score: 1

      I work at a company(in India) that only undertakes outsourced projects to work on. We are 6K strong and work on hundreds of projects. Almost all of them are US based clients. My own project has a 4 year relationship with the customer. If what you are saying is true, how is my company still working ? How am I getting work everyday and how am I getting salaries every month ? Maybe you don't see what some other successful companies in your country do ?

    58. Re:Just remember by rtb61 · · Score: 1

      Outsourcing is not offshoring. Generally speaking when it comes to 'irregular' project development, you really don't want to increase you work force and bring it crashing back down again. Likely you will already have local contacts for some of the maintenance work, enough to pick of for catastrophic system failures and to allow better time management.

      So outsourcing development to those resources and increasing in house resources to balance out. The marginal increase for in-house resources is to try to maintain trade secrets and keep hidden successful business practices as much as reasonable whilst letting the bulk of development work out to local resources.

      Local only, because you can get a hold of them, you can hold urgent meetings with the coders, you can bring them to site to see current practices, basically you can retain much better control and keep a tighter review of progress. Smart thinking also as those local developers will always be there for maintenance and you can try to pick up any really good ones for internal staff.

      Offshoring is always a bad idea, local outsourcing has real benefits.

      --
      Chaos - everything, everywhere, everywhen
    59. Re:Just remember by cifar24 · · Score: 1
      Very true. I run a small consulting company here in India. I do notice that our developers hesitate to explicitly say "No" or "It can't be done". They don't even ask question if they do not understand something well. I'm not sure if this is a cultural influence though.

      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.

    60. Re:Just remember by Hognoxious · · Score: 1

      This explains why everyone else thinks Indian programmers are crap - you snagged both of the good ones.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    61. Re:Just remember by Hognoxious · · Score: 1

      I find that if developers need to be spoon-fed, even if they're in the same room, it takes longer to write the spec than to code it myself.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    62. Re:Just remember by Hognoxious · · Score: 1

      The commitment generally gets diluted with each intermediary between the end customer and the person doing the actual work. And it's not like homeopathy where that strengthens the effect.

      Hang on, what am I saying? it's exactly like homeopathy!

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    63. Re:Just remember by Hognoxious · · Score: 1

      I found with out source a lot of time, I give them specification like.

      Perhaps they don't understand because they can speak English?

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    64. Re:Just remember by Hognoxious · · Score: 1

      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.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    65. 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

    66. Re:Just remember by Anonymous Coward · · Score: 0

      Don't worry about it mate, those harsh comments from Americans towards Indians are only because they are hurt/jealous because they can't compete against us, Indians.

      Just keep doing your best, work hard and remain yourself competitive. ;)

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

    68. Re:Just remember by Anonymous Coward · · Score: 0

      Did somebody here order a wall of text? Anyone?

    69. 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.
    70. Re:Just remember by Lonewolf666 · · Score: 1

      I think you have some good points, but there is more to it. It seems that some outsourcers have an attitude of "get the contract by bidding low, do the minimum work to fulfill the spec, then bill the customer extra for anything that was not spelled out".

      A nice example is the following anecdote I heard from a semi-reliable source:
      1) Company orders a custom application from an outsourcer. Specification says "must have a print button".
      2) Application is delivered. Print button is there, but does nothing.
      3) Reviewing the spec reveals it only says there must be a print button. There is no specification about what should be printed.

      The tale as I heard it ended with 3), but does anyone bet against
      4) Outsourcer makes a follow-up offer for actual printing???

      --
      C - the footgun of programming languages
    71. Re:Just remember by orasio · · Score: 1

      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.

      You are making the case against overseas trade. Of course there are cultural barriers, but they can be overcome.

    72. Re:Just remember by thaig · · Score: 1

      Yes, I think that meeting the people you're going to communicate with - even once - is a big, big help. If you were going to be ultimately economical you'd meet them some weeks into the project after you've created some context and hit a few problems.

      Even so, I just don't rate the chances of success very highly. The greatest problem in my mind is timezone differences.

      People in Europe should be looking at South Africa (I'm Zimbabwean so that's not biased) or at Mauritius or other places that are within 2 hours.

      In the US I'd assume that South America might be doable - perhaps Brazil or Argentina? China and India are a bit of a nightmare and IMHO should be reserved for completely independent subsystems with very tiny and simple APIs.

      The total f-up with contracting is that in all development of a non-standard kind (i.e. innovative new ideas) your requirements are going to change from the start of the project, where you know very little, to the end where you understand the problem better. But with contracts you are setting the terms at the beginning and obviously are going to incur further cost when you realise that your requirements were deficient. Worst is that the contractors aren't going to tell you that your idea is silly and needs a 45degree change in direction since they are contracted to do what you asked for originally.

      I would try to organise the contract so that there were a number of potential work items (like an agile backlog) and so that they were scoped to be done in 2-to-4 week segments, fully tested and reviewed. I would then build in some kind of procedure for agreeing changes so that as you find things taking too long or becoming irrelevant you can adapt. I don't know precisely what to suggest here but it would have to protect them from unreasonable new demands by you and you from them not spending time on you. Perhaps one could invent an agile payment system so that you could incrementally negotiate at intervals.

      --
      This is all just my personal opinion.
    73. Re:Just remember by Eivind+Eklund · · Score: 1

      They should care about your product because they take pride in their work, because they have personal integrity around the things they have taken on. This is a product of your selection of partners.

      They should care about your product because you've communicated to them in a way that show that they're important and you care and your product is important - building loyalty to both you and the product. This is a product of your communication after you've hired them.

      --
      Doubting the existence of evolution is like doubting the existence of China: It just shows that you're uninformed.
    74. Re:Just remember by Rasperin · · Score: 1

      I've worked for multiple agencies in KCMO and I agree. You get what you pay for, you make me think of VML, but VML is multinational (Offices in London, New York, 2x in KCMO, Seattle, iirc B.C.). If you don't mind could you give a hint as to what company you work for? I'm curious for several reasons, especially if it's a good working environment.

      --
      WTF Slashdot, why do I have to login 50 times to post?
    75. Re:Just remember by Anonymous Coward · · Score: 0

      Then you obviously are getting different developers in Bangalore than I've had to deal with. Their only passion is for maximizing the amount of time it takes to do the task (ex: they once estimated 30 days to do 30 minutes of coding work) and delivering crappy code.

    76. Re:Just remember by TaxDoktor · · Score: 1

      I agree, outsourcing your core business is a bad idea across the board. I see big business in the U.S. suffering in the long term due to outsourcing to India, China and Mexico. It is a short term fix, that sacrifices your future. Typically I see this short sighted thinking with companies run by accountants and politician types. And remember.... accountants never start companies, they are just there to insure a slow painful death. Outsourcing small contained chunks of development is ok from my experience if you are concerned that you can not support more full time employees. However not keeping in-house expertise for your core business is foolish and short sighted on so many levels. Not having consistent development flow with permanent employees will also effect the quality as well. Products will start looking like IBM's Lotus Notes, a mosh pit of inconsistent crap piled on top of crap. Do your companies future a big favour and hire some permanent employees (good ones) to develop your core business and core architecture, and if you need to, outsource contained components that you can easily spec. and support/fix later.

    77. Re:Just remember by RockDoctor · · Score: 1

      Yes, we're Americans, but most importantly we're humans beings, just like those guys in Bangalore.

      You'll be getting a visit soon from the House Un-American Activities Commission.

      --
      Birds are not dinosaur descendants;birds are dinosaurs, for all useful meanings of "birds", "are" and "dinosaurs"
    78. Re:Just remember by Korin43 · · Score: 1

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

      Is this different from the US somehow?

    79. Re:Just remember by thePowerOfGrayskull · · Score: 1

      Yes. Comp sci is currently out of vogue in the US - which means a higher percentage of people who study it are actually interested in it and have an aptitude for it -- as opposed to using it to get a better paycheck, which was what we commonly saw in the 90s. In India and other nations used for cheap outsourcing, it is one of the best paths out of poverty -- thus providing a *strong* incentive for people without any aptitude to get into the field.

      All I have to back this up is many, many years of experience working with multiple different offshore contracting companies, and speaking directly to the relatively rare skilled developers and the relatively common unskilled "developers" to get a better picture of the culture that leads them into the field.

      More frustrating is that the really skilled developers with the larger consulting houses are frequently pushed into management - development becomes a dead-end career path for them.

  2. Is it just a bad idea? by redneckmother · · Score: 1
    Correct on the first try!

    Been there (more than once), done that, got the Tshirt, got it autographed, and gave it away.

    1. Re:Is it just a bad idea? by goathumper · · Score: 1

      I wholeheartedly disagree. It depends strictly on where the outfit is from and how competent an outfit they are to begin with. The problem with the selection of outsourcing options is that most of the time, the decision makers focus on cost more than on quality (because it's more expensive).

      A band of idiots will do a crappy job regardless of where they're from - homegrown or foreign. The difference lies in selecting the band of non-idiots to do the job to begin with. You'll find that things go much smoother then. 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.

    2. Re:Is it just a bad idea? by goathumper · · Score: 1

      I neglected to complete my comment - sorry! When I said "where the outfit is from", generally speaking: India and Pakistan are usually the cheapest, but have the most serious quality issues - they tend to say "yes" to everything, but in my experience they consistently under-perform and under-deliver to the point that the work has to be done all over again by qualified workers "elsewhere". Again - I'm not saying that's how ALL the Indian/Pakistani shops are, just the (many) ones I've dealt with over time have all fit that pattern.

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

    4. Re:Is it just a bad idea? by Anonymous Coward · · Score: 0

      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.

      "Stop dropping in like that!!" *whack!*

      http://dilbert.com/strips/comic/1995-05-31/

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

    6. Re:Is it just a bad idea? by redneckmother · · Score: 1

      The first outsourced development project I witnessed involved some expensive and highly recommended non-idiots. It was commissioned by a wholly- owned data processing subsidiary of a (at that time) solid and highly regarded financial institution (at the institution's insistence).

      The initial estimate was $1M and a fifteen months schedule (and was heavily sandbagged on the time issue).

      Sixteen months (and $10M) later, the project wasn't even close to beta. The parent corporation took a loss, and allowed the subsidiary to license an existing application from a vendor (the sub's initial recommendation, BTW).

      If a company doesn't listen to its internal folks, and doesn't allocate the (internally provided) resources to manage its own projects, it has a high probability of failing.

    7. Re:Is it just a bad idea? by Anonymous Coward · · Score: 1

      That cannot be stressed enough. I work for an IT consulting/outsourcing company, and many customer come to us and think that magically we are cheaper at the same quality. We're not. We're more flexible, but that's it. In the end you get what you pay for. If you want qualified staff, it's going to cost you regardless of whether it's in-house or outsourced. But if you only pay the cheapest rate possible, all you'll get are a few code monkeys from third world countries with no interest in you and your company.

    8. Re:Is it just a bad idea? by localman57 · · Score: 1

      If this is the case, you also have to take a look at the management of your own company. What were they doing when the second $1M check was written? The third? You could reasonably had an expert come in and audit the processes of the alleged non-idiot company for $20k or less. If they refuse, you cut them off.

      The fact that management kept cutting checks is likley an indicator that they didn't understand what they wanted in the first place, and kept paying the highly recommended non-idiots to rework the product over and over again until they figured out what they wanted, or ran out of money.

      One thing about non-idiots, if there's a steady paycheck in it, they'll do whatever you say.

    9. Re:Is it just a bad idea? by redneckmother · · Score: 1

      Well, as I said, it was a subsidiary of another corporation. The parent company was calling the shots, and insisted that the project continue, despite objections and warnings from those who knew better.

    10. Re:Is it just a bad idea? by Asic+Eng · · Score: 1

      You also need to make up your mind whether you want to outsource a project - i.e. handing over a spec and getting SW in return, or if you want people to work on a project together with you.

      In the former case, you want your partner company to provide project management etc. In the latter case you have temporary employees and you must do the project management, scheduling progress tracking etc.

      You should only outsource a complete project if you know the company in question has a good track record delivering those. If you can't get that - or you are going for the temp employee model for some other reason - you should not let the outsourcing company establish a project manager or some other kind of liaison on their side. You need to deal with them one-on-one, and you should interview each employee individually, and insist that they work on your tasks 100% of the time.

      Otherwise you'll get some good employees and a number of graduates who you will basically end up training on your dime. The experienced guys will be involved in various other projects and their liaison will put a barrier between you and your remote coworkers. Typically they'll sell that deal to your management by giving you the freshouts at a much reduced rate, and providing the project management for free - it's a fool's bargain.

    11. Re:Is it just a bad idea? by Hognoxious · · Score: 1

      The fact that management kept cutting checks is likley an indicator that they didn't understand what they wanted in the first place

      Maybe they knew exactly what they wanted - yachts and brown envelopes stuffed with cash.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  3. ...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.

    2. Re:...turn off the lights? by Xest · · Score: 1

      Well, there is an alternative - use local contractors, but contractors are expensive, so you better have pretty decent margins for this option to be feasible, otherwise I agree, you're delaying the inevitable - your company wont last long if you're going to use ridiculously cheap Asian software development outsourcing operations, as their quality is less than crap.

    3. Re:...turn off the lights? by Anonymous Coward · · Score: 0

      Posting AC just because:

      This info is definitely wrong in my book. I know several very profitable startups who have only a designer on staff, a marketing team, and the usual corporate bookkeepers. The dev staff is all outsourced.

      No payroll headaches.
      No employee theft issues, such as "lost" laptops that end up in pieces at pawn shops.
      Just one infrastructure connection to Tata.
      No having to call the popo on the devs smoking out in the parking lot. The Indian people are professional and serious, and get the work done.
      One small office, no boiler room of cubes needed.

      The question is, why hire someone locally who has zero experience in Java or a required programming language when you can get legions of a country's best for pennies on the dollar with just a phone call?

    4. Re:...turn off the lights? by rgbrenner · · Score: 1

      WTF? You obviously do not know what you're talking about.

      Dropbox? Uses Amazon S3.. they don't have a single server with your data on it. Ubuntu One, Zmanda-- same thing
      Amazon Cloud servers? Xen. Did you really think they wrote their own cloud software?
      Rackspace Cloud? Also Xen. And they're in the process of getting their whole platform working on openstack

      Companies rely on other companies. How is this company any different than rackspace? Both have outsourced the development of their product to someone else. They're just there to maintain the servers and answer questions from customers. Yet, I doubt anyone here would suggest Rackspace should shutdown.

    5. Re:...turn off the lights? by Anonymous Coward · · Score: 1

      You are paying the outsourced company to handle the payroll, employee theft and other inefficiencies. They are still there, I am sure.
      You are paying for the devs offices, and profits to the outsourcing company and bonuses to the executives ( mainly for deciding to hold your work up so they could shift people to the other guys paying more, or more behind than your project )

      And American dev smoke out in the parking lot no more or no less than Indian. And are professional and serious as well.
      I have worked on many dev teams in the US, I have seen plenty of commitment and over and above work ( I am not claiming foreign workers dont ) here.

    6. Re:...turn off the lights? by El+Rey · · Score: 1

      No having to call the popo on the devs smoking out in the parking lot. The Indian people are professional and serious, and get the work done.

      Yeah, because all Americans are neither professional nor serious and never get the job done... Racist much?

      Who do you think invented this industry?

    7. Re:...turn off the lights? by Hognoxious · · Score: 1

      Who do you think invented this industry?

      Not you, fatty: http://en.wikipedia.org/wiki/LEO_(computer)

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    8. Re:...turn off the lights? by El+Rey · · Score: 1

      Of course not me. How old do you think I am? :-)

      fatty? Ah, another intrepid bigot who thinks that all Americans are fat. I'm not fat so get over it.

      Without ENIAC the rest of the industry would not have happened.

    9. Re:...turn off the lights? by Hognoxious · · Score: 1

      Without ENIAC the rest of the industry would not have happened.

      You appear to have misspelled Colossus, lardass.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    10. Re:...turn off the lights? by El+Rey · · Score: 1

      Did you say Atanasoff-Berry? It was an evolution, like all science and technology.

      Still not a lard ass, though. Pretty lame that you have to resort to that kind of thing. Bad form.

      What do you do for exercise that you are so fit? I do Tae Kwon Do.

  4. 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 dynamo · · Score: 1

      That's a damn good point there.. If the boss things it's monkey work he should hire actual monkeys and see how they do. My guess is that the experiment will show he is not fit to manage.

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

      Not every company even lives to regret it..

    4. Re:Answer: by Dakiraun · · Score: 1

      Agreed - outsourcing is NEVER a good idea. Every single business I've ever seen that did it always came to regret it in the end.

    5. Re:Answer: by hendridm · · Score: 1

      Not every company even lives to regret it..

      Indeed. The bigger the corporation is, the more likely they are to thrive on wasted time, money and resources (and promote an environment where budgets/positions must be justified or lost).

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

    7. Re:Answer: by crazyjj · · Score: 1

      Programming is not "monkey work"

      It is if you don't give a shit about the quality of the final product. If they're developing educational software, if could very well be that they already have a government contract of some sort. And, if so, who cares if the final product actually works or not? Just delivery them crappy goods, and make them give you a maintenance contract if they want you to fix it.

      --
      What political party do you join when you don't like Bible-thumpers *or* hippies?
    8. Re:Answer: by Nethemas+the+Great · · Score: 1

      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". In spite of the touchy feelings and baggage surrounding these titles there is a difference. The latter deals with open-ended problems with non-obvious solutions that must be researched, thought out and designed. The former deals with hanging flesh on bone, filling in the details of an already solved problem with an already spec'd solution. It really isn't terribly unlike the development and manufacturing process of physical goods. You have a group of people that figure out what is needed and how it should be implemented, and you have a group of people that do the actual implementation or manufacturing. Sometimes the roles are shared, other times they are not.

      --
      Two of my imaginary friends reproduced once ... with negative results.
    9. Re:Answer: by Bogtha · · Score: 1

      I have to chime in here. I think there's a lot of money to be made with outsourcing. I've seen a staggering amount of money spent on contractors who come in to rescue projects that have been outsourced.

      --
      Bogtha Bogtha Bogtha
    10. 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.
    11. Re:Answer: by Anonymous Coward · · Score: 0

      How dare you question the wisdom of a 3-digit ID poster?! Jeremiah Cornelius (137) has spoken, thus it is fact.

    12. Re:Answer: by Nethemas+the+Great · · Score: 1

      I think you may be mixing in the whole "Waterfall" thing. But that's really not was I was trying to imply. What I'm talking about is where an Engineer comes in, takes higher level requirements, and maps them to a basic architecture. They design the high level components, their boundary interfaces and probably scope out some of the internals. They then hand some of the implementation work over to junior level team members and take on the design and implementation of others parts themselves. Rinse-repeat until release. It's the part that you'd hand over to the "junior team member" that's being referred to as "monkey work". The junior member obviously is going to have to put some design work of their own into things, but they know what's expected in terms of inputs, outputs and behaviors of the part they've been charged with implementing. The engineer works from a substantially cleaner canvas and their work informs that of others. The size of the project and/or team and level of formality at the dev-house usually dictates just how much "freedom" is given to the junior member to implement according to their own ideas. In some shops they're allowed to take pretty big bites, others they're a lot more "managed".

      --
      Two of my imaginary friends reproduced once ... with negative results.
    13. Re:Answer: by cowdung · · Score: 1

      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.

      I agree entirely. In 16 years I've never seen any successful project that didn't have developers that designed/planned/spec'd/implemented work.

      We're based in South America and do work for companies in the US. We don't do "monkey" work. And I think one reason why some outsourcing relationships don't work is that one side or both sides have no respect for each other.

      In any business relationship there must be trust and respect. If we cannot establish trust and respect it is better not to do the job at all.

      I have seen our folks stay up all night without pay to help a customer with an emergency situation on a weekend. Successful relationships are based on caring for the other's business. And just as we do most definitely care for our customers we hope our customers care for us as well. We certainly try hard to earn that trust.

      I'm surprised by all the negative comments on Slashdot (well.. actually.. this IS Slashdot) regarding Asian programmers or whatever. It is not a person's ethnicity that establishes his competence! Certainly in my carreer, especially when I worked in the US, I met many VERY COMPETENT Indian programmers. And I've met very excellent and professional american counterparts as well as the spoiled overpaid loser type as well.

      To regard outsourcing as some magical way to solve software development issues is insane and irresponsible. Software Development is hard. Both inhouse as well as through outsourcing. But working together on a solution can help companies deliver what they need at a timely basis and at a reasonable cost. In my work in US software companies or more recently through my outsourcing firm in South America I have found that problems are equally likely to occur inhouse as they are offshore. But you always need to be working with good people to get such problems resolved.

      I know.. I've been doing outsourcing for 8 years and my customers have stuck with us all that time and still love us.

    14. Re:Answer: by cowdung · · Score: 1

      I've found that small companies are focused on getting the job done. In large companies people are often dedicated to satisfying management. Those aren't the same things.

    15. Re:Answer: by wrook · · Score: 1

      I've always heard this referred to as "throw it over the wall" design. It's very common in government work, at least in Canada. Personally, I think it is generally a bad idea.

      The problem with software design is that the shape of code in one place can affect the shape of the code in another place. Someone who creates the broad strokes of an architecture necessarily can't look at every little detail in the system. Otherwise they would be doing everything. When the work is handed over to a junior person, the things that the junior person does can easily affect something in another part of the system. That, in itself, is not a problem. The problem comes with the fact that the junior person is constrained by what the senior person has mapped out, even if it no longer makes sense.

      The junior person has two options. The first is to take the issue back up to the senior person, who then has to update their design, inform everyone affected, get them to rework the code, etc. The second option is to ignore the problem and somehow jam the code to make it look like it fits into the senior person's design, superficially. The tendency is to do the second because 1) the senior people often get upset when junior people tell them to rework the design 2) there is no time in the schedule to rework the design 3) the senior person is not available anymore because they are busy doing high level work on another project. The other problem is that the junior person (being junior) may not even notice the issue at all.

      A better course of action IMHO is to take slices of work and have the senior program work with a junior programmer from top to bottom. After one slice is done, have the junior programmer work on something similar with regular reviews (daily at least) by the senior programmer. As the junior programmer demonstrates that they are working the way that is desired, they are given less and less supervision. Eventually they become the senior person.

    16. Re:Answer: by Hognoxious · · Score: 1

      I'm surprised by all the negative comments on Slashdot (well.. actually.. this IS Slashdot) regarding Asian programmers or whatever. It is not a person's ethnicity that establishes his competence!

      Nobody said it was. But culture *does* make a difference, and if you think otherwise you're delusional. Three things that apply to Indians (and other Asians):

          1) it's considered very bad to admit you don't know.
          2) it's considered very bad to question anything.
          3) if you change your mind - even when it's clear the original decision was disastrously wrong - you lose face.

      Those are traits that are *not* associated with good development.

      Certainly in my carreer, especially when I worked in the US, I met many VERY COMPETENT Indian programmers.

      I've met plenty of competent people of Indian ancestry. All of them had, however been educated at least from age 18 in the US or UK.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  5. 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 olau · · Score: 1

      If your internal libraries are proprietary, you'll need to be smart. Don't give away the source code - just the compiled libraries.

      This raises a red flag to me. If you can't even trust them with some code of yours they need to complete the task, it's not going to work out. Step one in an efficient business relationship is establishing trust.

    2. 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
  6. Be careful by popsensation · · Score: 1

    In my experience outsourced development requires a lot of technical planning, feedback cycles, and a strong development lead. Having the 'monkey work' done for you can end up being very costly in terms of your and your boss's time and might not really produce the code you want or need. It is certainly possible but the complexity of gaining domain knowledge of your system, the size and scope of what exists, and the pitfalls of remote team management can really become a barrier to success from this approach. In short the answer is yes, but remember that you will need to spend a lot of time and energy making sure the remote team is making progress.

  7. Outsourced by Aryden · · Score: 1

    In short term, yes, there is a cost savings that occurs. In long term, you will lose out on quality of your product or support. Most major companies with outsourced development are feeling that pain. The company I work for lost well over 2 million dollars in the last year due to the inadequacy of the offshore development teams we had. Some of the larger tech oriented companies, like HP are slowly moving their important development back to the US because of this. HP just brought around 200 SAP development jobs back to the office a few miles from mine.

  8. 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...
  9. 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.)

    1. Re:Sell the business by Anonymous Coward · · Score: 1

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

      As a reasonably good and well-paid software professional I would NOT take that offer. You are just trying to make me take the risks of sales.
      Bonuses tied directly to my own performance instead, is really appreciated.

    2. Re:Sell the business by rastilin · · Score: 1

      Yeah, pay based on performance of the product are for the founders. Employees and contractors generally expect to make a fixed sum. I'd personally prefer a fixed amount based on fixed goals for the finished product, just make sure to specify everything you need in the contract and leave enough in the budget for stuff you forgot to include the second time.

      --
      How do you kill that which has no life?
  10. what about telecomuting? by stanlyb · · Score: 1

    Actually it is as simple as that: If the guys are unable to move the telecommuting job type, then how are they going to manage outsourcing kind of development, which is much much more complicated and has a lot of more issues to solve!!!!! So, short answer, first try telecommuting, if it is not working for you, then don't waste your money for outsourcing.

  11. YES !! by Anonymous Coward · · Score: 0

    (said the wiley coyote !!)

    Better to offload grunt-work to those that are grunts !! Any high-schooler can code, and if it's one thing India/Vietnam has lots of, it is those !!

  12. 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.
    3. Re:Insource 'em instead by Anonymous Coward · · Score: 1

      That doesn't mean it isn't widely done. In a market this much in favour of employers you can get away with it. Make sure to cycle the interns. Have multiple work on the same code and don't use much of it, most of the code will be "just a learning experience". Also the interns being around will make you business look like its is still healthy and not just a corpse on life support.

    4. Re:Insource 'em instead by Nethemas+the+Great · · Score: 1

      If that is a viable solution then that would be great. Unfortunately, the nature of software development doesn't always make it easy to utilize unskilled or low-skilled individuals. Right now I'd love to be able to bring in a couple interns to deal with maintenance related tasks so we can put more focus on next generation products. Regrettably, the time required for hand holding nascent programmers in addition to bringing them up to speed on the legacy products they'd be working on just isn't in our time budget.

      --
      Two of my imaginary friends reproduced once ... with negative results.
    5. Re:Insource 'em instead by Anonymous Coward · · Score: 1

      Not going to read it, but wouldn't this be anyone? I mean technically you gain a benefit of having someone doing anything (get coffee, makes copies, etc), as you aren't paying someone else to do it.

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

    2. Re:monkey work? by berashith · · Score: 1

      hopefully only as contractors. Once they are in house, the HR costs shoot right on past the initial purchase price.

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

    1. Re:You get what you pay for by Anonymous Coward · · Score: 0

      no it isn't ! A chicken burger costs 5$ in Denver. In India the same burger would cost a little more than 1$. Electricity is cheaper, rent is cheaper (except for Mumbai), water is cheaper, clothes are cheaper, hotels and service is cheaper and so on. There is definitely a huge price difference in good programmers. Basically, you can buy good quality of life with a lot less money. In India good developers with 3-7 years experience will be more than happy with an annual pay of INR 1 million (if they don't live in Mumbai). That translates to roughly 20,000 USD annually. how much does it cost to hire a good California based developer with 5 years of experience ? 80,000 $ ? or 100,000 $ ?

      There is a reason every third major company from Silicon valley has a development and business center in India (mostly Pune and Bangalore). (if you have patience) Outsourcing works !

  15. This is how far I read. by Anonymous Coward · · Score: 0

    Ask Slashdot: Is Outsourcing...

    NO. Outsourcing anything will never, ever be a good idea.

    1. Re:This is how far I read. by ArundelCastle · · Score: 1

      Lou Dobbs would agree.

  16. If you... by Anonymous Coward · · Score: 0

    Want software that was functioning properly and won you a user base to decline and begin losing customer base: yes
    Your current support image tarnsihed: yes
    Don't care about the longevity of the project: yes
      Want money right now over legacy and future dollars: yes

  17. my boss and I are the only ones left. by Anonymous Coward · · Score: 0

    Some 'Ask Slashdot' questions make a lot of sense when you read the full context.

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

    3. Re:The Attitude Is Telling by happyhamster · · Score: 1

      >> It's not a derogatory term

      Yes it is. Would you literally tell a candidate during a job interview that they are being hired to do "monkey work?" I doubt that. And if you did, any self-respecting person would walk out. Yes, the term is thrown around behind the back from time to time, but never in one's face unless the intent is to belittle one's work.

    4. Re:The Attitude Is Telling by LateArthurDent · · Score: 1

      >> It's not a derogatory term

      Yes it is. Would you literally tell a candidate during a job interview that they are being hired to do "monkey work?" I doubt that. And if you did, any self-respecting person would walk out. Yes, the term is thrown around behind the back from time to time, but never in one's face unless the intent is to belittle one's work.

      As I said, I say that about my own work a lot of the time. Sometimes I'm doing cool stuff, most of the time I'm doing repetitive stuff that is necessary nonetheless. It's boring as fuck, but I can't just wash my hands of it, because it needs to be done. If nobody where you work does anything trivial, you don't release anything, because there's no software that isn't 90% trivial.

    5. Re:The Attitude Is Telling by Jane+Q.+Public · · Score: 1

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

      It's possible that I am wrong, but I disagree. I think the context was pretty clear, and that he thinks just about anybody can do it... thus the outsourcing.

      And that's a bad sign.

    6. Re:The Attitude Is Telling by Ryanrule · · Score: 1

      "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." code monkey : coders :: n-word : black people

    7. Re:The Attitude Is Telling by serviscope_minor · · Score: 1

      The vast majority of the time I'm doing boring, easy stuff,

      I'm going to assume for sake of argument that you are a good programmer.

      It's easy for you.

      Never underestimate what a hash of it a monkey bashing away on a keyboard will do. Go read the daily WTF, then see if you want to pay peanuts for monkeys.

      --
      SJW n. One who posts facts.
    8. Re:The Attitude Is Telling by stevenfuzz · · Score: 1

      STFU. Monkey work is monkey work. Code monkeys are code monkeys. In the military, you don't just become a general. When you are entering the military, they say, you start out as a private, is that derogatory. A entry level programmer starts in the trenches as a code monkey, period, get over it.

    9. Re:The Attitude Is Telling by Anonymous Coward · · Score: 0

      Also, it looks better on your CV/Resume to quit before the company goes bust. If nothing else it shows you weren't so dumb as to not see the writing on the wall, and that you only value a company that values you.

    10. Re:The Attitude Is Telling by Jane+Q.+Public · · Score: 1

      If you're outsourcing to "entry level" programmers, then you're a fool.

      Entry-level programmers can be had in-house for not much more than minimum wage, without the hassles of outsourcing.

      I don't think that's the situation here.

    11. Re:The Attitude Is Telling by Jane+Q.+Public · · Score: 1

      "The vast majority of the time I'm doing boring, easy stuff, that nevertheless needs to be done."

      Then either you are in the wrong position, or you have a particularly cushy job.

      If I get stuck doing boring, easy stuff for any length of time, then I tell the customer (who is my "employer", in a real sense) that my talents are being wasted and that they can -- and should, as soon as possible -- find someone else to do it for less money.

      I'm not happy doing that, and eventually that will show in my work. F*ck that noise. I move on to the next thing.

      Having said that: maybe what the boss here had in mind was in act boring, easy stuff... but I saw no evidence of that.

    12. Re:The Attitude Is Telling by Jane+Q.+Public · · Score: 1

      "... most of the time I'm doing repetitive stuff that is necessary nonetheless."

      "Doing repetitive stuff" is not programming, that's data entry. And that's beneath even "code monkeys".

      I think your definitions need a little work.

  19. Bad idea? Probably but it's your reality for now. by hal2814 · · Score: 1

    These situations rarely work out well, but you're going to have to deal with it for now or find a new job. It sounds like you're going to have to think about how to organize your projects for outside development. I'll let you in on a little hint that will help you: Your software libraries aren't worth as much as you think they are. If you have specific pieces that are outright trade secrets, lock them down, but don't be overprotective of your product as a whole. That should be handled through contracts and litigation.

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

    1. Re:Absolutely! by Anonymous Coward · · Score: 0

      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?

      John Rambo

    2. Re:Absolutely! by Anonymous Coward · · Score: 0

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

      Depends on loyalty vs pay.

    3. Re:Absolutely! by Anonymous Coward · · Score: 0

      Who fights better civilians or trained soldiers ???

    4. Re:Absolutely! by Whatsisname · · Score: 1

      Fighting harder is not what is important. What matters is fighting better, and that will usually go to whoever is the best trained and has the best equipment.

    5. Re:Absolutely! by Anonymous Coward · · Score: 0

      Vietnam

    6. Re:Absolutely! by Anonymous Coward · · Score: 0

      Why would you ever agree to pay in advance? The best thing about mercenaries is if they die, you don't have to pay them at all.

    7. Re:Absolutely! by Anubis+IV · · Score: 1

      Since your analogy isn't great, why not use a car analogy?

      Sure, you can use the Ford Pinto to get from point A to point B, but it's quite a bit more likely to explode on the way to your destination. Are you willing to tolerate an explosion?

    8. Re:Absolutely! by Anonymous Coward · · Score: 0

      Fighting harder is not what is important. What matters is fighting better, and that will usually go to whoever is the best trained and has the best equipment.

      Herodotus (The Histories, Hdt. 8.26) describes the following story: Xerxes was interrogating some Arcadians after the Battle of Thermopylae. He inquired why there were so few Greek men defending the Thermopylae. The answer was "All other men are participating in the Olympic Games". And when asked "What is the prize for the winner?", "An olive-wreath" came the answer. Then general Tigranes (commander of the Medes in the army of Xerxes), said to Mardonius (brother-in-law and cousin of Xerxes, he took over the supreme command over the Persian army in Greecee after Xerxes returned to Persia): "Good heavens! what kind of men are these against whom you have brought us to fight? Men who do not compete for possessions, but for honour."

    9. Re:Absolutely! by Anonymous Coward · · Score: 0

      Not just strangers. Strangers on the other side of the planet, divorced from time zone, culture and language with a sizable undercurrent of anti-UK, anti-white, and especially anti-US racism, working in software self-processed factories/campuses (aka 'software sweatshops') for 12+ hours a day billing to multiple projects simultaneously, on substandard equipment, tools and software.

      This will end poorly.

    10. Re:Absolutely! by mbkennel · · Score: 1

      Actually these days you have to pay the contracting corporation no matter what.

    11. Re:Absolutely! by Anonymous Coward · · Score: 0

      The Viet Cong would disagree with that. They were poorly equipped compared to the US, and not a lot of training, but they were well led and highly motivated.

  21. 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 stanlyb · · Score: 1

      In which country is your outsourcing team living?

    2. Re:Going Through The Same Thing by OneC0de · · Score: 1

      So far most of them have been in India, but we were looking at Russia/Armenia. We haven't had a project completed yet, we're in the beginning stages of proposals, etc.

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

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

    5. Re:Going Through The Same Thing by stanlyb · · Score: 0

      My experience with Indian teams tells me that they are not worth the penny. These guys are so lazy, so how to say, bureaucratic, that i simply don't have enough words in my dictionary to explain it. They really do believe that 100 donkeys are better than 1 horse! Literally. And what is more important, their education just sucks. Sorry, but these guys does not believe in Aristotle logic, but in their (who knows, maybe it is superior) Krishna/Shiva/Buddha kind of logic. Trust me, when your knowledge of math and logic are totally different with the other guy, there is simply no way you could manage anything sound and logical. Just no way. You don't believe me? Go to your local church and try to make persuade them that GOD does not exists.

    6. Re:Going Through The Same Thing by OneC0de · · Score: 1

      I can understand your point of view, and I whole heatedly agree. However, we are still a "small" company (less than 30 employees), and are experiencing these growing pains. Since so many orders and customers have come in the last 2+ years, our development needs to catch up. We spend time maintaining and enhancing the current applications we have, and have no time to create new ones. Many resumes I get for new developers are either no experience, and $40K+, plus expectations of benefits, PTO, 401K's, etc. Things we simply can't offer. And then there's the developers with experience, maybe 3-10 years+ and they all expect $75K+ with benefits. I think with a staff of 2-5 people we can get all new projects needed done this year. That's $80K - $375K a year, not including all the benefits they expect too. The last 3 developers I hired were in the middle of getting their bachelors in CS, and produced poor code that is difficult to maintain and when they leave documentation is little to none. I can't be too mad, they are learning, but it hinders our progress. How do we attract the right developers?

    7. 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.
    8. Re:Going Through The Same Thing by OneC0de · · Score: 1

      I have already stepped down as the "main IT guy" and will begin working part-time June 1st. I really like the company though, and want to see them succeed, so I'll be staying here to lead the outsourcing development process, project management, etc. I understand their issues, developers are expensive, and cheap ones produce shoddy code. For the same cost of an out-of-college dev for a year, I can *hopefully* get 2-3 projects done in 6 months time. At least, that's the expectation.

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

    10. Re:Going Through The Same Thing by Anonymous Coward · · Score: 0

      Assuming you're from the USA, are you're saying that most US teams won't be good either?

      No wonder bosses outsource. If they're going to get crap anyway they might as well get cheap crap.

      Talk about logic.

    11. Re:Going Through The Same Thing by OneC0de · · Score: 1

      Sometimes decisions come from above, and I have to deal with what I have been given. If we had millions in the bank, I'm sure we would pay the right wage, benefits, and more. The problem is, we don't have that kind of money (that I know of). I think with a other year or two of new products/maintaining our old ones, we'll get there. When I started this gig 3+ years ago, I took $30K /year, no benefits. That was a serious drop from my previous $50K + amazing benefits. The issue was, my old job was boring, and this one wasn't. There was a challenge, something new. After 3+ years, I've been given raises, commissions, benefits, etc that now surpass my previous job. But that's because I put my time in. Since finding good developers in such a competitive market place is difficult what do you suggest to attract the right people? Do we just bite the bullet and offer the whole shebang right out the gate, do we offer a probation period, or do we offshore development and not worry about anything other than them doing a bad job.

    12. Re:Going Through The Same Thing by Alex+Belits · · Score: 1, Funny

      And their US operation is the longest-running joke within the whole industry.

      --
      Contrary to the popular belief, there indeed is no God.
    13. 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.

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

    15. Re:Going Through The Same Thing by stanlyb · · Score: 1

      dont be stupid. It is simple, if you help them outsource today, tomorrow 10 local developers would be without work. You included.

    16. 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.
    17. Re:Going Through The Same Thing by Entrope · · Score: 1

      I hate to break it to you, but that expectation is ridiculous(ly naive). If those cheap, quick, outsourced projects get finished at all, the code will probably not be robust and will almost certainly be unmaintainble over the course of a year.

    18. Re:Going Through The Same Thing by Anonymous Coward · · Score: 0

      Agreed!

      We lost three guys last year, I was the sole developer at my current company and then my manager who was an ex-developer that I have to do constant code reviews when he does 'try' to help. We took 4 months looking for new developers and the company was not willing to pay market (shit, I was well below market they bumped me up else I was gone, not at market yet... but there is stuff I am working on I want to finish :P). Higher-end managers were getting sick of us rejecting people (I seriously wasted time on so many should not have interviewed but was forced to individuals) that it got to the point we ended up pulling from the crap list and selecting two of the best shitty options we had.

      The two new guys are waaaaaaaaaay below par - it has been 5 months for one and 4 for the other and they are still taking baby steps, but they both were also unemployed for a year+ and their rates are way below market (not my choice). I am LIVING the underskilled, under-experienced cheap developer hire and guess what? IT SUCKS for me and my clients.

      My only hope is one has promise so I am training him up, the other he... well I wanted to end his probational period a while ago but that would make it look like we made a mistake and was told we can't do that (fucking awesome) so I am stuck trying to get the other one to think like a developer and some useful abilities.

      Again you WILL get what you pay for and if you pay shitty rates you will find once a developer feels confident about what they are doing they will start looking elsewhere for better money.

    19. Re:Going Through The Same Thing by turgid · · Score: 1

      That's just racist bigotry.

      My experience is completely different. Their PHBs are just as bad as ours, which is the reason the developers are made to look stupid. The PHBs get in the way and screw everything up.

      When you outsource, you not only have to cope with trying to manage your own PHBs not to destroy your project, but you have to manage their PHBs too, to get to their engineers... who are just like us, only younger and less experienced (to keep costs down to maximise profit).

    20. Re:Going Through The Same Thing by BigDaveyL · · Score: 1

      Probationary period. And you may have to think creatively about how you recruit people.

      It's important to consider not everyone is willing to take a 40-50% pay cut to come work for you. You can't attract flies with vinegar.

    21. Re:Going Through The Same Thing by Ryanrule · · Score: 1

      "Since so many orders and customers have come in the last 2+ years, our development needs to catch up."

      Where did all the money from those sales go to? Bonus's for salespeople?

    22. 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.
    23. Re:Going Through The Same Thing by mbkennel · · Score: 1

      I'm getting the feeling that your boss (and probably owner) has been exploiting you for a while and you've bought the Reality Distortion Field.

      In software, larger numbers of lower skilled people cause destruction of wealth and productivity.

      How about doing contract-to-hire with a local, and supervise seriously.

    24. Re:Going Through The Same Thing by El+Rey · · Score: 1

      Stock options?

    25. Re:Going Through The Same Thing by Asic+Eng · · Score: 1

      Well, if a company doesn't have the money to pay proper wages they can instead offer stock. Certainly you can keep working for them in the hope that they'll offer you a fair wage once they make enough money, but even then you are still out of a few years savings. At some point you will want to retire and those 3+ years you lost will be 3+ years you need to work longer. Who knows whether you'll even be able to find a job when you are older, and continuous wage dumping and outsourcing will have made it even harder to get reasonably paying jobs by then.

    26. Re:Going Through The Same Thing by Anonymous Coward · · Score: 0

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

      i think that falls under: 'forgot what it was like to work my way up the chain'
      if you dont take care of your underlings then they will dry up and blow away like tumbleweeds
      and you will be doing more of the work your self lol.

    27. Re:Going Through The Same Thing by Anonymous Coward · · Score: 0

      No dress code is not a "benefit".

      If you're looking for places to work, "dress code" is a red flag to put that company to the bottom of your list.

      And put it the other way: if you need to tell people how they should dress, they are likely not worth recruiting.

    28. Re:Going Through The Same Thing by Hognoxious · · Score: 1

      Well, if a company doesn't have the money to pay proper wages they can instead offer stock.

      If a company doesn't have the money to pay proper wages is its stock worth anything?

      One could argue that one day it might be. One could say the same about a lottery ticket.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    29. Re:Going Through The Same Thing by Hognoxious · · Score: 1

      Fines for illegal apostrophe's?

      SHIIIIIIT!

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    30. Re:Going Through The Same Thing by Hognoxious · · Score: 1

      Something isn't passing a smell test here. I don't know if it's the story you're telling us, or the one your manglement is telling you.

      There's a proverb about suckers and card games...

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    31. Re:Going Through The Same Thing by Asic+Eng · · Score: 1

      Well, if you are working for a company which has no money and which you think will never be worth anything, then you should look for a new job in any case... Apart from that - it's going to be difficult to find a company whose stock is a worse bet than a lottery ticket. Even with Yahoo or Nokia you have a decent chance to avoid a 100% loss.

    32. Re:Going Through The Same Thing by Hognoxious · · Score: 1

      At least when the lottery ticket loses you aren't taxed on it as if it had won.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  22. Perhaps hire less skiolled developers/QA staff fo by D,Petkow · · Score: 1

    Perhaps hire a less skilled developers/QA staff (therefor less paid) and hand over to them the dirty work without compromising vital code and be insured against any attempts for a infrastructure security breach?

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

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

    1. Re:You are no longer a developer by Bill+Dog · · Score: 1

      Your new job is to manage outsourced developers doing 'monkey work'.

      It is he who the company has doing the "monkey work", then.

      --
      Attention zealots and haters: 00100 00100
    2. Re:You are no longer a developer by Anonymous Coward · · Score: 0

      eek, flashback comencing...
      get me the smelling salts!

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

  26. free the code by Anonymous Coward · · Score: 0

    Free the code... solves the problem of having to worry about it "getting out there". You own the copyright, trademarks, etc. There still has to be a distribution mechanism to your software. Ultimately you can compete with any competitor (seems unlikely there will be one though) who tries to sell your product.

    My company sells a unique product line up that any of our competitors could "rip off" easily enough. In fact we may be "stealing" one of our competitors products soon and selling it. The thing is you have to figure out how to do a better job than the competition.

    I'm the 90% of this companies existence. Our operation outsources EVERYTHING. Without outsourcing we would never be able to offer the quality or level of support that we do. We have operations in the UK and in the United States all because we outsource. Our competitors can't even muster up a handful of products or provide adequate support. Us? We have hundreds of products and configurations. We aren't selling it cheap either in comparison to the competition. For something you could get for free I think we do pretty well selling it. We only sell free software products and we fund numerous projects.

    The point is you should take some risks and stop worrying. Taking small gradual and thought through risks is financially rewarding.

    Ohh and we outsource to places like the UK, US, and Europe. It isn't necessarily to pay the lowest possible amount for software development or other services although it ultimately saves us money for other reasons.

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

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

    1. Re:A couple of ways of looking at it... by Anonymous Coward · · Score: 0

      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?

      I would think not, but it was a trend in North America (I don't know if it still is).

      Most dry dog food you can buy nowadays is processed and packaged in a giant third-party factory. The recipe may be different, the quality of ingredients may be different, the name on the bag is different, but regardless of brand, it comes from the same factory.

      The same was true (I think it no longer is) of the frozen novelty business (ice cream sandwiches, bars like Klondike bars and Rolo bars). The “manufacturers” no longer had any manufacturing infrastructure. The actual processing and packaging was outsourced to third parties. All the “manufacturer” had left was a brand name and a marketing department.

      Mattel no longer makes toys. It designs some (not all) of them, but the manufacturing is done by factories in China — factories that Mattel does not own. Mattel is only a brand name.

      Many (most, all?) jean companies are similar. The actual garments are made in sweatshops in the orient. The actual manufacturer is chosen on a contract bid basis. The jean company is just a label.

      The quality of the product suffers, but when all of the jean|toy|dog food|... companies do it, the customer has little choice. And when the customer can no longer differentiate products based on quality, the customer chooses based on price, which leads to further consolidation of manufacturing because that makes for cheaper (less costly) products which are also cheaper (still poorer quality).

    2. Re:A couple of ways of looking at it... by DerekLyons · · Score: 1

      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.

      As much as people are making of this difference... Beyond metaphysics I don't see a difference between a company where development and marketing come up with a spec and send it to production at the other end of the building and a company where they send it a company at the other end of a continent or the globe.
       
      You confusing a difference of degree with a difference of kind.

    3. Re:A couple of ways of looking at it... by Anonymous Coward · · Score: 0

      I think this is the key observation - if you are a software company (i.e.: that is your core competency) - then you really should try to do the work internally. If you are unable to get enough resources for the work you need then outsourcing is worth considering but you should be prepared for the consequences. Obviously it will be a challenge to manage and if there is unplanned work (scope creep) it could get very expensive.

      However, if you manufacture widgets and you merely need some software to make your life easier then out-sourcing is seriously worth considering. You don't want to be in the business of building software if you are in the business of building something else.

  29. Bad Idea by Anonymous Coward · · Score: 0

    Although it's not a bad idea to outsource some portions, it's a VERY VERY bad idea to outsource any creativity.

    For example. You can use a pre-existing game engine (Unreal) and a hire people to do the art assets, and a different team for the level designs, but everything else needs to be done in-house if you want it done properly.

    Likewise you want to have the same people doing art, otherwise you get a lot of different people that can't produce consistent artwork. 2D artwork is much easier done than 3D in this case since most 2D artwork can be churned out by the same person, where as with 3D requires several people.

    The companies that screw the pooch so to speak, in outsourcing are when they outsource the game control logic. Many Free 2 Play games that have a pay function are broken by people reverse engineering the weakest parts of the code and writing bots against it to degrade the game experience.

    If there is no mutliplayer/online support, then all you have to deal with is pirates, but even then, if you didn't write the logic, then you have to use an off-the-shelf DRM , which is easy to break since the people who wrote the DRM have no incentive to protect your product, only theirs. I've seen this many times. You're always better off mildly obfuscating and destroying the import tables or statically compiling the binary than you are using an off-the-shelf DRM/anti-hacking product.

    As a general rule, you don't outsource anything that would allow the outsourcer to strip your branding off and sell your product without you... to china.

  30. Good for money, bad for products and lifespan by s.petry · · Score: 1

    Initially, this will save a few bucks. Remember, that what ever you give to someone off shore will become public domain in very short order. This unfortunate reality has been brought to you by every schmuck company that sent programming work to China expecting to gain sales of their software in China.

    While cheaper, once you leave the US you no longer have protection for your IP. China does not care about the US patent system, nor does India, Vietnam, or hell even most of Europe. Do you have patent's in every overseas company you wish to sell your products/services like in the US? Get filing!

    Work ethic across the pond is very different. Their deadlines are not your deadlines, and they have no vested interest in seeing you succeed. They get paid to dump code by the hour. They honestly don't care if your business dies, some other schmuck company will send them their code to modify by the hour. Also, overseas does not have deadlines like we do for the most part. When 5PM comes, or when their shift ends, they leave no questions asked. Even if a customer is sitting on the phone with them. It is a different work ethic, plus if they are late and miss the buss it's a 4 hour walk home in many cases.

    Interfacing with current customers (Save your rants, this is not bias over culture, race, or nationality. It's a communication problem because of language differences) - another nightmare scenario skipped in the "but it's cheaper" logic. Plan on losing 10-20% of your customer when they realize that the person sitting in the meetings with them can only comprehend about 8% of what they are requesting. You can pay a lot of extra money for a good translator, but then so much for those big savings dumping work over seas.

    Lock down everything! They will lie and tell you they need super-user access, access to every bit of code you own, access to databases they don't need, etc... They can make extra money selling your stuff, and worse, in may cases Government officials demand that they request and give them access to things they should not have.

    --

    -The wise argue that there are few absolutes, the fool argues that there are no probabilities.

  31. You need to leave now by Anonymous Coward · · Score: 0

    My experience is that you will spend enormous amounts of your time attempting to manage this process; a process that will most likely fail. But regardless of the outcome it will take you away from development, engineering and general coding which are the skills you require to remain employed in the field of software engineering. The ability to manage off-site development as a developer yourself is not a skill that is valued highly but your tech skills are valued highly. Anything that forces the former by subtracting the later in terms of time is bad for you. So move to another company.

    Now my experience with outsourcing, even with American outsourced teams, it seldom if ever works and certainly isn't cost effective. But as I say, for you that is a secondary issue. I think you are asking the wrong question.

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

  33. TL;DR: You're screwed by Fencepost · · Score: 1

    First, if your boss thinks the programming is "monkey work" then you're already in trouble right there.

    With only two of you total, and only one person even potentially capable of reviewing outsourced work, you personally are going to spend all of your time attempting to integrate not-quite-compatible or not-quite-complete or worst not-quite-right pieces that you get from outside. If what you're outsourcing is self-contained pieces you may have more luck, but even there unless you're simply contracting some things out to a small group of outside folks then you're going to see a lot of variation. Finding qualified contractors is always an issue, particularly if you're in the financial constraints I suspect based on the shift from a team to two people.

    I can't speak well to the domestic vs. international outsourcing question, but I will say that A) your boss who's outsourcing the monkey work is going to want to put it out as cheap as possible and B) if you're outsourcing UI/content/etc. then there's going to be a lot of cultural stuff that may be subtly wrong in ways that will hurt your products.

    Without knowing more about your business this may seem presumptuous, but are you focusing on the right thing? Do you have a good framework for building educational titles/apps/games/etc.? If so, can you improve it further so you can outsource development of complete packages using your framework? Who are your customers, and are they the right customers for what you have and can build?

    --
    fencepost
    just a little off
  34. 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.

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

      I think you may have missed the part where the ENTIRE company is two people. They are just custodians of some old code at this point.

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

    1. Re:My advice by Anonymous Coward · · Score: 0

      Long time reader, first time poster.

      I work in Hungary (small Eastern-European country) at a small software firm.
      We have no product, do contract work exclusively. We have both inland and US clients. Our rates are high enough to retain the best local talent, treat them fairly, take chances with promising fresh graduates, spend time on internal trainings, etc.

      On the market, our reputation is all we have. We can afford to go out of our way to be helpful, supportive, forward thinking, "automating ourselves out of a job": It ensures continued contracts from the satisfied client, and word of mouth after a job done beyond expectations brings in more work.
      We never had a legal dispute, even the doubt would shatter our reputation.
      Oh and the timezone difference allows us to work separate shifts, cutting down on conflicts on resources and source control.

      Here are a few things I think we are doing good, it might help to look for these signs when you are looking for a contractor or add these terms to your agreement:

      - Contact people (Business Analysts, Lead Developers, whoever is in constant contact with the client) must have a good grasp of English, understanding of the culture, someone you can have a beer with and share jokes.
      - No bait and switch, the beer and jokes guy must remain with you for the whole project.
      - Rotation of developers: don't be anal on sticking to individual developers you have no contact with though. I need to rotate them to accommodate vacations, growth, etc. Don't make me burn them out.
      - Don't hire us if you can't trust us. Jumping through hoops slows everyone down and introduces errors.
      - Agile. Early demos save you a fortune on dead ends from flawed specs and misunderstandings.
      - Direct contact with your stakeholders, analysts, etc. The subcontractor already has a middleman, the contact person funneling the flow of information. Let him fan out and reach everyone he needs to talk to directly, don't try to add your own middleman.
      - Sources, builds, issue tracker, etc on your servers, you own the code.
      - Maintain internal capacity to understand the software on an architectural level, have in-house DBA, IT support, etc.
      - We don't charge in advance. Most of our work is Time and Material. You have access to our time tracker, hours tied to your issue tracker. Trust but verify.

      Oh, and if it weren't for the NDA, I could tell you guys equally hilarious horror stories about in-house developers from US companies we are brought in to rescue when they paint themselves in the corner :-)

    2. Re:My advice by IntlHarvester · · Score: 1

      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.

      I'm laughing with you, but I've worked with some Eastern European guys who will rip up your spec and then spend 45 minutes telling you are stupid for even wanting such a thing. (And likewise, there's plenty of in-house developers with the "I don't care, I just do what they tell me" blue-collar attitude.)

      In addition to very explicit specs and deadlines/milestones, the biggest issue I've seen is that companies assumes they can outsource the entire effort, and grossly underestimate the amount of internal management support required. In most cases, you'll need to match their management structure almost one-to-one; e.g. if the outsourcers have two PMs and an account rep, you will three people on your side in various roles (e.g. PM, business analyst, management sponsor). And once you've added in the needed management overhead, sometimes the cost savings is actually very minimal.

      --
      Business. Numbers. Money. People. Computer World.
  36. Only if you balance it. by Karmashock · · Score: 1

    If you're a company that CAN do something and you fire all your workers that do that thing and then outsource that function your company now can't do that anymore and you must outsource indifferent to the economics. Of course you could rehire those people and build that department up from scratch but that will take years to get right so you lose a lot if you outsource ALL of a given department.

    If you outsource half of everything across the board you retain a little more flexibility. Your company hasn't lost any core skills this way you've just reduced overhead.

    It's all well and good to call what is being outsourced monkey work but often that is monkey work that people in other parts of the company aren't good at doing. Monkey work might not be that hard but it often requires a certain stamina and precision. Sure, it's the same thing over and over. But you have to do a lot of it and you have to do it right. That isn't something people in other more cognitive departments are used to managing.

    There are also major problems with outsourcing in that you are limited to the capabilities of the outsourcing companies.

    Look at AMD versus Intel as an example here. AMD and Intel are both pretty good CPU makers. The biggest difference between the two companies is that AMD outsources manufacturing and Intel does it in house. And that makes a huge difference when CPU makers are always using brand new manufacturing methods to produce CPUs. AMD can't make the CPUs Intel makes no because they can't design them but because AMD doesn't have access to the Fabs Intel has built from the ground up and doesn't share with anyone. AMD has to use whatever they can find on the market and at least now that is all inferior to what Intel has built. So even if AMD designed a superior CPU they couldn't build it.

    Outsourcing can be great. It's a great way of controlling costs. It's a great way of dealing with new ventures by putting some of the risk off on the outsourcing agent. It's a great of way capitalizing things by becoming a smaller project withing a much larger organization. Don't let me say outsourcing is bad. It's just not always good. You have to be careful with it.

    Many companies have almost or actually destroyed themselves with outsourcing. Dell famously almost annhilated themselves with it. They went outsource crazy and not only did they build their biggest competitors up from scratch, but they also ruined their image as a company that would provide reasonable IT support. No one likes talking to a guy in India if you bought the computer in the US. If you tell them your name is "Adam" and they want you to spell it, you are in trouble. Dell nearly killed themselves with that.

    So be careful. There is good outsourcing and bad outsourcing.

    Here is the best general guideline I can make up on the spot. Does the outsourcing make your company more valuable or less valuable? If you're reducing the core value of your company then the outsourcing is probably bad. Do your customers like or notice the outsourcing? If an attraction of your company is that people get to talk to you, then redirecting customers to a third party they didn't contract with is not good.

    Good luck.

    --
    I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
  37. Not at all outside the scope by jpvlsmv · · Score: 1

    If you don't think that the reason your company doesn't have a development team is important to this question, you're wrong.

    You will not get better results by outsourcing development. There are *different* issues with outsourcing. You still have to manage them, define concrete requirements, run independent test/QA, deal with the legal contracts, handle 13.5-hour timezone differences (which makes meetings a royal PITA), etc. I'm not an accountant, but when I add all of those costs up, the $20/hour saved may not be worth it.

    Is the company not willing to pay developers properly? MAYBE you'll find cheaper programmers overseas (but see above)

    Is the company not wanting to invest in the next product by hiring developers to build it? In that case, you (in IT) would be well-advised to look for a company that will exist a year from now.

    --Joe

  38. Out sourcing good or bad ? by Anonymous Coward · · Score: 0

    The choice of out sourcing will depend on your focus on planning and documentation of your modules to be developed.
    I have managed an out sourcing business for more than 8 years now, and I often advice clients NOT to out source if they do not have the resources in house to plan, document and review the code and modules.
    Normally the best results I have seen is a split team, for ex. 2 developers in house and 3 "remote". Check your project budget, time for documentation and planning.
    SCRUM the team over borders, and let the work build up in a controlled manner. Then manage your RISK.
    As you will see, the internal cost will grow as your out sourcing resources grow. So make the right calculation on cost and make a long term plan, because out sourcing is not worth while on short projects. And will have better return of investment if the remote team work closely with your team members on a long term agreement.

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

    'monkey work'

    Leave. Now.

    --
    Contrary to the popular belief, there indeed is no God.
  40. 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
  41. Outsource vs. Offshore by Anonymous Coward · · Score: 0

    Since when does Outsource = Offshore?

  42. 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
  43. Small IT company by nitehawk214 · · Score: 1

    I have always thought of IT as a department within a company that does a particular buisness.

    Does this mean that the OP's company performs outsourced IT tasks for companies too small to need dedicated IT staff? In this case outsourcing (not offshoring) seems quite reasonable as long as it is to someone you have a good line of communications to with well defined and measurable goals.

    Now, outsourcing isn't some magic powder you sprinkle on to a project to suddenly make it more cost effective. Keeping with the presumption that the OP's company performs outsourcing tasks themselves, if they are successful they should already know how to manage contracts, and evaluate outsourced work.

    --
    I'm a good cook. I'm a fantastic eater. - Steven Brust
  44. Monkey Work? by srobert · · Score: 1

    You probably already know this, but it sounds like your boss is basically an asshole.

  45. Local, maybe. Far away, no by bryan1945 · · Score: 1

    If you can keep people within your grasp so you can yell into their faces, maybe it could work.
    If it's a distance- how often do these things work? How many stories have we read about all the problems of outsourcing distantly.

    Though it sounds like you have some more underlying issues here that may need to be examined, also. And don't forget that unless you're reviewing every line of code, you're placing a LOT of trust into these "code monkeys" who will have no loyalty to you.

    --
    Vote monkeys into Congress. They are cheaper and more trustworthy.
  46. The real problem by Anonymous Coward · · Score: 0

    Ask to see the books. What are the sales been numbers doing? Sound to me like the market is telling you to put the business out of its misery. I'm going to guess that the root cause of this is that the business couldn't make enough money to pay the going rate for the developers, and so your boss is trying to get cheaper labor in India/China/Vietnam/etc to make it work. Sorry, not going to happen. A large firm can make it work by setting-up shop and importing management. For a small business anything you gain in cheaper wages will be eclipsed by additional logistical and project management costs dealing with a outsourcing firm, and the lower productivity and quality of the work done elsewhere (yes, workers in North America and Europe really are more productive).

    1. Re:The real problem by RagingGolem · · Score: 1

      (yes, workers in North America and Europe really are more productive).

      Just like that you will say something like that ? this is crossing the line of "free speech" and moving incredibly close to *unstoppable moronic behaviour* know ?!

  47. wut is our children learning? by Anonymous Coward · · Score: 0

    Why does Adam Smith hate Americans?

    1. Re:wut is our children learning? by Anonymous Coward · · Score: 0

      Why does Adam Smith hate Americans?

      Adam Smith is dead (since 1790) so I doubt he's doing much hating now. When he was alive, the fact that Adam Smith was basically a deist, one American that he might have gotten along with might have been Thomas Jefferson (had they met).

      On americans advocating for low-paid internships, Adam Smith might argue that the wages of labour vary with the ease or hardship, the cleanliness or dirtiness, the honourableness or dishonourableness of the employment. If the work is less attractive to the worker, it would garner lower wages. Naturally, Adam Smith was against many restraints tried to limit anyone taking a work where the pay was agreeable to the worker. Not sure that he would hate on an american advocating such a position.

      On the generic America (as opposed to Americans) he was pro-agriculture, and mostly anti-merchantile (import raw materials and do local manufacturing) economy. Since this is basically what the economy of America was at the time (and probably today as well), not sure he would care too much about that aspect of America. He seemed to be somewhat of a protectionist (preferring the support of domestic to that of foreign industry), and although outsourcing would probably generally considered bad by him, the fact that merchants and manufacturers that produced goods only for the upper class were unproductive labour in his mind, he would probably care less about Americans involved in that type of labour as he was more concerned about the people in the agricultural economy (at that time the main domestic economy).

      Of course he also thought the French were stupid to waste their money supporting the Americans against the British during the Revolutionary war (an unproductive use of good labour), so maybe he did hate a bit on Americans after all...

  48. What's up with the company? by wbhauck · · Score: 1

    "my boss and I are the only ones left"
    Forget outsourcing, you need to figure out why there's only two of you left and whether or not the company will exist long enough to complete the product.

    If you want to ignore that and concentrate on programmers think of it this way: you're either in a failing company about to go out of business so no one would want to work there, OR your in a start up that some folks might want to work there.

    Failing company: you're doomed.
    Start-up company: you need to get a quality programmer with incentive to write quality code and stick around long enough to see it through. Otherwise you'll get the "I won't be here next week" mentality with a contractor. And forget off-shoring it. You'll spend more time discussing the work (then correcting what they send you) than you would actually doing the work yourself.

  49. What's "outsourcing"? Trust goes both ways... by John+Bokma · · Score: 1

    Does your boss do the book keeping or does he hire someone external to do the work?

    I am a freelance Perl programmer and companies do outsource to me. Outsourcing is just letting an external developer (in this case) do (some of the) the work. If you don't trust them with your code, you're looking at the wrong people. Outsourcing is not necessarily going to eLancer / rent-a-coder et al and trying to find people willing to do 1000 hrs of work for 20 USD.

    By the way, nice attitude does that boss of yours have: 'monkey work'. No wonder he's worried about being ripped off. In the Netherlands, where I am from, we have a saying: "Zoals de waard is vertrouwt hij zijn gasten", which roughly translates to "the innkeeper trusts his guests like how he can be trusted himself".

    1. Re:What's "outsourcing"? Trust goes both ways... by DontScotty · · Score: 1

      Why would an innkeeper choose to steal towels from himself?

  50. It depends on what business you are in by DickBreath · · Score: 1

    Whether outsourcing IT or software development is a good idea depends on what business you are in.

    If you are in, say, the Baked Goods business, or the Tire Manufacturing business, then outsourcing either or both functions is probably a good idea.

    If you are in the Software Development business, then outsourcing software development is probably not such a good idea. It would be like a bakery outsourcing the baking to another bakery. If they do that, then why do I need them? Why shouldn't I just go to the other bakery?

    - - -
    All that is necessary for Apple to triumph is for Google men to do nothing.

    --

    I'll see your senator, and I'll raise you two judges.
  51. There's outsourcing, and then there's outsourcing by Anonymous Coward · · Score: 0

    If you have specs, and can write contracts that guarantees you a quality at fixed price, then that's not too bad.

    Best is if you can open a branch in a country where you also have sales offices.

    And also, remember, India and China is not as cheap as they used to be.
    You might be better off trying places like Bulgaria.

    Also, not a good idea to treat those engineers as monkeys. Best if they get the responsibility matching their skills and experience.
    Worker retention is a big problem, and if you can't keep them for a few years, you'll waste all your resources on retraining.

    My company had some success outsources most of the maintenance work to India for the best part of a decade, but eventually, their prices went up,
    their best engineers went on to bigger things, and they eventually learned how to take advantage of our incentive system.

    If your company is small, then managing the outsourcing might cost you more than you gain.
    Outsource only the things that are not vital to you, and that others might do better such as back office functions, accounting, pay roll, tele sales etc.
    Localization is also well suited for outsourcing, if you already have done a good job internationalizing our code.

    Subcontracting is also an option, especially if you have a large but temporary project off shore.

    Core development in a small IT company does not sound like a good outsourcing option, but could work well for maintaining and supporting older versions of your products. Once they get good at that, you can start letting them have responsibility for parts of your core R&D.

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

    1. Re:Horrible, Terrible, Awful idea by cristiroma · · Score: 1

      Have you ever tried to integrate into the team, train them, get to know them as you know your colleague? Probably no, probably the project was late and your manager (who probably didn't read even "The Mythical Man Month") thought about adding hiring 100 "monkeys" for 100$/month to do the dirty work ... Have your manager tried to outsource to real programmers and prepared to pay real salaries? Au contraire, for large teams (large projects) the specifications are usually themselves blurry, so hiring outsiders in critical moments is very dangerous. Instead I would hire in advance, put them to a pilot project etc. PREPARE!

  53. What is your core business? by Anonymous Coward · · Score: 0

    While I am not a fan of outsourcing, it depends on what your core business is? If your core business is developing and selling software then it does not make sense. Inevitably when you outsource something you loose control. My business is not in the office cleaning / lawn care business so we contract a vendor for those services. This does not effect our bottom line and its the vendor that we choose does a poor job the cost of switching does not effect our core business. If you are software company you could for instance outsource accounting / legal services / even HR since they are not core to your customer satisfaction.

    From your question it sounds like you would be outsourcing your core business. To use an analogy... it would be like the local pizza shop outsourcing the production of their pizza to Domino's or Pizza Hut. That doesn't make sense. They would loose control over the quality of the product that they deliver and need to rely on a 3rd party to come up with and deliver on innovative new pizza recipes.

    It sounds like what you need to do is figure out why you are down to two developers and work on that issue, if it is an issue at all (maybe you only really need two developers). But outsourcing your core business it typically a sign of other problems and will only make additional problems down the road. Hope that helps and good luck!

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

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

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

  56. If designed properly .... by Anonymous Coward · · Score: 0

    There's a big difference between designing software and writing it.

    If your specs and spelled well, yes you can have someone right out of training for the particular language your using write the software.

    I know because I've done it. All our newbie entry level guys followed the specs and created the functions or methods that we needed.

    Like write a function that takes a character array and strips out anything that's not alphanumeric and returns void.

    Basically give them specs that look like a first year programming assignment.

    Then when they get better, they would get some design work - like write a module or class that will clean up data streams and let them go off and design individual methods.

    It's doable - easily and it saves a shit load of money not having to have an entire crew of senior level developers. Also, retention is higher because the senior guys aren't doing monkey work. I mean really, how often do you really have to code a GUI before it just becomes monotonous grunt work - even with a framework?

    1. Re:If designed properly .... by BanHammor · · Score: 1

      Wait, why the hell would you have a function doing that and returning void, when you could have done a procedure? Unless you are doing error checks, but I doubt it.

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

    3. Re:If designed properly .... by Anonymous Coward · · Score: 0

      I'm sorry, but if you are an architect and you don't write a good chunk of your design, you aren't worth spit. If you are a "senior" guy and you think you are above monotonous grunt work, you aren't worth spit. If you are a "senior" guy, coding a GUI doesn't take long. If you are a "senior" guy, the second form would take even less time because you would leverage inheritance. Maybe you are a "mediocre" guy who think's he is a "senior" guy.

      >There's a big difference between designing software and writing it.

  57. It Depends On... by seanmcelroy · · Score: 1

    Whether you're outsourcing development central to your line of business, or whether you're outsourcing route work that is not a core competency.

    Organizations that outsource core competencies dissolve rather quickly, because essentially the only value they provide is as a virtual organization that resells a service some other firm provides. One of the primary things I learned in B-school is: you never, ever outsource core competencies. But, you're crazy not to look at outsourcing the rest of the work.

    --
    Be very, very careful what you put into that head, because you will never, ever get it out. -Thomas Cardinal Wolsey
  58. Executives by Anonymous Coward · · Score: 0

    Executives can sometimes be idiots with outsourcing. They just see one hour of development costs X to be outsourced, and Y to be pay someone here. They don't take into account an outsource developer will take 2x or more time to do the same work, usually riddled with bugs, and done in a hackish non-organized manor. Plus I had the benefit of seeing some accounting work from an outsourced company, and they billed way more hours then the amount of developers they actually have.

    My company recently spent about half a million dollars to let an outsource company design and develop a "Next-gen' system, because apparently our CEO thinks we are all idiots. The project was suppose to be done in October of 2011, and they have yet implemented using the software for even one customer, and the entire system sucks. More vaporware then actual software.

    I know with a good team of 3 of our internal developers, we could have got the project done in 3 months, and it probably would have been awesome.

    But our CEO still just see's, well we spent X development hours on this project, if we would have done this internally it would have Cost 4x more.

    Hello McFly, wake Up!

    My Advice. Quit and find another job.

  59. of course, it depends by farble1670 · · Score: 1

    the logistical problems you raise (access to a shared repo, internal libs) are non-issues. there are many ways to resolve these issues ... although it may mean new tools and processes for you.

    as to whether it will save your company money / get the product out faster, that depends on so many factors that it really can't be answered. how "monkey" is the monkey work? will you get a good team off shore? how good are you at managing them? how well structured and documented is the project now?

    at the very least, you and your manager can kiss any individual work you might think you are going to get done goodbye. your new job will be directing the off shore team.

  60. More effort than you think by Anonymous Coward · · Score: 0

    You need to be willing to put in an inordinate amount of effort to write specs, answer emails (at 2 am because if you don't answer early, you lose a day of work), perform code reviews, and generally mentor the consultants up to a level of understanding that is needed to do actual development. Personally, I don't feel that this amount of effort is worth investing in a consultant. I would much, much rather invest my time in mentoring a new hire that just graduated--the effort will likely be the same, but I think it would be more satisfying training a fellow employee than a consultant that is supposed to be getting paid to do know how to do heavy lifting.

  61. Do the needful... by Anonymous Coward · · Score: 0

    ..and send it over to us.

    We shall be saying 'yes' on all the conference calls, and in all the emails, and only later on when the deadlines crunch will you discover we were programming by Google search, cut and paste, and didn't really know anything to help your project.

    We will have been promoted onto another outsourcing company by then, as senior developers, our CV and skills sheet with be 4 pages long with every buzzword from the world of Java, and we will still not be able to write hello world, without you doing then needful.

    Thank you and come again,

    Your offshore developers.

    1. Re:Do the needful... by Alex+Belits · · Score: 1

      Do the needful

      There is no need to make fun of a perfectly valid expression in the Indian dialect of English. I am sure, some American-isms sound just as bad for British ears.

      The rest, of course, describesl a very typical problem with outsourced software development, and applies to more than just one country.

      --
      Contrary to the popular belief, there indeed is no God.
    2. Re:Do the needful... by Anonymous Coward · · Score: 0

      This a thousand times over.

      So true.

    3. Re:Do the needful... by Anonymous Coward · · Score: 0

      If you've ever managed offshore developers directly, it really is difficult to communicate.

      1. They are terrified of losing their jobs and don't announce (or admit) problems.
      2. You can't communicate during regular work hours.
      3. You can't see what they're doing, or casually notice that they're implementing something in a totally unmaintainable way.
      4. You don't have a basis of cultural understanding. And they never really grasp the requirements, no matter how much you explain.
      5. No matter how much you carefully explain, people will nod, pretend, and continue to not-get-it.

      Imagine writing software to be used by hipsters at coffee shops on iPhones — when you've never met a hipster, been to a coffee shop, or met someone with an iPhone. Imagine that. (It's a hard job to do.)

      And then imagine that you're afraid to ask questions.

      Prepared to be appalled and angered when you have to read their code while maintaining it.

  62. 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.
  63. Do most of these companies already outsource? by anom · · Score: 1

    I've done a bunch of consulting for the K-12 public sector and I have to say that educational software is some of the most poorly thought-out software ever (from an IT Admin's perspective).

    Much of the software's installation guide goes something along the lines of "go to each computer and put in the disk", making deployment a massive headache. Those that actually come with a networking component usually require Everyone/FullControl permissions on the server share because the software was coded with the assumption it should have access to everything. Furthermore, I recently saw one where the application had a "server" component, but that component had to be manually run from a logged-on console session on a server, most kinds of automation would fail.

    I always assumed that essentially off of this stuff was already outsourced due to the abysmal quality across the board. I guess I'd argue to keep as much in-house as possible so things don't get worse, but that would be pretty hard.

    I know this comes off as a rant and it is, but if you write educational software, please actually think about the people that will have to deploy and run it while you're designing, whether you code it yourself or send it to India.

  64. Personal Experience by Anonymous Coward · · Score: 0

    I've had 3 experiences with this in working for small to midsize organizations. In each of these limited experiences, the off shore dev team did the following:
    1. Ignored security (Download your code from our anonymous ftp server here and other such nonsense)
    2. Largely misinterpreted the requirements
    3. Required significant rework on multiple iterations to come closer to the requirements
    4. Saved us little to no time due to rework, increased management needs, and difficulty in communication

    As always, YMMV, but my experiences have been BAD.

  65. Monkey work is not team work nor a good model by cristiroma · · Score: 1

    Programming is about team work, where everyone takes responsibilities and each people supports the guy next to him not giving the trash you don't like to do to other people. It will end up costing the same ... My guess is that you don't have too much experience in team work. Why not find a team somewhere around the world where salaries are smaller, try a pilot project first, see how you integrate with the team. Still be prepared to spend time and energy, at leas initially. I would avoid India/China ... from my experience (it's hard to find good people. Usually there's a good one which takes the tasks and give it to a real monkey in the back). For instance, we are in a similar situation and found a team of people, trough some friends, somewhere in Asia. We are now getting the people into our company for few months to familiarize with each other, TRAIN THEM, mingle. Get to know them, and afterwards communication will be easier. It's a risk we assume, but we think it's better that just shoot the task and wait for delivery. That doesn't work. We expect to pay as much as half of a programmer inside our company, so it will be a win in the end. Thinking in terms of getting rid of monkey work is bad business and not how a team should perform.

  66. Untenable by dwpro · · Score: 1

    It sounds like you are concerned about the code base walking off and so you are going to try and limit access by exposing only APIs. Your outsourced programmers will be hamstrung by the restrictions and unable to review the mechanisms behind the APIs. What then? You'll be spending an inordinate amount of time on support unless you get some damn good outsourced programmers and have much better comments than most.

    I can't picture many scenarios where this would be a more cost effective or productive alternative to hiring someone competent and trustworthy to work in house on your monkey business.

    --
    Millions long for immortality who do not know what to do with themselves on a rainy Sunday afternoon. -- Susan Ertz
  67. Learning curve by Tablizer · · Score: 1

    ANY change in organizational technique will have a learning curve if one is not used to it. Rather than focus on a good-versus-bad response to the outsource question, merely point out that it will likely take a few years of practice working with an outsourced team before there is a payoff even IF it's the "right move" in the long run.

  68. 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.
    1. Re:Allow me to add my experience with outsourcing by Anonymous Coward · · Score: 0

      Dude, don't worry. You will soon be fired from your C-level job.

    2. Re:Allow me to add my experience with outsourcing by Opportunist · · Score: 1

      Way ahead of you, way ahead...

      When you're obviously kept from doing your job, it's time to go yourself before something bad happens.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  69. 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.
    1. Re:Outsourced is Risky by Anonymous Coward · · Score: 0

      the key is be less like outsourcing, more like colaboration:

      >1. Do not go for the lowest bidder. Go with subject matter/platform experts.

      >3. Thoroughly review their work in a regular basis to prevent surprises.

  70. Did you ask a question via Headline? by VortexCortex · · Score: 1

    Then, -- come on folks -- you know the answer is No. How many times do we have to go through this?

    Now, if you "make games" and you outsource it -- Well, then you don't actually "make" shit, you're just worthless idea men. No wonder everyone bailed. You can outsource art / assets, but not the codebase (that's just daft).
    Offsite Coder: Herp! Imma make U a gaem enjun, for thousands and U kan maek meeeluns for it! Iz prommis not be violating any IP law of my country. Derp!

    There are thousands of indie game artists / composers / devs dying to get a chance to actually join a studio and make some mulah working with you. Many create stuff just for free. Ask around: "Hey, you wanna get paid? Show us a portfolio and Join us." Hit up the game modder community. Put out the word you're hiring. Outsource? Seriously? Might as well go die in a fire if that's your best option.

    Otherwise, you're trying to be a game publisher not a developer. Go whine about it on a Kickstarter.

  71. Why is this even a question? by Anonymous Coward · · Score: 0

    This topic has been done to death for years now.

    There are only two reasons why offshoring development work is a good idea: the technical talent is cheaper per hour (the bean counters like that), and you can do development 24 hours a day if for some crazy reason it actually helps.

    Arrayed against those advantages are the issues with quality, the loss of internal technical knowledge of important systems, the additional time required from analysts to create even more detailed specs, the difficulty of running agile with a team in opposing time zones, the general inefficiency introduced by managing and communicating with remote teams (especially ones with language issues), and the loss of lower-level techincal staff that can graduate into more senior technical and analytical roles in your company.

    The reason it's been popular is that the short-term savings are easy to project, and the long-costs are easy to ignore.

    I am the CTO of a fairly small software company that has tried some limited offshoring (although I did not think it was a good idea), and encountered exactly the issues I describe above.

  72. Only two left by Anonymous Coward · · Score: 0

    Monkey work? I think it explains why you are the only two left.

  73. Yes I think it is a GREAT idea for YOUR company by SmallFurryCreature · · Score: 1

    Yes I think it is a GREAT idea for YOUR company. And when your company completely screwed it up, your client will either pay my company to fix the mess OR be one less competitor for my clients.

    Maybe next time you won't ask competitors for business advice.

    I am not just being incredibly funny here (shut up), I have had many a request from the contacts of clients who came to me by reference with the question if I could put that last finishing touches on an outsourced project. Yes, yes I could, if you last finishing touches is another way of saying put the thing out of its misery.

    I have seen web applications where EVERY page included EVERY bit of the code, not via includes, copy pasted. So that the menu code existed complete in over 40 or so files. If you don't catch the full horror because you can't imagine someone so stupid, yes, that meant changing a menu entry (of course they were hardcoded) meant changing 40 files. But don't worry,to keep you from getting bored, over time the menu code had changed so a simple search and replace would NOT do the trick.

    I have seen web application meant for heavy concurrent usage where the ENTIRE user tabel was loaded into memory to then be filtered for the user attempting to login or perform any other action. Yes that was amazing to watch during beta with a dozen users. The plan was that at launch the userbase should be between 100k and 200k based on other sites developed inhouse. And what they were worry about was memory.... HOW ABOUT FRICKING LOAD TIMES. They could even grasp that even with just 1 concurrent user and 100k users in the DB, it would still not exactly be lightening fast.

    There are far more stories and some which you just wouldn't believe if I told you. Mind you, it doesn't mean using a native IT company is any better. Major Dutch IT company that gets all the big contracts forgot to include any indexes on system used by a large temp agency, they only ever tested with 1-2 records in the database before the bug list was so big testing was stopped.

    There are some REAL screw-ups in IT but at least with locals you can get them in the office and laugh at them. When it is another culture on another continent in a totally different timezone. That becomes a bit harder. And maybe there are bright Indians and Chinese people. Maybe... but maybe the bright ones got better options then work in a coding sweatshop where the only criteria is low price? Maybe the bright ones are working on their own stuff for their own companies?

    Basically outsourcing means going for the lowest bidder. It all sounds very attractive but ultimately the problem with outsourcing is this, your coders motives are NOT inline with that of your company.

    An internal employee should care about your company... well same goes for the outsourced guy, he cares, about HIS company. Every problem you have just is more money for them.

    About the only outsourcing that works is when a company basically buys a product from an other company, the way you outsource your car needs to a garage etc etc. And there is a reason large fleet owners have their own garages. Just think about that for a sec.

    --

    MMO Quests are like orgasms:

    You may solo them, I prefer them in a group.

  74. Monkey work? by fahrbot-bot · · Score: 1

    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.

    I image that your boss's description of the work previously done by other members of your development team as "monkey work" reflects his feelings not only for the importance of that work but the (former) employees as well and explains why it's now just the two of you. I recommend finding another job before he decides you're a monkey too.

    --
    It must have been something you assimilated. . . .
  75. Not Worth It by Blob+Pet · · Score: 1

    I have worked at two major tech companies where they've tried this. At my last company, the COO used to be a senior exec at an outsourcing firm. Regardless, the results in both cases were the same: a waste of time and money.

    If you're going to pay an outsourcing firm peanuts, you're going to get engineers who lack the necessary skills. You and your managers will spend an inordinate amount of time hand-holding these contractors. If you don't, you'll get really poorly written code. It may work, but it'll be completely unmaintainable spaghetti.

    That's assuming you'll get a finished product. The turnover rate for outsourced engineers is ridiculously high. The moment these guys hear about some other firm that pays another dollar an hour, they'll jump ship. Every 6 to 12 months, you'll be training new people to replace the old ones.

    There's also the question of logistics. It's hard to communicate with people who live on the opposite side of the world. It's bad enough that things get lost in translation, but when two groups get together for a conference call when one of the parties should be in bed, that's just not productive.

    --
    "...today consumers have been conditioned to think of beer when they see a bullfrog..."
  76. The better option? Eliminate the "monkey work." by hoppo · · Score: 1

    If the boss thinks he's getting any savings by offloading menial tasks to an offshore consulting team, he is sorely mistaken. It will still be an ongoing cost, without even considering the rework that will need to be managed and done.

    This type of work can almost always be largely eliminated through better automation and better engineering practices.

  77. Outsourcing vs offshoring by benjfowler · · Score: 1

    I've had some challenging experiences with offshoring.

    I used to work for a startup, making cheesy hosted mobile websites for clients. Because we were having issues scaling up, we outsourced to a bunch of guys in Poland, who were good engineers and meant well. But we soon learned it wasn't the silver bullet we had hoped it to be, as the big problem with software engineering, is that it's a highly social, collaborative activity, and you get a lot less bandwidth to talk to somebody and manage them, if you're doing it over MSN Messenger, than if you simply walked over to them and talked to them in person. Management's response was to buy them out; forcing them to have some more skin in the game did help a little, but didn't address the underlying problem -- management's lack of understanding of the challenges of remote working. OTOH, my current gig has developers scattered all over the world, but we make it work by using the right tools, the right processes, and having the right attitude.

    Now talking about __outsourcing__, that's a different kettle of fish.

    If people don't have any skin in the game, they often don't give a fuck after they take your money. Take, for instance, a highly unethical major Indian services company who shall remain nameless (I don't want to get sued) -- they bid for work with my previous employer, by sending a top-notch, shit-hot technical guy (who was there to clinch the deal) who assured us that WHY YES, they could indeed develop custom content types for Red Hat CMS. So then after that, they sent an engineer, who looked (and smelt!!) like a garbage picker from the slums of Kolkata. After two weeks of beavering away (and one day before leaving), the engineer comes to me and asked me how to download Tomcat. They didn't last long after that.

    So no -- you have to be super careful, get references, do your homework, make sure all your tools and processes are up to scratch, and then think VERY carefully before you contract out work to overseas companies.

  78. 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 Anonymous Coward · · Score: 0

      Hi, Sanjay (Bob). How's it going in Bangs Galore? Your fluency 'glish getting more fluenty by the day?

    3. Re:That's not fare, partner by Anonymous Coward · · Score: 0

      Cmon bob, your from India

    4. Re:That's not fare, partner by Anonymous Coward · · Score: 0

      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.

      cheap workers in poor countries are modern day slaves. slavery fucked up the economies of usa and uk in the past and its doing it again today, just in a different form.
      if you are a shit programmer or one of these 'business analysts' then outsourcing is for you.

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

      cheap workers in poor countries are modern day slaves.

      In away you're right, but it depends on how cheap. From what I understand, Indian workers earn more coding than they would otherwise so although from your point of view the money they bring home shouldn't be enough to pay for food, from their point of view it's a dream job.

      slavery fucked up the economies of usa and uk in the past and its doing it again today, just in a different form.

      If by fucked you mean it made the rulers very, very rich, yeah slavery really fucked the economy (remember they must have invested some of that money locally, as the world was "bigger" back then). Same thing happens today, they just moved the slaves farther enough that people won't care - or you think your PC (or any other electronic) would be that cheap to produce if it weren't for the African kids who spend their short lives in mines with no regard for safety and the Chinese men and women who work day and night to bring the latest iPad (or Android) to your hands? If you think you could have the same comfort you have today without slavery you're mistaken - the only way it might work is by limiting how much the capitalist is allowed to exploit the worker, but if you remember the golden rule you know that's less likely than ending slavery (which is damn unlikely).

    6. Re:That's not fare, partner by RagingGolem · · Score: 0

      Again, you failed at finding the good people. Hint: talent is cheap, but not _that_ cheap. Loosen the purse strings a little. And btw I am sure you can find worse English among the hillbillies of America. You see what you did now ? You got bamboozled by the hillbillies of India posing as developers. GOD thats a mighty burn.

    7. 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."
    8. Re:That's not fare, partner by Anonymous Coward · · Score: 0

      Well you're not from Texas, that's for sure. Your poor English (do you consider yourself fluent - guess again) isn't even identifiable as a dialect (not German English, doesn't seem like even poor Indian English, perhaps Ukrainian English ?). So perhaps the point is that reading comprehension might be adequate but expressing yourself still has a way to go.

    9. Re:That's not fare, partner by Anonymous Coward · · Score: 0

      This isn't reddit.

  79. In a way, yes by 0123456 · · Score: 1

    In my experience software development in the 90s generally meant 'here's an operating system, write a bunch of code to do stuff'. We'd write everything other than the basic OS libraries that came with the system.

    Today, we typically 'outsource' much of that work by finding libraries that people have already written and using those. The majority of development work is tying those libraries together with the logic required to make a particular application work. No-one in their right mind is going to write their own database when they can just use SQLite, MySQL, Postgres, the various NoSQLs etc, unless they have a specific requirement they can't meet.

    So pulling in proven third-party code that does what you need can work well. But hiring them to implement code that you've decided you need to produce from scratch? Not so much.

  80. Everything is in the details by znrt · · Score: 1

    There are two main factors to consider.

    For once, the actual work. Is the code you need written strategic for your business? What is it's expected life cycle? Is it a relatively isolated module? How much expertise or know how from you own business or company policies does it imply? You just state it's "monkey work" ... well, what's that supposed to be? For me there's no such thing, If you need code monkeys then it means to me you produce crap software, in that case who cares, get the cheapest monkeys you can find.

    Then there's the professionals. Do they have the required skill, commitment and availability you require? Can these be verified somehow? Again, if you just need monkeys then why bother? Just go ahead for a walk in the zoo and pick the cheapests you can find. If your requirements are high then you should choose very carefully, and it would normally make a lot of sense to seek long-term relationships or even hire them permanently if business permits.

    As usual with slashdot questions ... there's no real answer. It lacks all vital details.

    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.

    See, I find this is a very important detail, specially in relation to your question, and definitely in scope. What's the problem with coders in your company? If isn't in scope and you don't want to explain why do you even mention it? It just suggests your boss has a hard time holding a team together, and in that case the question would be kind of irrelevant.

  81. Programmers by Skapare · · Score: 1

    for reasons outside the scope of this question, my boss and I are the only ones left

    If these reasons are part of why you can't replenish your supply of programmers, maybe you do need to bring them in scope.

    Better programmers want to be a part of something. That isn't available at an outsource programming shop, other than for those who have an equity stake in that company. You just won't have as many of the better programmers, if any at all, working on your project.

    --
    now we need to go OSS in diesel cars
  82. in short: no it isn't worth it. by Nadaka · · Score: 1

    ...

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

    1. Re:Agreed by Anonymous Coward · · Score: 0

      Depends on which side of the fence the amateurs are.

      Its been said in an earlier post, that if your specs aren't upto speed, then any out sourcing - including to your junior will become a prototype with which users play about and it never gets completed.

  84. Thanks for the DIABLO 3 login issue update! by Anonymous Coward · · Score: 0

    Thanks for the DIABLO III login issue update! Much Appreciated! ;-)

  85. Outsource != Offshore by Homr+Zodyssey · · Score: 1

    I work as a consultant through a consulting firm. Sometimes I'm in a "staffing position" where I go work onsite at a client and sometimes I work with our internal "Development Center" for projects that have been farmed out to us. We are all American and we have people all over the country -- many working remotely. We provide top-notch work and we often have clients ask us back for new projects. And, we're not cheap. Some of our clients give us restricted access to their source control. For some projects we host the source control. We can provide project management services if necessary. You can pretty much have as tight or loose of control as you want. Our clients are happy with this work.

    I have also worked at several places (previous to this job) where work was sent to another country. I've been involved with at least 5 projects where that happened. IT NEVER WORKS OUT. On three of those projects, I was brought in specifically to fix code that was written (poorly) by coders in other countries.

    So, like the others said. You get what you pay for. And paying for cheap workers in other countries is never worth it.

  86. Not really by Tridus · · Score: 1

    If all you're going to make is generic one-off easy to create stuff, then sure. But once the product gets complicated, it doesn't work very well. Anything that requires domain specific knowledge turns awful real fast when consultants are involved, because if you can't get the same consultants all the time they're starting over in that area and won't know the business at all.

    You see this all the time in government. They think its cheaper to have consultants build something from some consulting company that lowballs the estimate. Assuming that what they get actually works at the end of the contract (which itself is a crapshoot), there's nobody in the government with the slightest idea how to support it because all that knowledge is at the consulting company. There's probably flaws due to mistakes in the requirements and specifications that nobody at the consulting company could catch, because they don't know how the inner workings of the government function and just built what you asked for (which is probably not what you needed).

    Now when it comes time to fix it, that consulting company has you in a very bad place. Going anywhere else will be prohibitively expensive because the new people won't know anything about either of those things. So now they can charge through the nose for maintenance.

    A good in-house team can actually learn the business AND the code, and will be a lot more capable at everything then consultants are, assuming you hire decently skilled people. They'll be able to learn enough to know what you need when you don't know how to ask for it, and will be able to say "no" when you ask for something that's totally unrealistic. Best of all, they might actually care about the success of the company rather then just seeing you as a place to extract more contracts out of.

    You can suppliment that team with an occasional consultant when it makes sense (and it does sometimes) or students for more routine coding jobs, but you can't replace having internal expertise. That's been my experience in years of building things with less people and money for one government department, while others try to use consultants to "save" money and wind up massively overbudget with tools that don't actually work very well.

    --
    -- "So they told me that using the download page to download something was not something they anticipated." - Bill Gates
  87. Can't over simplify the situation by grumpyman · · Score: 1

    I find that a lot of commenters are over simplifying the situation. The value of a product or company comes from the the competitive advantage the company can offer, and that needs to be retained internally. Does that come from the two principals of the company? Or does that rely partly from the contractor? An architect wouldn't go design a building, and manage the actual construction - because the that's not the core competency. The OP has not identify what "monkey work" is and that has to be determined. The other question is, can the company retain the employee to give them enough work so the company stay afloat? Commenting on the company should just shutdown because there's only 2 people is plain silly - startups start with 1 employee, business goes up and down. May be the principal do have some business knowledge that keep them around, there are still opportunities there, but they need to build from ground up? Meanwhile they don't have cashflow to fund internally employees? It almost sounds like using contract developers is universally bad - well, then why do they even exist?

    1. Re:Can't over simplify the situation by grumpyman · · Score: 1

      Another OT lesson here: describe your problem in a paragraph and post it on slashdot - get many one-liner recommendations on solving your problem, that you can probably guess what it's gonna be.

    2. Re:Can't over simplify the situation by Barbara,+not+Barbie · · Score: 1

      An architect wouldn't go design a building, and manage the actual construction

      Really?

      An architect is a person trained in the planning, design and oversight of the construction of buildings. To practice architecture means to offer or render services in connection with the design and construction of a building, or group of buildings and the space within the site surrounding the buildings, that have as their principal purpose human occupancy or use.

      Throughout the project (planning to occupancy), the architect co-ordinates a design team. Structural, mechanical, and electrical engineers and other specialists, are hired by the client or the architect, who must ensure that the work is co-ordinated to construct the design.

      Architects typically put projects to tender on behalf of their clients, advise on the award of the project to a general contractor, and review the progress of the work during construction. They typically review contractor shop drawings and other submittals, prepare and issue site instructions, and provide construction contract administration and Certificates for Payment to the contractor (see also Design-bid-build). In many jurisdictions, mandatory certification or assurance of the work is required.

      Go on a construction site and look for the people in the white hard-hats in the mobile trailer with the blueprints, etc. You know, the one with the big sign that has the architect firms name on it.

      --
      Let's call it what it is, Anti-Social Media.
  88. good vendors exist but we're not cheap (time or $) by Anonymous Coward · · Score: 0

    I work for a company whose software development tasks are primarily as implementation/customization specialists. We take existing code and then add additional features and/or customize existing ones. We make it a huge priority to make sure that the solution is developed as if we were the client's employees (or better) in that we evaluate changes to make sure the changes meet the intended end goal and that the client's interests are protected (test everything very, very well before delivering).

    There are ethical companies such as ours out there.

    However, getting good contract/outsourced help is not cheap in time or money. As a prospective client, the thought processes and preparation as if you were going to be doing the work yourself still have to be performed so you know what questions to ask and to know if you have received sufficient answers.

    You won't save time, but if you can find a good vendor to perform work, you can usually enjoy the benefit of leveraging resources that are specifically skilled for the requested task/project.

  89. 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
    2. Re:well, there's your problem, right there... by Anonymous Coward · · Score: 0

      Yeah, seriously, GTFO now. If you stick around you will be expected to fix all of the "little mistakes" made by the outsources which will quickly take up 100% of your time plus you will be stuck in the middle of the finger pointing and end up looking like a shithead either way.

  90. playtank by BrainRam · · Score: 1

    Your boss is making a financial argument for outsourcing. The only way to counter this, if you want to counter it, is with another financial argument against outsourcing. Despite the great many technical reasons not to outsource (and a few possible reasons in favor, perhaps), the decision that was made was a financial one. So if you want to argue against is, you need to be arguing in the same domain.

    Here's my financial argument in favor of not outsourcing.

    When you outsourcing, you are paying an external company to grow the necessary knowledge, skills, and ability to ship a software product. You are accruing zero of these assets to your company. When you have completed the project, you have generated one tangible asset, and zero intangible assets. All of the intangible assets are now owned by the party that you used to create the product. Furthermore, you have increased the value of the vendor, and thus you have increased the rate which that company can charge. And you can bet that this will be passed on to you in future product negotiations.

    Inversely, with an in-house staff, the so called "extra cost" of staffing and benefits, if your environment is healthy enough to lead to employee retention of a reasonable level, leads to the accrual of in house knowledge on a wide range of topics. These include, but are not limited to: software development methodologies, planning, user interface design, software quality assurance, scheduling, testing, source code control, building reusable components, and many more. As the team matures, future products cost less.

    So, in economic terms, you can outsource and pay a vendor less for the current project, adding value to that vendor. This will result either in escalating costs over time with the same vendor, or the continued use of a new vendor, and each new product will bear the cost of being a version 1 product with no institutional knowledge or economies of scale. Or you can keep things in house, pay more up front as the team develops the initial products, but with proper management you'll have a team that will produce products faster, with more personal investment, and higher quality, with a much smaller incremental cost over time.

  91. No - Never by Anonymous Coward · · Score: 0

    No!

  92. The world is big by Anonymous Coward · · Score: 0

    Hey, folks, outside US, there are so many countries and cultures, you simply cannot say that one bad expierence with outsource, means that all people from other countries works bad, there are bad programmers on the US and in the rest of the world. I worked all my life with outsourced projects, and we did even better work than the ones done in US sometimes. I 'm from south america.

  93. From someone who's been there by mmmmbeer · · Score: 1

    About ten years ago, I was assigned to be the in-house developer overseeing a couple of outsourced projects. One went quite well, but the other was a constant struggle. Since then, I have dealt with several other projects that were outsourced, with varying degrees of success. The simple answer is that it can work, but often doesn't. Here are a few things to keep in mind.

    - Don't just go with the cheapest. You can save money by outsourcing, while still getting competent developers. Make sure you meet the developers - or at least the leads - before making your choice of consulting company. In the long run, it will cost you a lot more if you end up having to rewrite everything; and believe me, that definitely can happen. Bear in mind that even if the consulting company agrees not to charge for bug fixes, it still costs you money if the project goes way past the scheduled end date.

    - KISS: Keep It Simple Stupid. As always, make certain your design is as simple as possible, but no simpler. The simpler and more straightforward a project is, the less likely that consultants can really screw it up.

    - Stay on top of the developers. You don't have to micromanage, but you need to be aware at all times what they are working on. They can very easily start going in the wrong direction. Talk to them every day.

    - Be very, very clear in your instructions. Never assume that they understand what you mean, especially if they're from a different culture. Be literal, elaborate, and even pedantic.

    - Code review, code review, code review. If anyone consistently turns in unacceptable code, have them removed from the project.

    - It's fine to give them access to your libraries, etc. In fact, it's best to have them use your source control system, but they shouldn't be able to delete anything. This way, when they inevitably make a stupid change that breaks something important, you can just roll back.

    - Assign the easiest/least important things to the worst developers, moderately difficult/important things to decent developers, and do the most complex and important things yourself. This might seem like common sense, but you'd be surprised how many managers treat all developers like we're the same.

    - Keep track of how much each project really costs in terms of both time and money. Once you have done one or two this way, you might be able to determine that some projects should be outsourced and others shouldn't. You'll be a lot more likely to convince your boss if you have actual numbers.

    Well, I hope this helps. Good luck!

  94. Document, document, document by plover · · Score: 1

    Start now with documentation. You need to document your current productivity. How many features did you produce last year? How many defects did you introduce? How often did you release? How many lines of code did you write? How many developer hours per year did all that output take? Establish a basis of how effective you have been with on-site developers.

    Then you start planning. Be very explicit when you write up the process you want them to follow in your Statement of Work. Do you want them doing Test Driven Development? Specify it as completely as you would for your own high quality code, perhaps a statement like "> 95% code coverage by automated unit tests, code complexity must average < 2.0, static code analysis will be performed using pmd and must report zero warning-level or higher defects, all code subject to review prior to acceptance and payment", etc. Write the master test plan at this time, and get them to commit to it as well.

    Your goal at this time needs to be to ensure the code is of good quality up front, rather than planning to complain about it after they call it complete.

    Then, get ready to write more documentation. You'll be writing a lot of specs for these people. There will be many questions on your specs, so be sure you have the time to spend exchanging conversations and emails. If you're 8-12 time zones away from the development team, you get one shot per day at asking and answering questions. This means that you have to be "more explicit" up front, or you'll spend a month having a conversation that could have been answered in a day. As we all know, being correct and complete in your up-front designs is an almost super-human task, so plan for delays to get them cleared up.

    In your specs you'll need to be explicit when you include non-functional requirements such as performance, stress testing, logging, minimum production machine requirements, etc. You might want to provide them with a test environment that they can run to prove they're doing OK.

    Consider traveling to their site and working with them for the first week to jump-start the project.

    Once things are underway, you need to be sure their code is continually of acceptable quality. Plan to spend a lot of your days reviewing their output. To keep them from going off the rails, you have to make sure that you're getting it in a timely fashion. In your SOW, specify nightly code check-ins so you can do daily code reviews. Then do them. Be sure to review the tests as well as the code. You're responsible for sending them your feedback as quickly as you can.

    Next, compare the output you get after the code reviews. Are they taking your advice in a timely fashion? Are they following your recommendations? Is the architecture still sound? Is the code maintainable, extensible, legible, does it have all the -abilities of good code? If not, be sure your SOW specifies escalation paths and penalties or whatever for non-compliance. Get your boss involved right away if you see the train leaving the track.

    When you finally start getting your code drops from them, be sure to have your testing team start on it right away.

    Now you finally have some data you can use to compare against your own output. How much money did you spend per feature? How long did it take them to write them? How many defects? Deploy the code to your beta users and see what complaints they have.

    And be forewarned: this means your job will shift from Engineer to Technical Project Manager. As you're already an engineer, this will probably not be an easy transition for you.

    Be sure to periodically review these results with your boss. I would warn you now that your opinions will differ. You may say "the code is crappy, hard to maintain, fragile" or whatever, but his goal might be "they shipped on time, on budget, and the customers aren't complaining about the bugs, so it's good enough for the shareholders." And don't forget to include all your own time and expenses for everything, including the planning steps, when adding up the final total.

    --
    John
    1. Re:Document, document, document by stevenfuzz · · Score: 1

      Old school bro. Document document document! Then in 6 months when everything is perfect and all written down and documented no code is done. In that time, I could have developed your product 2 times over, 10 times better than any outsourced team.

    2. Re:Document, document, document by plover · · Score: 1

      Which is exactly why I say you have to document all the costs associated with it. If management doesn't see that they get 1/20th of the value for their dollars spent in the offshoring process, they will believe that they are smart and wise and saving money, and continue down that path indefinitely.

      The reason companies are outsourcing development today is that they don't understand just how complex, risky, expensive, and slow it really is. It might be that their current processes are terrible, and they can't see the value they're getting. The problem is that if you're terrible before outsourcing, you'll only be terrible, slow, and expensive after outsourcing.

      My advice is "clean up the in-house process first". Figure out your own productivity and quality issues. Because those things won't fix themselves magically if you just ship them overseas.

      --
      John
    3. Re:Document, document, document by stevenfuzz · · Score: 1

      Oh, I get it. I was a computer science major, and 1/4 of my courses were about documentation (is some way). The major problem is, unless the big-boss understand the development process (which, 9/10 times he will not), it's not happening.

  95. Generally a temporary solution at best by Trubacca · · Score: 1

    Obviously, every situation is different.. doubt that needed to be said, but it is best to get that caveat out there. I recently started at a company that has been outsourcing much of their development. Our lead dev here in the states is a native-born Indian, so he probably has an easier time coordinating the contractors than most state-side organizations. Unfortunately, he has found himself spending the majority of his time coordinating and managing the over-seas developers that it really cuts into his productivity. Bear in mind that this is not a simple management issue.. obviously a lead dev needs to spend time managing her team, but they require near constant supervision to ensure that they stay on task and don't waste time on dead-end tangents. Taking into account the time difference, it can be very difficult for him to stay on top of them while also working with the rest of the organization stateside. Being a very experienced developer and team-leader, he recognizes that the cost savings result in significant hidden overhead. That is the primary reason why we are now working on building a state-side team. Considering he already speaks their language and knows their culture, unless you have similar advantages you will probably not find yourself having an easier time than we did.

    Bearing that in mind, I think your hesitation is grounded in logic.. in my humble opinion, you would probably get better results by fishing in the market of community colleges.. find some young, starving students and train them into what you need. That is a strong, long-term solution that will probably take some time to really bear fruit, but should have similar costs and results in the short-term to an outsourcing strategy. Treat them well, and you will have a loyal, dedicated, and competent team.

  96. Re: by Anonymous Coward · · Score: 0

    We are all monkeys in the eyes of God

  97. Walk into your bosses office and... by Anonymous Coward · · Score: 0

    Tell him hes a cheap douchebag who doesn't need to be paid 100k+ per year for managing one person ... how is that even a department ?

    Better yet print this out and hand it to him "We here at /. think your boss is a cheap douchebag who gives away good programming jobs to overseas non english speaking programmers who don't have a clue and when the shit breaks feel free to call us there's no hard feeling we'll fix all that buggy code for double our normal price of course because we have to figure out just what in the hell Ishinihabinhabadad fucking wrote for code"

    Thank You for you support!

  98. Don't outsource core compentencies by sc0nway · · Score: 1

    Never hand to a contractor anything you would not be willing to hand to your competitor. Granted I have heard managers talk about how iron clad the contracts are but the reality is that after the contract is over they can go anywhere (competitor) and they know your code, its strengths, weaknesses and how to make it better and regardless of how honest they are they cannot forget this information and will tap into it whenever a problem arises. So basically you could be doing your competitor a favor by training their next employee. The best article I have read about this is http://forio.com/resources/article/the-pitfalls-of-outsourcing-programmers/ The chocolate box example is priceless! As a chocolate maker you don't outsource your chocolate making (handing out the recipe and possibly endangering your reputation if a batch of bad chocolates go out) you outsource the making of the chocolate boxes.

  99. Use GitHub by Spinlock_1977 · · Score: 1

    We work with development partners. We use GitHub as a shared repository - works good, and separate repositories can ensure nothing goes to production without you pushing it. Manage permissions correctly to prevent them from going places you don't want them.

    On the merits of outsourcing in general, in our case it makes sense. I can't make sense of your case.

    --
    - The Kessel run is for nerf herders. I can circumnavigate the entire Central Finite Curve in a lot less than 12 parse
  100. be carefull by greywire · · Score: 1

    Similar story for me and my previous employer.. there were only two of us programmers and a load of foreign outsourcers. Now, the issues with outsourcing were only part of the reason the company went down hard in flames (I won't get into those other reasons..).

    We had some good outsourced people, intelligent, experienced and spoke good english. We had many more that did not fit into that classification. Here is what I noticed, by comparison:

    When I've gone to interviews for other jobs where multiple other applicants where also there, I noticed about the same rate qualification among those people that I saw with the outsourcers the company I worked at actually employed. The difference being, at those interviews, 99% of those applicants were rejected for obvious (to me and the employer, not the applicants..) reasons.

    The point is, that it seems people are much more willing to hire an outsourcer without properly checking them out. And so you end up with a lot of bad work.

    That's all on top of the difficulties with language and culture, time zone differences, trying to communicate through skype or whatever instead of in person, etc.

    I'm just glad I'm not staying up working all night trying to manage a team split across india, russia and china, and trying to make impossible deadlines; and then dealing with the client the next day trying to make excuses why something can't be fixed for another 24 hour cycle because we didn't want them to know everything was being outsourced...

    Outsourcing is not the money-saving grunt-work avoiding hail mary pass so many people think it is. Its a potentially useful resource that has to be used properly.

    --
    -- Senior Software Engineer, Attorney appearance services, locallawyerapp.com.
  101. My experience by tist · · Score: 1

    I assume that by ‘monkey work’ your boss means the coding itself and not any of the design. If that isn’t what he means, then that has already been covered.
    I outsourced several small custom add-on components for our core application. These components were not going to be used by any other customers and were not going to be included in the main product. I don’t know why you would outsource your core development – also already covered here. But if you are set on outsourcing, here is my advice:

    1. Develop a specification with all features and functions clearly defined.
    2. Design the database schema (or whatever data storage design you need).
    3. Prototype every screen. Create full up screens (even if they are just images) with the same controls on them that you want to see in the product.
    4. Spell out every user input and result for every screen.
    5. Establish the platforms – all development tools, OS’s and languages should be spelled out up front.
    6. Review often – catch problems as soon as possible.
    7. Document every variance. If they can’t do something the way you wanted it, document it and the agreement you came to.
    8. Pay for feature completion, not hours.
    9. Protect your Intellectual Property.

  102. Science by Anonymous Coward · · Score: 0

    1. Look into existing empirical studies about outsourcing. You are not the first company doing it. If you don't do this, you are conducting an experiment about outsourcing. Please get someone to study it in that case, so when everything fails, you have at least recorded it.

    2. Do you want to buy "hours" or do you want to buy a product. If you buy hours, you will get hours. If you pay per hour, it will be their best interest to tell you as many hours as possible. Best way to do this is to write crappy code that takes ages to maintain.

    3. If you want to maintain the software, there are two options that will happen: The outsourcing company will increase the cost as they have now locked you in. Or, the developers there will simply leave to get a better salary and there won't be anyone who really knows the code and it will increase the time it will take to maintain it.

    4. Outsourcing can be a good idea if you can make a deal that they will provide you the product with fixed price, it is easy for you to tell if the provided product meets you requirements and you don't need any bug fixes or other maintenance for it. Outsourcing graphics and other art can also be a good idea to save money. Note that when you buy with fixed price, the price can be higher than it would when build in house. That is because the value/price ratio with developers is ridiculous, e.g. a developer that is 4 times more expensive can be 30 times more productive. Problem is that you can't evaluate the value from the price.

  103. "Monkey Work" by gatkinso · · Score: 1

    Pretty much sums up the prevailing view re: software development.

    My vocation is doomed.

    --
    I am very small, utmostly microscopic.
  104. You will not be a developer by Anonymous Coward · · Score: 1

    You will no longer be a developer - you'll be a resource manager and quality control checker / code reviewer. If that's what you like to do, then you could make it work. But you will NO LONGER be a hand-on software developer. .

  105. make them part of your team - and trust them by darkeye · · Score: 1

    the only way to make this work is to treat the outsourcing partner as part of your team. this means you have to develop full trust in the beginning of your working relationship. this trust will be the basis of your working together. this is the most risky part of such a relationship.

    initially you can start with giving them a smaller task, which doesn't require too much internal knowledge. as you see how they progress, and how the two teams (yours and them) can productively work together, you can increase your level of commitment to them, as will they do the same. in a manner of months, you can ramp up the amount of work you give them, and they will allocate more people of their team to you. if it doesn't work out, you just cut the relationship and look for someone else.

    as trust builds up, you don't have issues anymore of sharing your assets with the outsourcing team. you also don't have accountability issues, like double-checking their timesheets, etc. this also means that efficiency increases. trust really saves money for everyone.

    in an ideal setup, you'll end up with a long-term partner, that is at least as good as what you could get in-house. they will also appreciate this long-term and stable relationship. the benefit will be there for both: you'll get a capable team that is cheaper than what you'd have in-house, and is at least as good. you'll also have more flexibility in the amount of load you place on them. you also don't have to worry about recruitment, training, etc. they will love the long-term and stable customer they are working for. they will enjoy the challenges you give them. and most probably they will make more money than what they could make with a local client.

    also note that outsourcing is not always about price, although price is always part of the equation. but its useless to go just for price - as you pretty much get what you pay for. but, you can also aim for an external development partner that is high quality, and not 'dirt cheap', but indeed, cheaper than a comparable high quality in-house team, or a team where you live.

    (disclaimer: I run such an outsourcing company in East Europe, and we work for US customers on a long-term, high-quality basis)

  106. Quality is Job 1 by Anonymous Coward · · Score: 0

    It's good to see curryphobia diminishing as humanity progresses on.

    Who the fuck cares about the race, color, sex, religion, sexual orientation, or even smell of your developers.
    As long as they produce top notch results.
    And modern India is obviously top notch. Devoid of any of last century's swarms of destitute street beggars, very few Indians hang on to the outside of their world leading high speed train system anymore, people still have to go outside to shit in the streets but sewage system is top priority with the Indian authorities.

    1. Re:Quality is Job 1 by Alex+Belits · · Score: 1

      There is a difference between products made for your fellow neighbors and products made for rich foreigners that are looking for a cheap way to do some complex work. And then, there are "services" that are supposed to work as a part of company's operations torn out of the rest of the body.

      --
      Contrary to the popular belief, there indeed is no God.
    2. Re:Quality is Job 1 by stanlyb · · Score: 1

      Top notch is made by top notch schools and universities, something that India lacks so much, as they lack something as simple as....washroom/restroom. You don't believe me? Go and check by yourself.

    3. Re:Quality is Job 1 by stanlyb · · Score: 1

      Oh, and just one comment, it is not coincidence that the Indian Kitchen is so much spicy. Believe me, it is not make the food more yummy, it is to kill most of the parasites in the food......think about it.......

    4. Re:Quality is Job 1 by RagingGolem · · Score: 1

      i dont know where the hell you were staying. You, sir are cheap ! (even by Indian standards) BURN

  107. Not in your case by turgid · · Score: 1

    Since there are only two of you and you will be outsourcing "monkey work" your are very unlikely to succeed.

    Speaking as someone who was transferred to an outsourcing company (see my journal for the gory details), you will not have enough time, effort and patience to run a project like that.

    As other posters have noted, the fact that your boss uses the term "monkey work" sets alarm bells ringing. He considers this work to be trivial in complexity (possibly because he doesn't understand Software Engineering) but maybe great in size.

    Outsourcing is cheap because the people you are given to do the work are young and inexperienced. They will be given very little time by their PHBs to understand your existing code base and to take on your working practices. Their PHBs are looking to cut as many corners as possible to make the biggest profit on the deal. Their staff will be told to smile, nod and say "yes" to everything you ask of them whether they understand it or not.

    As a result, you are going to spend inordinate amounts of your time training, coaching, explaining, hand-holding, testing, debugging, complaining, waiting, testing and debugging again, restating specifications and requirements, arguing over the bill, wondering where the deadlines went etc. etc.

    Large corporations that move slowly can hide the disaster for 3 or 4 business quarters, but small companies can not.

  108. no no no (three times no) - and a maybe by Anonymous Coward · · Score: 0

    For your own good, do not outsource development.
    I have experienced it in three different companies where I was working as software engineer, working for the core system.
    Each and every time it was a disaster: it seems all good at the beginning and that is what makes it dangerous.

    The core software engineers are busy. They make the system work, and do not always have time to check all the unwise choices of management.
    And at the beginning management sees results from the outsourced components and everybody carries on.

    After a few months or years the underlying problems become evident, and get escalated. In the end the fall like heavy rocks on the shoulders of the core engineers, who start screaming at the idiotic managers who decided to outsource code. They will have to stop what they are doing and start working on the crap that was done by people who do not care, and sold to customers already.

    You can add a "maybe" though: for throwaway code it could be acceptable, but you need to be sure that that code will never ever be sold in that form, or someone will have to start reverse engineering and fixing piles of worthless crap.

  109. Short Sighted by Anonymous Coward · · Score: 0

    May save money for the bean counters in the short term, but prevents development of local talent in the long run. IT budgets used to be 1% of gross income at one point. Those budgets paid for R&D and cost overruns. Present day bean counters try to shave savings at every chance at the cost of losing local expertise and security. You can't quantify the value of local talent, it just yields long term results and savings. This doesn't mean that the solution is to "import" local talent from abroad. It means "growing" the talent locally to produce talent generation after generation.

  110. Cultural problems,... by BarfooTheSecond · · Score: 1

    lack of communication
    no feedback
    dissimulation
    no involvement
    no ideas
    minimal work
    bad code
    inflated costs
    delays

    All the money that your company will spare, you'll spend it in testing, analyzing, debugging, guessing, hair pulling, rewriting specs, re-asking, reworking, correcting, etc, etc, etc... And indeed, all this takes a lot of time...

    You end up with something over which you have no control, that's not "yours" and that's not really what you asked for.

    If you company strategy is all based on an offshore software product, then it is at risk.
    The day it realizes that and decides to step back, then it wil be a pain in the ass to get source code that compiles and that you understand. It'll be better off rewriting clean code from scratch by your standards...

    I'm talking about outsourcing to foreign countries such as China, India or Eastern countries, with which cultural issues are far from being a detail. Don't do that!

  111. Code Debt by Anonymous Coward · · Score: 0

    For me, the cost to repair the programming gibberish easily exceeded what we spent on outsourcing.

  112. If what you're doing matters, by Anonymous Coward · · Score: 1

    ...then work with the best people you can find.

    Simple.

  113. Touche! by Anonymous Coward · · Score: 0

    Even a doctor, who went through rigorous schooling has to re take exams every so often, yet a fireman who runs his 2mpg truck to give some homeless CPR doesn't have to do shit...ever! He retires at fifty with more money than any engineer and even most doctors.

    Firemen are a necessity, just like cops who get paid 35K/yr but, coders are the future.

    Society is funny.

  114. Steve Ballmer did jump around like a monkey... by BigDaveyL · · Score: 1

    'nuff said

  115. it's monkeys, all the way down! by Anonymous Coward · · Score: 1

    God's just an imaginary alpha male monkey.

  116. Absolutely... by choke · · Score: 1

    for the people you are outsourcing to.

    Eventually you've become a consumer who is a middleman. Someone else is the talent, and your customer is coming to you because you happen to be the one peddling that to them.

    Later, as you lose your value addition and you're nothing but administrators and investors you'll wonder where the dream went - and finally, where the business went.

    Let's put this in more practical terms.

    "We're a company that sells apples. Do you think we should just buy apples from someone else and sell those instead? We'll jsut fire everyone who has any practical knowledge of apple growing, selection and breeding and just do what we do best... sell apples."

    Pretty soon, you're a more expensive Walmart, which won't last long.

    So yes, outsource your development. Leave the skill gain and ability to more worthy people. The future belongs to them.

    --
    "No good deed goes unpunished"
  117. 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."
  118. No! by Codeyman · · Score: 1

    If the ceo feels that "anyone" can do a particular job, it is time to leave that job (talking from experience here).

  119. Outsourcing is hard.... by Anonymous Coward · · Score: 0

    First you need to specify exactly.... I mean EXACTLY what you want them to do. That takes a lot of time.

    Many contracts are fixed price - that means you have to negotiate exactly... again "EXACTLY" what you expect.

    Outsourcing is never up to your standards. The contractor, when faced with with a decision, will choose (at least most of the time) the option that maximizes his profit.

    Contractors (companies) can go out of business. Good luck get a quality product out of them before they shutter the doors. (maybe you can hire the developers directly).

    You must watch them like a hawk. Not that they will cheat you, but they may end of wasting time (see the fixed contract part) implementing parts that aren't critical, or flat out doing something wrong.

    Reviewing their work is very time consuming. You need to go over their designs with fine tooth comb. You need to test their code.

    Its not an easy thing to do. A better option would be to hire coders on a time/material basis and have them work in your office. You can negotiate on who buys the computer/developer tools.

  120. Offshoring IT: The Good, the Bad, and the Ugly by Anonymous Coward · · Score: 0

    Highly recommended book by Bill Blunden about this issue:
    http://www.amazon.com/Offshoring-IT-Good-Ugly-ebook/dp/B001GS704E

  121. I am a German Developer by Anonymous Coward · · Score: 0

    Or a "software engineer". So, I am biased, too.
    But now let's analyze the REAL WORLD. Apple, Google, MS, Adobe, Quark, IBM. The latter three think it is a Good Idea(TM) to get rid of their American and European personnel and hire "cheap" Indians in large numbers. Not the same as "outsourcing", but a similar trajectory.

    Now, please tell me which companies flourish in terms of economically successful new, innovative products ? Those who did not go the "Indian" route. Adobe is now known as a company with the worst quality record of the PC software companies. IBM can't even make proper ODBC installers for DB/2. Quark is equally in the shit.
    It is high time for Software Development Engineers to realize that they are actually the Intellectual Heart of any successful software-based enterprise. Give the boss the middle finger if he ever calls your "Code Monkey". We have invested thousands of hours to acquire the qualifications we have and we are supposed to be obedient to a fat, cynical, manipulative guy just because he controls $$ ? FUCK YOU, POINTY-HAIRD ASSHOLE ! Move on.

    1. Re:I am a German Developer by mbkennel · · Score: 1

      Does Google or Apple outsource substantial amounts of their programming which used to be USA/EU to India? The others, sure but I haven't seen it with those two .

      Steve Jobs wanted to be able to scream at the programmers and designers and do his cult-leader magic spells when necessary. That wouldn't work if they were so distant.

      And yes, Apple software has been pretty good recently (e.g. iOS for iPad).

  122. Value Is In Brains by Anonymous Coward · · Score: 0

    And these have left. So value left is close to 0. Yes, zero.

  123. The problem is "monkey work" - not outsourcing. by Anonymous Coward · · Score: 0

    If you think of the work you are contracting out as "monkey work" it won't matter where the engineers live, you won't get good results.

    If you are developing an product that is sold internationally choosing an engineering team that is not in North America to do any one piece of it is a legitimate choice. But as long as that is based on choosing an engineering team. Focusing on the immediate wages rather than on long-term productivity is a mistake. Your engineering team should be an asset, not just a wage liability.

  124. It's Bleeding Obvious by Anonymous Coward · · Score: 0

    ..to everybody except the "MBA" trash out there. Why do you educate them to the fact that 1+1 = 2 ??

  125. Bad Analysis by Anonymous Coward · · Score: 0

    They want to outsource their Core Activity - the specification, design, development, testing of their products. This is not a pharmaceuticals company outsourcing some payroll software system, which they can do manually if it breaks. It's like outsourcing their drug R&D and manufacturing to some "Chemical Monkeys". The boss is a First Rate Idiot.

  126. Not Just An Asshole by Anonymous Coward · · Score: 0

    He is the Most Destructive Force in that company and will drive it into the ground in no time.

  127. Oh Yes, The Relativity of Everything. Not. by Anonymous Coward · · Score: 0

    Now show me that software products company which consists out of a bunch of pointy-haired bosses who have outsourced all the work somewhere (geographically) else. It only exists for a few months, then it is dead.

    Having "external" people sitting in your office for years does not count - they are effectively the same as your own employees. That works for many companies around the world. It is a well-established practice here in Germany, e.g. in the leading auto companies. The only difference is that these people can be fired easily.

    Adobe, IBM, Quark and some others try get cheap labour by having offices in India and Asia. Generally not very successful. Software Engineering is an intellectual task of the highest order and if you don't understand this you are a fucking idiot. Asian countries, including India, are cultures riddled with "beliefs" and authoritarian shite. They generally do not grow curiosity, creativity, disobedience and originality. But these are the key ingredients for making something innovative. And that is exactly why Europe and America have invented nearly everything (including modern ideologies) in the last 300 years. It was a painful, but necessary process to make all these achievements possible. The Indians are just in for the money and the Chinese are under duress of a highly authoritarian state.

  128. Keep the programmers... by xmetaskull · · Score: 1

    Keep the programmers , outsource the management.

  129. Run like hell and never look back by Anonymous Coward · · Score: 0

    Unless you fancy tending to a smoldering rubbish bin of a company shell for the next five or ten years (until they outsource your job, too!) do yourself a favor and walk out the door ASAP and leave this shell of a company to burn itself out.

    As AC@40030219 said, your company is dead. However, it will live on as a zombie shell for a good while and (surprise, surprise!) YOU will be the ringmaster of ths little circus. If you have any sense of pride and craftsmanship in your work you will soon find that supervising second-rate work from the third world over crappy over-compressed VOIP teleconference calls, broken English, inexplicable delays answering email, constant shuffles of personnel, and mediocre solutions via mediocre code written with the finesse of a below-average 1st-year compSci major, will grind out any sense of pride and satisfaction you have in your work -- offshoring destroys morale; you will soon come to hate your job. I've been there and it's hard to climb back from that precipice.

  130. Re:Bad idea? Probably but it's your reality for no by Barbara,+not+Barbie · · Score: 1

    That should be handled through contracts and litigation.

    Good luck litigating in a foreign jurisdiction ... esp. India, where bribes are the norm.

    --
    Let's call it what it is, Anti-Social Media.
  131. So by Anonymous Coward · · Score: 0

    You CxO colleagues have deteriorated into a bunch of, what ? Dollar-Monkeys ? No longer interested in anything except money ? I guess this moral rot is exactly what currently brings down America and the best part of the Anglosaxon world. "To hell with my bank, all I care is my bonus dollars !"

    What will these people think when they are hauled up the lamp post ? "how much does it cost to bribe them so that I can get away ?"

    1. Re:So by Opportunist · · Score: 1

      This is pretty much the reason why I handed in my resignation yesterday. When the first thing you ponder in the morning is "Hmm... I could set off a bomb in there, it would cost my life but safe thousands...", it's time to go.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  132. As a programmer by StillNeedMoreCoffee · · Score: 1

    No its not alright. Sure you can get it cheap somewhere else but you also don't get to contribute to the strength of our country. We working programmers are contributing, and getting a wage for that out of which we pay taxes that help pay for the services you enjoy too. Fire me and send that money out of the country and pocket the little difference and you actually loose some of your own because I am not earning a wage and paying taxes. It seems fine if one or two do it, it does not effect us but when it becomes a general practice then we all suffer. Its the same with pouring pollution into the lake. If you pee in the lake no problem, but if everyone pee's in the lake then you start to not be able to drink it, you have to invest in water purification.. and your costs go up. Its an ethical community thing.

  133. problem by cratermoon · · Score: 1

    If your boss is willing to dismiss any aspect of development as 'monkey work', that's already a problem, and outsourced or not, the result will reflect that.

  134. Answer in your case: No. ... Here's why: by Qbertino · · Score: 1

    You are only 2 left and you're asking if handing out your libraries is a good idea. That rings a few bells.

    To get things straight: Outsourcing can work, but you need to have your own software development process streamlined and standardized before it makes any sense. F.i., you should have documented APIs that you can expose without handing over source to 3rd parties - that's how you develop inhouse aswell, btw. Once the APIs are finished and documented, grunt work is outsourced and the inhouse crew can move on to the next technology frontier or prototype.

    Since you don't have that - your question implies that - and you are only two left, I'd say you have other problems than outsourcing your code work. Doing that in this stage of things won't do any good and will most likely do harm.

    My 2 cents.

    --
    We suffer more in our imagination than in reality. - Seneca
  135. Brilliant by wiedzmin · · Score: 1

    "Ask {a bunch of nerds who stand to lose their job to outsourcing}: Is Outsourcing Development a Good Idea?", I wonder how this could possibly present a skewed opinion in the comments that follow!

    --
    Bow before me, for I am root.
  136. First off by geekoid · · Score: 1

    any boss that thinks it' monkey work is an idiot,
    Secondly. You are going to get mediocre to bad code, and you don't have the man power to fix it.

    To quote the most likable character from the The Amityville Horror:
    GET OUT!

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  137. Mod Parent +Insightful by handy_vandal · · Score: 1

    You are so right. Wish I had mod points.

    --
    -kgj
  138. What does the Boss prefer? by couchslug · · Score: 1

    I'd do what the Boss wants to ensure he owns the decision.

    I don't get paid to fight dumb employer decisions. I get paid to follow orders, and unless I personally like the employer or company I don't give a fuck what happens to them.

    --
    "This post is an artistic work of fiction and falsehood. Only a fool would take anything posted here as fact."
  139. common sense states... by Anonymous Coward · · Score: 0

    no dumbass - it is not a good idea!

  140. You Can't Outsource Your Core Competency by Anonymous Coward · · Score: 0

    There was a big outcry here years ago when Telstra announced it was out-sourcing some jobs overseas. Now Telstra has always out-sourced - mainly to local arms of big multi-nationals and other Australian companies, so it wasn't like they'd never out-sourced before. However, with the Indian angle, predictably there was a hue & cry at the time.

    One of the high-level suits (Ted Pretty?) went on TV to do damage-control PR and explained that they wouldn't out-source their core businesses of: HR; Accounting; and Payroll. This near-top executive thought his communication & technology company's core business was not communications & technology, but rather all the generic back-office administration every company has.

    Managers, if you can't manage your company's core competency (or even know what it is), you're in the wrong company. If you can't manage a team of software developers you shouldn't be managing a software development business. Sure, use contractors to fill short-term gaps, but hand-balling the entire process to someone else is an admission of failure.

  141. Pay more for local workers by Anonymous Coward · · Score: 0

    As a freelance programmer, I more often get hired by Indians than Americans. The Americans aren't willing to pay my hourly rate, but they will hire the Indians, who will pay me my rate and double bill on hours. Sure, they are good at project management, but assuming you're already managing the project you might as well cut them out.

  142. stop worrying, start job hunting by Anonymous Coward · · Score: 1

    I have to agree - I'd stop worrying about the outsourcing and start looking for another job instead, as it's only a matter of time until your company or your department folds. I've worked in a company where exactly this happened, and it was a sign the company wasn't being managed sensibly any more: they evidently didn't care about the quality of work the in-house staff were creating, and foolishly thought it would somehow be cheaper to outsource programming (which was 50% of the business effort) while still maintaining acceptable quality - which is nuts as now instead of paying employees and trying to make a profit, you're hiring a company that's trying to pay it's employees and make a profit while also trying to make a profit yourself. The maths doesn't work (they weren't outsourcing overseas).

    I was 'lucky' enough to survive that mass-sacking of developers as I had a niche position not easily replaced, but that just meant when the company folded 3 months later I lost a months pay.

    On the flip side, I as an english-speaker have done work outsourced from a korean-speaking company. The language barrier was definitely an issue - they had a hard time explaining the bugs they found in my work (I'm AC so won't bother defending why my work was buggy, it's not interesting). Everyone was trying their best, but at the end of the day a lot of time was wasted trying to understand each other and sometimes coding time was wasted because we failed to realise we hadn't understood each other too. It would surely have been cheaper and easier for them if they'd not outsourced the work - work ethic and racism has nothing to do with it, and frankly even if you outsourced to a company on the other side of your own country you'd hit similar problems because as they're not inside your company they cannot hope to understand your requirements or ways of working as instinctivly as an employee can . It's a business barrier no matter which way you look at it - outsourcing is poison, the only reason to do it is if the work required is such a tiny part of your business it doesn't justify employing even a single short-term contractor.

  143. Horrible Idea by Anonymous Coward · · Score: 0

    I am at a large company (over 10K employees) and we have outsourced a lot of our web and application development. As is common practice, the external vendor competed against internal IT for the development project. They won and proceeded with development. Here are the problems:

    1) Internal IT needs to abide by industry compliance standards (PCI, SOX, HIPAA). Vendors don't care about these standards ignore them. When we explain that requirements such as a) Listener processes must run as non-root/non-admin or b) Configurations must include a test checked in with the code, we are told by the vendor that that requirement would add to the cost and management has the idea that we are being pedantic because we didn't get the contract. Our quotes factored these requirements in, thus we came in higher.

    2) The external developers are woefully incompetent. They have no OS competence (SunOS, AIX, Linux) and have little knowledge of enterprise standards (change processes, SAN, LVM, tuning for a multi-tiered architecture). I was a crappy Java coder 5 years ago and can barely code my way out of a paper bag, but have more knowledge of how to debug a heap error than 4 of their 5 coders.

    3) They bid low but have little understanding of how involved an application can be. Once they realize the project is bigger than they quoted, or compliance and company/industry standards require design changes, it's too late to change. More money gets sunk.

    4) They will eventually use the knowledge for competitive advantage with other companies. In my industry they have already begun shopping around their "expertise".

    In a word, don't do it. Shortsighted, stock-price driven C-level folks may push for it, but it's a MISTAKE. The corporate finance trickery that makes outsourcing of development seem like a good idea will doom a company. Sure, some things can be outsourced, but not products intrinsic to company identity and advantage.

  144. Americans are too predictable by Anonymous Coward · · Score: 0

    When it is decided to train folks outside the US to do the development, AMericans get a tasty donut, and a pat on the back from others that get a donut too. They don't train the next generation. they simply train a cheaper labor force. Its happening in every sector, and has destroy the roots of a sovereign nation.

    Every wonder if US could produce things like TV sets or build things anymore?

    We'll gladly sell the next generation down the river for a sugary donut.

  145. Mixed Bag by TranquilVoid · · Score: 1

    Our company outsources both part of our development and most of our testing.

    The development has been quite successful. They have access to our full source code and a VPN account so they can check in. The key here is to use a reputable outsourcing company. This makes it more expensive than it could be but it's still far cheaper than first-world developers. The quality of the work is very good. The advantages they have are speed, helpfulness and enthusiasm. The disadvantages are that they often prefer quick-fix solutions over structural ones and don't think in terms of the customer (i.e. they need specific instructions and wouldn't be given the task to design an entire option by themselves).

    One of the dangers, in my opinion, is that we rely on them too much. Far too much knowledge of how our code works resides solely in outsourcing. I recommend requiring design documents to avoid this situation.

    As for code security this is definitely a risk. On the other hand, most in-house programmers I have worked with have taken a full copy of the source when they left.

    The testing is a mixed bag. This is done by a second outsourcing company in a different country. They are very good at following test scripts but cannot think outside of them (again, unable to place themselves in the customers' shoes). This leads to major bugs slipping through. We try to deal with this by being extra careful with our test cases. To be fair, this is technical software and they cannot be expected to be experts in the area like our consultants. On the plus side they are radically cheaper than hiring more consultants (our outsourced developers have programming degrees, a university degree is not necessary for testing).

  146. Out Sourcing Domino ... by Anonymous Coward · · Score: 0

    Actually, "Outsourcing" has gone on for decades. Contract programmers were often hired to create software from early in the computer age. In general that has worked very well. Some of the largest systems ever constructed, TIRKS, the airline reservation systems, etc., made extensive use of onsite contract developers. There have always been the real people vs virtual people arguments, sometimes created by differences in pay rates. Professional Software developers commanded seriously high rates, in part because we were often between projects. Real people may have made less during the same period, but had at least the illusion of the advantages of continuous employment. Large sub-components of such projects were often delegated to professional development companies who managed the development teams. Outsourcing became more globalized after Y2K as onsite development was replaced by off shore and off site teams. This activity was encouraged by the Bush administration - acknowledged in February 2004. Their MBA view of the universe did not envision the economic domino fall to follow. In a relatively short time everything except marketing and onsite services were outsourced offshore. Marketing dissolved into the internet. Investors escaping from the dot.com bubble, invested their profits in the homes and businesses of foreclosed and bankrupt technical workers. After 2005 those investments began to sour, creating a need for market making in real and commercial properties, so that investors and their banker friends could be escaped - to invest in commodities like oil. The money for this market making activity was provided by mortgage derivatives, which also increased the population which could "afford" to buy homes, thus creating market demand for properties with which investors were otherwise stuck. This population was cut off at the knees by the investors they had helped to escape, when balloon payments became due, and the price of gasoline reached $4.00 per gallon US in April 2008. The PROBLEM with offshore outsourcing is that displaced workers who were previously paid a salary for adding value to a good or service, were also local consumers. Even though costs of production were reduced, the savings were not local, and could not make up for the loss of consumer demand which results from their displacement. It has been said that all politics are local. The technology boom was caused by local economic interests using politics in an attempt to improve local economic conditions. Local realtors and investors angled to get large corporate interests to move factories and facilities to their outlying communities. When this happened a local economic boom resulted, driving up prices, and creating incentive for the company to move yet again. An opportunity was thus created for another locality which desired the impact of corporate wealth. The leaders of a community which snagged an engineering or software center would make out better than the fabled bandit. This resulted in a shell game of political economics which effectively ended with offshore outsourcing, because the beneficiaries were on the other side of the world, not even part of the national economy. In a nut shell, if you expect to sell goods or services in your community, you will either have to give away cash, or pay salaries for the value your friends and neighbors add to your products.

  147. monkey work by __aaltlg1547 · · Score: 1

    It's a bad idea to work for a somebody that refers to what developers do as monkey work.

  148. How to "manage" the project? by bastia · · Score: 1

    Managing a project with everyone in the same office is difficult. (Evaluate candidates. Hire employees. Make sure everyone understands the requirements. Balance workload. Figure out dependencies so that no one is blocked. etc.)

    Managing a project where some of your programmers are remote is more difficult, even if they live in the same country and speak the same language.

    Managing a project where some of your programmers are in a different country with a different primary language and a different business culture is even more difficult.

    If your company is failing at managing local projects, I doubt that you're going to succeed at managing offshore projects.

    If you're a small business who wants to use offshoring, I would recommend involving an onshore company to manage the offshoring. It won't be the lowest price, but if they take your project, the results will probably be much better. For example, I would recommend my friends who run this company: www.thesevensoft.com.

    Good luck!

  149. Just do it by Anonymous Coward · · Score: 0

    If the main goal is to continue the life of this software and the decision is firm to outsource then ..
    Outsource to capable developers in the area of software required and give them full access to repository.
    Transition as much knowledge on the code as reasonable (success driven transition).
    Thank the new owners and say goodbye.
    Find a new job.

    Find out where your current manager is getting a job and never apply with that company.
    Send an email to Company Owner 6 months later with an offer to buy this small software business for 1/10 of current value.
    You fill in the rest.

    Just do it

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

  151. The onshore offshore angle to outsourcing. by elep · · Score: 1

    The result of outsourcing can be greatly affected by having a good Onsite coordinator ( OSC). OSC should be a domain knowledge expert and have good communication skills. A good OSC helps in the following ways
    a. bridge domain knowledge gaps
    b. co-ordinate with the onshore engineers and get quick resolution for offshore queries.
    c. bridge the cultural gap
    d. bridge the time zone gap to some extent.

    Insist on having a good OSC and it will go a long way in ensuring success.

  152. depends by Anonymous Coward · · Score: 0

    Its all a mixed bag. There are high quality overseas developers who are at a significant discount. There are also lots of terrible overseas developers. If you are confident in the persons english and technical skills, and you can give them gradual responsibility, it can work quite well.

  153. No, worst idea ever by Anonymous Coward · · Score: 0

    I am a developer, and I have had the 'pleasure' of working with other offshore, outsourced developers and testers.
    Some have said you get what you what you pay for, let me promise you now that isn't true. In my experience you will get very inexperienced and inflexible people that will give you the worst code you have ever seen, if they even get anything done at all.
    I am a contractor and have seen this over and over again. This is a false economy, don't fall for the hype.

  154. Easy solution by Walt+Dismal · · Score: 1

    The easy solution is to outsource and offhshore the boss. First of all, you get cheaper management labor. Second, it solves the meeting timezone problem. Third, many outsourced bosses will work for merely a bowl of curry in the morning. Fourth, you don't have to spend money on indoor toilets anymore. Fifth, like my cheapass clients, you don't have to spend money on telecom anymore, by forcing everyone to use Skype and Gmail for your communication infrastructure.

    Soon you can be as excellent as HP and Adobe and Symantec and Cisco and other great American companies, and use the excess profits to move to Dubai and avoid taxes.

  155. My Experience by Big+Hairy+Ian · · Score: 1

    Is there a smart way to outsource development, or is it just a bad idea?

    For Developers yes normally it's a bad idea although I'm sure there are some good ones out there

    But there's more to ALM (Any ALM) than just develpoment and I've had some good experiences with outsourced QA people in the past

    --

    Build a Man a Fire, and He'll Be Warm for a Day. Set a Man on Fire, and He'll Be Warm for the Rest of His Life.

  156. What do you think outsourcing is? by rve · · Score: 1

    Why does everyone seem to read "outsourcing" as "outsourcing to a low wage country" ?

    Should a bakery or a used car dealership have its own software department? Their own plumbing department? Any time you find an outside company to do custom work for you, you are outsourcing this work. Whether you are having it done by your local software company down town or by a far away software company in Bangalore, it's all outsourcing.

    By the way, all this complaining about outsourcing (meaning outsourcing to low wage countries) seems petty and weak to me. 25 years ago, when factory workers complained that their jobs were moving overseas, you techies had no sympathy. "You should have gone to college and gotten real marketable skills then". Now that it's happening to people who went to college and got skills that were marketable 20 years ago, it's suddenly an outrage.

    1. Re:What do you think outsourcing is? by Anonymous Coward · · Score: 0

      What a stupid thing to say. What techies? I was 13 25 years ago. There weren't that many techies 25 years ago, and pretty much everyone was screaming bloody murder about manufacturing going overseas. Remember the whole sweatshop designer cloths fiasco with Nike? I think the people who were saying that were the executives shipping manufacturing jobs overseas. Your anger is misplaced.

      >25 years ago, when factory workers complained that their jobs were moving overseas, you techies had no sympathy. "You should have gone to college and gotten real marketable skills then". Now that it's happening to people who went to college and got skills that were marketable 20 years ago, it's suddenly an outrage.

  157. You should read this. by Anonymous Coward · · Score: 0

    If you are outsourcing work because you don't have the skills to do it yourself, then you shouldn't be in this market or in this profession.
    If you need something done in a very short period of time, then you should be willing to accept horribly written code and you should be willing to expect a loss of your job in the near future.
    Good luck with support
    Good luck with understandability
    Good luck with maintainability
    Good luck with separation of concerns
    Good luck with sprint planning and re-iterative tasks

    Any company, whether big or small, that decides that outsourcing their work is a correct measure, seriously needs a reality check.

    This is my opinion, and the opinion of the Gods. Now im going back to playing Diablo 3.

  158. Endless Cycle by DarthVain · · Score: 1

    The problem with outsourcing is you gut any local knowlege. So yeah it might be cheaper to outsource your development, but when something goes wrong, or needs to be changed, you are now stuck outsourcing, as no one in your organization will know how to fix, change, update anything. Guess what, when those consultants realize that they have you over a barrel, it isn't going to be so cheap anymore.

    Real problem is no one really looks long term to the total costs associated with anything, only the short term, in how much will it cost me this year, so that some manager looks good on his budget. They might be screwed for years to come, but so long as the initial cost makes them look good, what is the incentive to do the right thing?

  159. you need another job by Anonymous Coward · · Score: 1

    If they can fire everyone else at your company they can fire you. You should get another job. When they outsource the people who are outsourced can eventually acquire the core business knowledge. You may eventually get fired also. You should just go. There is no future for you at your company. Do not tell your manager you are looking for another job. When you leave tell them you got an offer you could not refuse. If you tell them you left out of fear of a layoff you will never be hired back and you never know when you need another job. Its just a job. Quitting is NOT a big deal.

    Outsourcing can come back to haunt companies. Forbes had an article about this. They said that amazon could not make the kindle in the US because all the people with those skills had been fired a while ago and the work was moved over seas. Amazon could not find qualified Americans to hire because they all had to move to other professions. Dell outsourced its motherboards to Asus. Asus now sells motherboards and computers competing against Dell.

    AOL outsourced a ton of development. They also fired a lot of Americans and replaced them with contracted H1Bs (at lower wages). I worked for the manager who did this at another company. He said in the end they did not save any money due to the quality of what they got back and dealing with the time delay.

    To be fair some outsourcing can be good. It is not uncommon for non-software companies to hire software companies to handle their software development. Time Warner Cable does very little software development. They hire other companies to do this. I believe Accenture is in with them and I worked with a small company as well. Accenture did not do a really good job because you know its Accenture and they are there to bill hours. They liked what we delivered. When you are with a small company , you get more flexibility to get stuff done. Plus they worked on smaller margins so we had alot of good people (since we got alot more of the rate). So we had a better team AND because we made alot of money, we had alot of incentive to work really hard to keep those big pay checks. I worked alot of extra hours without being paid (trust me it was built into my rate...). I wanted to make them happy so they kept me.

  160. I think by NewYork · · Score: 1

    Outsourcing maintenance is good.

  161. Is it really worth it? by DanTan · · Score: 1

    I'm not in charge of out-sourcing, I'm in the shittier spot. Testing the code that the out sourced developers create. Here's my stance on outsourcing 1) They often will not be able to take high level goals/ideas like we do in America, you have to break it way down for them 2) You have to create a design spec for them and they will follow it to the point of no-return, so I hope you don't send them the draft by accident 3) Expect many hours wasted due to time zones/language barriers, also be prepared for some late night/early-morning conference calls, I found it best to just use an IM system & screen shares as they will avoid the accent issues. You can try MSN's auto-translate feature for IMs. 4) Set a VERY strict limit for them on number of bugs/features you expect them to finish each day/week, otherwise they will loiter around for awhile 5) Make sure communication with the devs who do the coding goes through their bosses, cause their boss is the one who will walk over and yell at them to stop procrastinating My opinion of a cutoff point is that if it takes your developer as long to explain something to them, he/she should do it himself. Yes I know you want to bring up your "off-shore" team to the same standard as your in-house developers, but lets face it, they aren't in the office so they won't be as good. Don't be afraid to cut them, you might've dropped a ton of money/time into things, but be willing to cut your losses.

  162. depends on the application by xcix · · Score: 1

    I think it depends on the needs of your client. My adviser's field of study is educational software and games, through working with her I have learned that the most difficult part of the development process is the design and not the coding. I feel to design very effective educational software you will have to understand the pedagogical context of your clients. And to design engaging educational games, you will have to understand the students background and interest. Especially since our school system and culture is radically different from say India, it is difficult to develop something that is fits well with the requirement of the client. You can probably write a very detailed requirements doc. But if it has to be detailed to the point where you are listing all the functions, you would probably feel its easier to just do it yourself. The big question is how well divided will the design and software development processes be? If both can be considered separately, then out sourcing won't hurt the company too much. Otherwise outsourcing may cause the company to lose more money than they save. Good luck, may your job be safe.

  163. I love outsourcing by mszola · · Score: 1

    More than half of my new clients over the last few years have been a result of botched projects that were outsourced.

  164. Define "development" by Anonymous Coward · · Score: 0

    Outsourcing only makes sense if you are doing something that has been done by others for at least the last 10 years.

    Doing anything that is truly novel is generally a very bad idea because 1) you want to protect the IP and won't be able to realistically, and 2) you can't predict exactly what must be done in development and usually outsourcing requires micromanaged instruction and planning for anything that isn't standard knowledge.

  165. lessons already by ananthap · · Score: 1

    It isn't just monkey work that you will be outsourcing. As you already discovered, you will have to share at least your internal libraries. And thats just the start. (1) Your specs have to be much more precise to an outsourced team. You are still responsible for delivering specs to the outsource vendor such that end-to-end, across programs, time periods, these programs have the desired functionality for your organisation. (2) UAT has to be more thorough and dont be in a hurry to sign-off. I don't think it's a two man job. Remember some one IN YOUR ORGANISATION has to write specs, test and integrate. It can be beneficial if you find a good vendor. In my experience (been on both sides of the debate), choosing the right vendor is the key. Others also mentioned this. Think that actually you are entering into a partnership. OK

  166. Indian professionals by Anonymous Coward · · Score: 0

    But where are the professional offers from India in this thread?

  167. You should never outsource your core business by juancn · · Score: 1
    Let me say that one more time: you should never outsource your core business

    It's fine to outsource non-critical parts of your business, but never your core. I would think that building software is at the core of the company based on what you describe, and it should be treated as such, but apparently management at your company doesn't seem to think so.