Slashdot Mirror


Managing a Global Programming Team?

cwimmer asks: "I work for a technology company in the United States who survived the economic slowdown by trimming fat where necessary. Unfortunately, it seems that my small programming team must've looked like mostly fat to management: it has been trimmed from a high of 5 to the current 2. We have been given a very large programming project that we estimated would take 4 coders (the size of the team at the time) 6 months to deliver. I have been given deep pockets with regard to moving some or all of the project to an offshore partner, and I can probably get 4 or 5 programmers in India. Does anyone have any pointers on managing a team of programmers on the other side of the world?"

163 of 671 comments (clear)

  1. Yes. by Wakko+Warner · · Score: 2, Funny

    Learn to speak Hindu.

    - A.P.

    --
    "Remember when the U.S. had a drug problem, and then we declared a War On Drugs, and now you can't buy drugs anymore?"
    1. Re:Yes. by BluedemonX · · Score: 3, Informative

      Don't you mean Hindi? Hindi's the language, Hindu the religion.

      --

      --- Jump!! Fire!! Bullet time!! - Lego version of the Matrix
    2. Re:Yes. by 2br02b · · Score: 3, Informative

      It's Hindi, not Hindu. And programmers from the south of India (where the IT boom is mainly concentrated) are likely to be more comfortable with English than Hindi.

    3. Re:Yes. by 56ker · · Score: 2

      But on a more serious note - what's to stop you hiring more programmers on short-term contracts or freelancers instead of out-sourcing to a foreign country?

    4. Re:Yes. by durdur · · Score: 3, Informative

      English is commonly used as the language of instruction in Indian universities. Assuming you are hiring college graduates, they will likely get along ok in English.

      India has 14 official languages. Hindi is widely used but is not the native language of many Indians and is not even related to the languages spoken in South India.

      So, while it would be commendable if you learned an Indian language to communicate better with your staff, you might have to learn several if they come from different regions of India. Not very practical IMO.

    5. Re:Yes. by viperstyx · · Score: 2, Funny

      HEY! im indian! and the dot is just jewelry. its like earings, just a dot instead. and yeah dont ask about it. since every body decided to tell you that its hindi not hindu im not gonna tell you too. well, just a tip for managing programmers. you could setup a web server and use a bunch of microsoft tools that come with winxp to setup a vpn and have your entire project on the web. of course it could be secured using all kinds of stuff. then users can make updates etc. also, you could use remote desktop to do stuff from long distances with eachother, like looking at other peoples code etc. aim could be used for conversations. it can get pretty intricate if you want it to be but if you really really wanna do this it would not be hard to make it seem that you guys are just a block from eachother rather than 4k miles. i suggest consulting with an msce or someone who is certified with networks and communication using computers. i garentee you can find a way to do it easy. -aroon

    6. Re:Yes. by Spock+the+Vulcan · · Score: 2, Funny
      It has something like 8 vowels and well over 30 consanants.

      12 vowels and 36 consonants.
      The grammar is different, the idioms are different

      Wow. Unlike all the other languages which have the same grammars and idioms.
      and (correct me if i'm wrong) i think you read from right to left

      You are wrong.

      Yeah, it's a slow day at work.....why else am I replying to AC's? :-)
    7. Re:Yes. by 56ker · · Score: 2

      But on a more serious note I would've thought there are plenty of available programmmers in the US since the dot com crash. How about getting in touch with the programmers that used to work in your team and seeing if they're available?

  2. Yay! A commerical... by FortKnox · · Score: 3, Funny

    This is a good time for OSDN to push their "Sourceforge 3.1" software! Unite everyone globally with one piece of software!

    Keep click "refresh" on this story (don't forget to use those slashdot subscription pages) and see the advertisement for sourceforge!!!


    *ahem*

    --
    Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
  3. regardless. by raindog151 · · Score: 3, Insightful

    regardless of costs, there are a heck of a lot of talented programmers here in the US who would take work.

    hire american.

    --
    your jesus is another mans xebu. chew on that hypocrites.
    1. Re:regardless. by Telastyn · · Score: 4, Interesting

      Perhaps you could use those deep pockets to hire back the 2 fired programmers? 2 programmers you can actually talk to and design with are probably as productive, if not more, than 4 you can't communicate well with.

    2. Re:regardless. by Kenja · · Score: 2

      I see them every day. Standing there with a "will program for food" sign.

      --

      "Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
    3. Re:regardless. by jnana · · Score: 3, Insightful

      i agree with your sentiment, but in reality, 2 US programmers' salaries could get you at least 10 Indian programmers on the Indian subcontinent. That's hard to sell to management who only see $ signs and think that a programmer is like a lego block that you can interchange anywhere, all working as well as any other.

    4. Re:regardless. by Ooblek · · Score: 3
      I guess nobody figures in the price of travel, communication, and coordination it would take to hire these 10 programmers. It is also risky since India is a third world country, and its neighbor is about to launch a nuke at it. I bet it will take a year or longer to deliver it just due to the coordination difficulty.

      The project manager at the place I work said he had to manage an Indian team while working at a previous company. He said it ran him ragged. If I were you, I'd tell management to just get the 2 guys back and forget the India idea. If they only care about the $, you might as well quit because you'll either die of a heart attack or will likely miss the deadline and get fired anyway.

      Or set it up so the management has to move to India....now that would be fun.

    5. Re:regardless. by CynicTheHedgehog · · Score: 2

      2 communicative, accessible programmers are much more productive than 6 noncommunicative ones. We hired someone from China and someone from India and doubled our team size. Our productivity as a department hasn't changed one iota, because a lot of their time is spent trying to communicate ideas, make their documentation readable, and in general trying to cope with a foreign language and culture. We're no better off than we were before.

      If you had an entire team from one country, that would be different. Even more so if they had a spokesman who spoke english well. But mixing and matching with people that don't speak English well is really stresfull.

      My advice is to take your money and hire a starving college student or two. Hell, set up an internship and have them work for free (or give them ~$10/hr. They'll still love you). You'll get about the same quality code, much better documentation, and a lot less headaches.

    6. Re:regardless. by Mr.+Fred+Smoothie · · Score: 2
      So tell them that programmers aren't like lego blocks. They need to hear it or they'll be pissed later when the projects that get built using overseas labor are late, overbudget and don't deliver the correct functionality.

      Unless you're working on something very different from what your company has done before, the two programmers who were fired will most likely be more productive than the 5 or 6 Indian programmers you'll hire -- because they'll be sitting next to you (or nearby), so the price of communication will be much lower and the frequency and quality of communication will be higher; you already know how to work w/ them efficiently; and most importantly, they already understand the business domain.

      --

    7. Re:regardless. by Galvatron · · Score: 2
      hire american

      Why? Are the citizens of other countries morally inferior in some way, deserving of poverty? That idea right there, that there is a group of people bound by language, culture and ethnicity inherently destined for greatness, was the core of the National Socialism movement of the 1930's, I find it appalling that it would continue to resurface today.

      --
      "The question of whether a computer can think is no more interesting than that of whether a submarine can swim" -EWD
    8. Re:regardless. by kin_korn_karn · · Score: 2

      as a capitalist that wants to increase my profit at the expense of others, and who is selling my services to an employer, I say, YES, they are inferior because they're not me. this is not Socialism or Nazi-ism, this is looking out for #1. This is taking care of my own goddamn country before I take care of theirs. Has the globalism police taken away even your sense of self-preservation?

      What happens when we're all flipping burgers and the real work gets done in whatever country is the cheapest? Imagine a slum the size of Chicago or New York. Imagine people dying in the streets because they can't afford to go to the hospital, like the rich people that farmed jobs out to Bangla-fucking-desh. Do YOU want to be go around on body detail for that? Sounds like you would, and "thank you Mr. Bush, may I have another?"

      I hope you have all the worst in life, because with this attitude you deserve it.

    9. Re:regardless. by cduffy · · Score: 5, Informative

      Imagine people dying in the streets because they can't afford to go to the hospital, like the rich people that farmed jobs out to Banglna-fucking-desh.

      If there's that much more money in Bangladesh, though, then people there can afford to go to the hospital, and that many people are no longer dying in the streets. Moving jobs around doesn't destroy wealth -- it simply redistributes it. What globalism does is help make the market more even -- smooths out the particularly rich areas (as labor will be imported from elsewhere) and the particularly poor ones (as they'll be able to export labor cheaply). The net result, then, is that the standard of living everywhere will move closer to average -- without the use of government wealth redistribution (which I find repugnant) but merely market forces.

      The point I mean to be getting to, however, is that people won't starve -- they'll just have to work for less. Countries without minimum wage laws will do much better, of course (they'll be able to export the labor of folks willing to work for less than the minimum wage elsewhere, whereas those in countries with minimum wage laws will be unable to find work at all in fields where the going market price is below the mandated minimum wage) but that's a problem with government interference, not globalism in general.

      The main reason I can see people being homeless and starving due to such smoothing is artificial price floors -- minimum wage laws (allowing foreign competition to result in unemployment rather than merely lower pay), building regulations (raising the minimum price of housing and forcing people to be homeless rather than merely poorly housed), that variety of thing. Those problems can all be fixed -- and the net result will be less starvation. If there's less conspicuous wealth as well... so be it!

      And I say this as a capitalist myself -- but as a fellow who'se convinced he has even globally a better-than-average product to sell, and who is happy to have more buyers (and more competition among his suppliers!) even if it means competing against more of my fellow sellers. I also say this as a fellow with a sister who'll be halfway around the world in a few months who may not come back -- I hope that she can always find work able to cover food and rent wherever she goes; if that means taking a job exported from elsewhere (like my employer, which has offices around the world), all the better!

      You claim to be a "capitalist", but what you want is not a free market but a market rigged with tariffs and restrictions and taxes to benefit yourself alone. It's a short-sighted thing to want -- it may benefit you immediately, but the infrastructure set up to profit you immediately may bite you in the ass later; and the power to lay those tariffs in your favor can every bit as easily be used to raise the cost of the goods you sell. You mistake capitalism, a means of efficient resource distribution via fair competition, with unadultered greed; and shame the former in the process.

    10. Re:regardless. by Galvatron · · Score: 2
      Then say "hire me! here's my resume." Saying "hire american" isn't looking out for #1, it's just stupid nationalism. And that is the very definition of Nazi-ism, National Socialism was an attempt to bolster a failing German economy through central control, justified with nationalist rhetoric. Also, captialism is not increasing your profit at the expense of others. Capitalist exchanges are voluntary, and better both parties. Only governments and theives can enrich themselves at the expense of others.

      America is not rich because up until now companies have been making irrational hiring choices. America is rich because we have an unbelievable level of productivity, and therefore it is often cheapest to hire American. In the case of the person who originally posted the question, this may not be the case, or maybe it is the case and he just doesn't know it yet. Either way, the best way to continue to improve American productivity and economic development is to allow companies to make rational cost-benefit analysis, not forcing them to be uncompetitive on the international market. Believe me, the American economy would be much worse if the American companies couldn't compete effectively than if they compete by outsourcing a few jobs to "Bangla-fucking-desh."

      As for your slum the size of Chicago or New York, what about a slum the size of Deli, Bombay, or Calcutta? Again, aside from nationalist prejudices, I don't see why suffering matters less if it's Indian than if it's American.

      --
      "The question of whether a computer can think is no more interesting than that of whether a submarine can swim" -EWD
    11. Re:regardless. by Twylite · · Score: 2

      I'm not sure of my figures, but I've been led to believe that a half decent programmer in America can expect upwards of $40k a year.

      I'm going to take my country (South Africa) as an example here: $40k at the current exchange rate translates to about R400k (Rand) and some change. A full time employee (depending on city) is looking at R12k to R30k per month, and that's a good developer. Contractors expect anywhere up to double that.

      So take 1 America developer salary for 6 months ($20k) and turn it into Rands, and you can pay 2 SA developers for 6 months, more or less.

      Now you do the math: is my assumption of developer salary (US) correct? what is the cost of adding one developer to your office, versus the cost of funding a remote office (and most likely equipment) for non-local developers.

      With more exact figures, you have a much better idea of the financial implications ... but it doesn't really answer your question.

      I have some experience in remote management. Not international, but I was not working with the development team, although I could meet with them (we did so monthly, but I could organise to meet on short notice).

      My humble submissions from experience:

      • Control the development strictly from your side.
      • Ensure that you have a good design before getting the implementors (at remote sites) involved
      • Give each remote team a single task to complete, with clear expectations and deadlines. They will overrun (like any team) so factor that in. Also make it clear that coding to standards is part of the deliverable, and will be audited.
      • Essentially, each remote team delivers a complete, unit tested and auditable component before going on to the next bit.
      • It helps a lot if the remote team(s) know the Big Picture before starting with the implementation, even if the design is complete and well documented. Take the time to document the overall design and architecture clearly, so that everyone can understand it.
      • COMMUNICATE. All The Time. Get daily updates via e-mail, and if possible mirror their code updates daily, so you can monitor progress.
      • As part of communication, make it clear that overrunning is not the end of the world. But them hiding from you the fact that they MAY overrun is punishable by death. It is far more important to know the real situation and figure out how to deal with it, so make it clear that they won't be crapped out or otherwise contractually screwed, as long as they keep you informed.
      • Video-conference. Its a wonderful way to hold regular meetings, at fairly low cost (use Internet conferencing if possible, with a whiteboard app if necessary), where you can meaningfully interact with your developers.
      • Language barrier: I bring this up because you mentioned Indian developers. Some Indians are extremely fluent in English, others are weak. Understanding your intent, design and instructions is crucial to the success of the remote team (and, therefore, you). Video conference with any prospective team members first - that is, conduct remote interviews.

      There's probably more, but my brain is starting to go squishy ;)

      --
      i-name =twylite [http://public.xdi.org/=twylite], see idcommons.net
    12. Re:regardless. by kin_korn_karn · · Score: 2

      you been to Detroit lately?
      their world might as well HAVE ended.

    13. Re:regardless. by kin_korn_karn · · Score: 2

      I meant there would be death in the streets of the USA, not Bangladesh.

      it's a feedback loop. The rich get richer by paying the poor less. Eventually the poor can't afford what the rich are selling, and then the rich have to either pay them more or lower prices.

      This stuff about the standard of living balancing out is a crock. There is a class system in all the nations of the world, a ruling class, at least one working class, and a criminal class. It's been that way since the dawn of time. It's /human nature/.

      And if you want to 'level out' the economy of the world by distributing the wealth, think about this - do you know just how POOR a country like Bangladesh is? Go look up the GDP of Bangladesh in the CIA World Factbook. Compare that to the GDP of the United States. Add together and divide by two. That's what you get with globalism, sir.

      I don't like the world of have and have-not, but that's the way life is. I grew up as a have-not, or at least in a place with that mentality, and I'll be damned if I or my kids live like that.

    14. Re:regardless. by kin_korn_karn · · Score: 2

      I'm going to be bluntly honest and say that suffering does matter less, to me, if it's not in the USA. I am an American. I'm sorry that people have to live like pigs anywhere, but my people are what I concern myself with. I don't have the energy or the heart to worry about anyone else.

    15. Re:regardless. by Galvatron · · Score: 2
      Maybe I can put this another way. Suppose you live in Chicago. Now suppose the Ask Slashdot was about someone working for a Chicago-based company that wanted to hire a couple programmers in, say, Atlanta, because wages down there are cheaper. In theory, this should upset you even more, because the loss of a job in your home city is much more likely to adversely impact your job market than the loss of a job from an unspecified location somewhere in the USA.


      I'm willing to bet though, that if the above scenario had been posed, not a single person here would have shouted "hire Chicago-ian!" What I'm trying to show you is that your definition of "your people" does not track as closely with your personal interests as you seem to think they do.

      --
      "The question of whether a computer can think is no more interesting than that of whether a submarine can swim" -EWD
    16. Re:regardless. by kin_korn_karn · · Score: 2


      In blue-collar trades, that exact thing happens. Ask one of your local home builders what he thinks of out-of-town, nationally-marketed contractors, for example.

      People who build houses, for better or worse, often can't go when the jobs are. We tech folks can, and in some businesses seemingly are expected to. Thus, when it comes down to it, our job market is the entire USA.

      Moving to Georgia from Chicago is in no way similar to moving from Chicago to Bangladesh. If I were to move to Atlanta, yeah, the culture would be a bit different, and there would be some new laws to get used to, but it wouldn't be a complete change of everything like moving to another country is.

    17. Re:regardless. by cduffy · · Score: 2

      And I was saying that there would be no death in the streets of the USA, simply that the standard of living would go down somewhat. The only case where there'd be massive homelessness and starvation is if laws creating effective price floors on housing and food continued to be maintained.

      Now, here's the thing. I'm making half what every other programmer in my company makes. (I'm working far less hours and living way off-site, but that's not relevant at the moment). I'm happy. I'm well-fed. I'm housed. I've got toys -- okay, no sports car, but enough toys to keep me amused. Even if full-time, on-site pay netted me only this same standard of living, I'd still be doing it. Cutting the average pay for a programmer in half wouldn't put people out on the streets -- it'd just mean less excess for those who can't compete. Those at the top of their profession, on the other hand, would do just fine despite their locations.

      The other thing is that averaging incomes between the US and Bangladesh would quickly result in massive improvements in the Bangladeshi(?) economy -- people there would be able to start local businesses and such; said local businesses (possible because of the cash infusion brought about by having a market for local labor) start to compete with the foreign labor market, and eventually Bangladesh stops exporting as much labor because it has a sustainable local economy. Sure, the time in the interm sucks -- but eventually, it's a net win for everyone (as once they have their own economy, Bangladesh can start importing goods as well).

      There's nothing wrong with having haves and have-nots, and nothing wrong with the haves having to excess -- so long as the distinction isn't created artificially. Restricting trade in the name of fighting "globalism" is oppressive and in the long run self-destructive.

      One last thing -- when I speak of standards of living balancing out, I don't mean there still won't be rich and poor. I mean there won't be (as) rich societies and (as) poor societies. The difference between the classes may even increase, but the difference between middle class in Country A and middle class in Country B will go down. That's good enough for me.

    18. Re:regardless. by Leto2 · · Score: 2

      and.... you're out!

      --
      <grub> Reading /. at -1 is like driving through Cracktown in a convertible that is stuck in 1st
    19. Re:regardless. by jonbrewer · · Score: 2
      2 programmers you can actually talk to and design with are probably as productive, if not more, than 4 you can't communicate well with.
      I really hope you're talking about the fact that phone calls would be expensive, because in my experience, the many Indians I have worked with in the states communicate as well, if not better, than the average Slashdot poster.
    20. Re:regardless. by maraist · · Score: 2
      I meant there would be death in the streets of the USA, not Bangladesh.


      I'm sorry, but this is the same argument used by the RIAA / MPAA that says, "oh no.. Something's changed in our prefectly controlled little world, and now we don't know if we'll even be alive in x-years.. Please Mr. Congressman, stop this change now before it's too late."

      Change is a mixture of good and bad.. Deal. It's not the end of the world, though it might be the end of a cushy job.

      It's a feedback loop. The rich get richer by paying the poor less. Eventually the poor can't afford what the rich are selling, and then the rich have to either pay them more or lower prices.


      This is industrialization-era thinking with unskilled labor as your "working/criminal class". There is an entire economics of human resources, and that too has a supply/demand curve. What's happening with globalization is that the supply curve sky-rockets. BUT, what again, you're thinking in terms of unskilled labor, where a worker is a commodity (indistinguishable from any other worker). In reality, each worker carrys with him/her a set of attributes and excess baggage. Employers will cost-analyize the benifits against the costs. Thus a domestic worker will always have a certain edge over a foreign worker. Will that edge equate to tripple the salary? Who knows. But in the case of Asian software developers, I've heard lots of horror stories, and thus any management worth their salt should do serious research first (There are soooo many hidden costs as have been pointed out in this thread).

      So in response to this fragment, the rich only get richer as they have some competative edge over the working class. A worker could become a doctor, lawyer, engineer or any other skilled labor that is in high demand. Kings and the Aristocracy only did so well, because they were militarily superior (back in the days of knight-hood). They only maintained their wealth due to complacency among the subjects. In modern terms, the only reason that the rich like MicroSoft continue to get richer is because of our beloved ledgislators that support such non-free business practices (involving patents, copyright, and the enforcing of other non-free-market laws).

      My point in this section is that the only way to prevent a company from going global is to ledislate, and hopefully it can be seen that this is a non-optimal solution.

      This stuff about the standard of living balancing out is a crock.


      You're over-simplifying. If America blocks it's borders with respect to international workers and immigration, then you can create an artificial environment where the only wealth that will leave a country are via imports. But if you're as wealthy as America, why would you ever need imports? Because other countries can make things better/cheaper. How can this be? Because your artifical sand-box has inneficiencies with respect to the rest of the world (who has more competition / employees who demand lower wages). Thus money that would be lost due to paying salaries abroad is instead lost due to exports (and America's trade deficit is annually enough to bankrupt entire nations). By importing human resources, American companies become competative and lesson the trade deficit. Theoretically, domestic production is cheaper than imported goods, and thus stands to raise purchasing power of consumers (which helps the economy). In reality, American prices are so much higher, that at best they would merely be competative, thereby not appretiably affecting consumers.

      There's another angle. The best-of-the-best from India, China, etc feaverishly apply for Visa's to the US. Once here, they have a good chance at competing against otherwise complacent Americans. The heavily math/science focused educational system in other countries puts them at a distinct advantage with Americans (all else being equal). Most border states heavily complain about immigration problems, and indeed most immagrants move into the cities, heavily burdening us. Many modern countries (like France and the US) are burdened with the issue of immegration. When you have more citizens, your wealth is diluted. Legislation has often been the only resort to counter this phenomena.

      But why do we even have this problem? It's because there is such a massive disparity in the wealth of other nations that it's worth the massive barrier to entry that a country imposes. This is why Mexicans / Chinese / Indians come here. If they had work and a decent living style in their home country, there would be less incentive to migrate. Remember, we're talking about the creme-de-la-creme that come here. If they had jobs (that gave them greater purchasing power) back home, then they'd possibly stay, thus reducing the immigration factor. In the case of Mexico, it's more the cunning / daring ones that make it here (and sneak about until they can find a way of being nationalized). Large scale cheap labor should still have a good effect there for similar reasons.


      Go look up the GDP of Bangladesh in the CIA World Factbook. Compare that to the GDP of the United States. Add together and divide by two. That's what you get with globalism, sir.


      You're suggesting (100 + 1) / 2 = 50 all around, but you're picking numbers out of the air. Because of the infrastructure, only a limited amount of physical labor can be transplanted to other regions. This is only a small percentage of the total GDP. Unemployment does reduce one's GDP, but it also has an effect of reducing salaries (think great depression). Reduced salaries avoids the inital issue at hand. These factors oppose one another so it's not as simplistic as you suggest. Further, wealtheir internationals have greater purchasing power, and thus increase export demand. If the organization is still head-quartered in the US, that means US tax revenue on work barely done in other nations.

      In short, this is a natural process at work, that's gone on since the dawn of time... Darwinistic competition over scarce resources.. And only the most efficient will survive. So either give up a cushy job, or legislate and watch as your trade deficit continues to grow uncontrollably until there is little net asset left in the US. (Tarrifs don't work by they way, they're just a form of placibo to make out-raged citizens temporarily happy).

      -Michael
      --
      -Michael
    21. Re:regardless. by smack_attack · · Score: 2

      This is a great example of "trickle up" economics. As more and more jobs move offshore, the stardard of living and wages in the US will drop (which is already happening due to unemployment). While management like to think that they are immune to this, they need to get a reality check, because once you turn your local workforce into a bunch of temp-slaves, there are local companies that are there to manage them, so guess who gets the ax in the next round of layoffs?

      /bitter unemployed rant

    22. Re:regardless. by jafac · · Score: 2

      As a former Chicagoan who lost a job to a lower-paid Floridian, I resent that. (then I moved to California)

      Hire Chicagoan indeed!

      --

      These are my friends, See how they glisten. See this one shine, how he smiles in the light.
  4. Its simple by Kenja · · Score: 4, Funny

    You just need to learn how to shout "do it again but do it right this time" in several languages.

    --

    "Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
  5. Talk about a kick in the groin by Anonymous Coward · · Score: 4, Insightful

    Go to Slashdot, where there are undoubtedly a whole lot of North American coders looking for work, and ask them about some good ideas for getting cheaper labour overseas.

    No offence, but I hope you understand if some of us offer you NO HELP.

  6. Look for a new job by technomancerX · · Score: 4, Insightful
    I would suggest you start looking for a new job.

    How long before your firm realizes that they can hire a manager on-site in India for a fraction of what they're paying you and not incur the language barrier and communications problems?

    --
    .technomancer
    1. Re:Look for a new job by perky · · Score: 2

      It's weird that you should say that, and a lot of other people are talking about communication problems, but when I've worked with Indian, Chinese, malasian etc students and co-workers they've normally had better english then me.

      --
      "The new wave is not value-added; it's garbage-subtracted" - Esther Dyson, Dec 1994
  7. Do not do it! by Ted+V · · Score: 5, Informative

    For the love of God, DO NOT DO IT! I've worked with or interviewed for positions at 3 different companies/departments that used off-shore india programmers. It was always a horrible experience. In each situation, after 6 months they said that hiring the offshore team actually hurt progress. That is to say, X programmers on site would have made more progress than X on site and Y offsite.

    I'm not sure what all the root issues are, but the time difference is huge. Get used to 9pm phone conference meetings. It was horrible explaining the software needs to the offshore groups. And fiunally, it's much harder to do quality control with people who aren't actually there. It's much harder to get them to fix problems when you don't have an in-person presence. Most programmers by nature get things done in the worst possible long term way. In the offshore situation, you will have almost no power to encourage them to create code that's built to last.

  8. International Teams by glenstar · · Score: 5, Interesting
    I have had extensive experience with offshore development in Russia, India, Indonesia (don't even ask), and various Latin American countries. If I had to do it again, I would go with a Russian team over any of the others. A business associate of mine does a lot of work in Vietnam (he has a couple hundred developers there) and he seems pleased with the work quality and the *much* lower bottom line. Indian firms are now almost on par with American teams in regards to rates, so why even bother?

    But, as has been pointed out here already, there are thousands and thousands of US developers out of work, which makes it a buyer's market. To put it into perspective, a top-gun Russian developer is going to charge 25/hr. I am certain that you can find a comparable US developer right now to do it for approximately the same; plus or minus 10% or so. It's amazing, but even software developers like to pay their mortgage... ;-)

    1. Re:International Teams by The+Cat · · Score: 2

      Ha! Mortgage...

      House has probably long since been foreclosed, boarded up and turned into a Wal-Mart.

  9. flamebait? by tps12 · · Score: 4, Funny

    Let me get this straight.

    You are asking a bunch of unemployed programmers how to best manage the foreigners you hired to take their places?

    Hope you brought your asbestos suit.

    --

    Karma: Good (despite my invention of the Karma: sig)
  10. Yes. Don't. by bratgrrl · · Score: 2, Interesting
    What a crock of shit. There's an abundance of able developers right here in the good old US of A. I hate this kind of crap, it doesn't work anyway, you'll spend the same or more money, with ten times the headaches. I've been through this twice- never ever again. It does not work.

    --

    ---

    SCO is weenies
    Gator is Spyware
    Microsoft is thugs

  11. no difference really by mosch · · Score: 2
    dealing with an offshore programming team is no different than dealing with any other consultancy.

    Agree on the statements of work
    Make sure that the statements of work are adhered to.
    Smile and enjoy the fact that you're helping keep americans unemployed by implementing a plan which will not bring the savings you were hoping for.

    1. Re:no difference really by dubl-u · · Score: 2

      dealing with an offshore programming team is no different than dealing with any other consultancy. Agree on the statements of work
      Make sure that the statements of work are adhered to.


      No theoretical difference, but a ton of practical difference.

      For the kind of software that can be completely specified in advance, maybe you can get away with it. But most software development, especially the small stuff like this, is an exploratory process; the developers make something, the users say "no, no, we really mean..." And you repeat this until everybody's happy, or happy enough that they want to spend their money elsewhere.

      With developers twelve time zones away, you introduce big communication barriers. Temporal: everything takes a day, so the feedback loop is slow. Cultural: until you've worked with the team a while, it requires much more communication to get the same ideas across. Bandwidth: email and phone conversations are a poor substitute for physical presence. Until you've tried working remotely, you just don't realize how much info is picked up indirectly or casually.

      If the poster is going to try this, it should be a long-term choice. If you want to build an Indian team that will be kick-ass in two years, go for it. But if it's a temporary solution, it will be nothing but a thorn in your side.

  12. Budget for travel by MountainLogic · · Score: 2, Interesting

    Budget for a lot of travel on short notice. You will need "face time." Expect the trave to exceed what you will save in salary for such a small project. If you are hiring 20 or 20 programmers you might see a real savings if it comes out right. Also, plan on switching your US team to the graveyard shift so you can have enless phone calls with them. Been there, done that.

  13. Quit by 0xdeadbeef · · Score: 4, Insightful

    Seriously, the people you are working for are incompetent. If you said it would take four people six months, then they should believe it would take four people six months. Whatever immediate savings are to be had by laying off three developers and hiring Indian contractors are going to be lost in the loss of experience with your product and the overhead of managing developers on the opposite side of the world. Give up, now.

  14. Wrong place to ask by Anonymous Coward · · Score: 2, Funny
    Slashdot is a wrong place to ask that.

    Over here everybody is a code-monkey who hates the managers because they have a (completely unnecessary) university degree, get paid better and are, in general, smarter and equipped with a better human-to-human interface.

  15. (good?) Advice by new_breed · · Score: 2, Interesting

    As a programmer whose company is thinking of hiring help from a local company that uses Russian programmers, I'd say: don't do it. The amount of complications possible by far outweighs the advantages (cheap!) in my opinion.. Like: -You've got your working program. But hey! there are two major bugs in it..but the offshore team is too busy with some other job, or are not reachable for some other reason. -From experience, everything you buy that is cheap at first, might turn out te be quite expensive later. I'd say, that might as well be true for hiring programmerskills. You're gonna need people to communicate to those programmers, even if they speak english or not. That person will cost money as well, unless you're willing to give up 70% of your own time to integrate, test, debug etc. the code you're getting from them. -Losing control! What you don't make, you cannot control easily..i.e.: you can check the code itself, but not how it was manufactured, or what kind of design decisions were made. I'm sure other /. will have better stories on why you should / should not do this..Basically, I'm just saying: don't make this complicated. If you need more manpower, try looking around in your own country first. My 2 cents..

  16. Keep in touch daily, don't hire yes men by rufusdufus · · Score: 3, Interesting

    While I havent done it myself, I worked with others that have, and seen success and catastrophe. Whatever you do, don't hire somebody who is going to hedge the truth about progress. Ive seen projects completely cave in when the found out that their oversees components were months behind schedule, but the managers lied and said everything was going great. Remember they may not have the same American get-it-done attitude you have.
    Also, make sure they have the same scheduling paradigm you have; for some reason a lot of people think that estimating a schedule means padding by tenfold, others think it means come up with the shortest conceivable timeline to please the boss.

  17. Suggestions. by glh · · Score: 5, Informative

    My company has hired "off-shore" programmers, however we have always brought them in. You tend to get a really good rate even bringing them in (much cheaper than typical $200/hr consultants.. I think we pay around $40-80/hr for the off-shore ones), and I would wager that you would more than make up for it in the problems that would arise doing off-shore. The other thing with bringing them to where you are is, they tend to be more willing to work (what else are they going to do, hang out in the hotel?).

    In terms of working with them off-shore.. You have the time-zone differences, which could be a potential headache (not sure exactly what the time difference is). Most Indians would already speak english (with decent clarity) so that usually isn't a problem.

    I personally enjoy working with the Indian co-workers (off-shore or H1B's). The Indians that I have worked with have always been very productive, friendly, and don't slack off as much as their American counterparts. They almost always have better education backgrounds (due to the need for visas) but conversely have less real-world experience. Granted, I don't exactly like the idea that they are taking jobs away from Americans, but I can understand why companies will hire will hire them. Especially in this economy, where they are very excited about being able to get a position and will typically take a lower wage to work.

    1. Re:Suggestions. by Zathrus · · Score: 2

      I suppose it varies on the skillset needed and your location, but $40-80/hour is a wage that a lot of American contractors would happily take, even the more experienced ones (at the higher end of that spectrum).

      The real issues are communication ones, which I've seen a few people address. Of course, the funny thing is that most of the suggestions are things that should be done anyway - like nailing down requirements.

    2. Re:Suggestions. by Tadghe · · Score: 2

      "The Indians that I have worked with have always been very productive, friendly, and don't slack off as much as their American counterparts."

      I guess this would leave the trolls out for the friendly reasons and would leave the rest of us (including you :-) ) out for reading slashdot at work?

      And yes I'm a consultant.

      --
      Bugs Bunny was right.
    3. Re:Suggestions. by rodgerd · · Score: 2

      US$40-US$80 an hour? That's NZD$100-NZD$200 an hour. You'd have no trouble picking up Kiwi firms to do that sort of work.

  18. Re:The usual suggestions... by crath · · Score: 5, Informative

    Just do the usual stuff...

    ...but in spades.

    My employer first began contracting work to India about 10 years ago. The first couple of projects were dismal failures; but we eventually got the hang of it and continue to use lots of India-based developers. Here are a few of our learnings:

    • make sure your design documents are very detailed: if you want a data structure built a certain way then write it out; if you want screens laid out a certain way then do mock-ups; the more written detail the remote team has to work with, the better
    • talk to them every day! Don't rely on email for your communications. Use IM from your home PC to stay in touch during the evenings. Set up a daily phone call with key team members and talk everything through
    • if you can afford to bring a couple of the remote team to North America for a few weeks, bring them over at the start of the project so that you can spend some time with them and get them started on their work while you can supervise them. This isn't because you don't trust them or they are incompetent, it's just a fact of life that colocated teams function better
    • plan project execution so that the application compiles, links, and runs from Day One. This is an area where Microsoft has it right: nightly compiles of the whole project that can be tested each day will ensure that the remote team is building the application the way you are expecting. The daily call provides a great opportunity to give the remote team immediate feedback on their work
  19. Re:The usual suggestions... by scott1853 · · Score: 2

    Question, who's time zone do you schedule your meetings on?

  20. One more thing... by Ted+V · · Score: 4, Insightful

    One more thing. I agree with the others that suggest looking for a new job. If your management
    is giving you money to complete the software but then telling you how you should spend it (ie. india), that's a sign they don't really respect your management decisions. If they really empowered you and had trust in you, they would say, "Here is $X. It's your responsibility to get the project done."

    It seems like they won't accept any situatuion except one involving India programmers, and that is 99% guaranteed to fail. The failure will be blamed on you, you'll be out of work, and have trouble finding a new job (because of the previous failure which wasn't your fault).

    The mere fact that they fired your team when you said you had just enough for the project should let you know they don't really value your opinion. Find a company that respects you. They do exist.

    1. Re:One more thing... by Skapare · · Score: 5, Funny
      Find a company that respects you. They do exist.
      Unfortunately, both of them currently do not have any openings.
      --
      now we need to go OSS in diesel cars
  21. Interesting by The+Cat · · Score: 2

    Deep pockets, but only if it is to hire someone in another country.

    Now, I'm all for free and open markets, but this doesn't sound like a choice.

    What's the motivation? What's the benefit to not hiring someone here? Could it be that management is still having a tantrum about having to pay a living wage for a few years? Programmers gettin' too uppity?

    It's sickening.

  22. Dear Slashdot.. by Bowie+J.+Poag · · Score: 2, Funny



    Dear Slashdot,

    Since i'm the kind of guy willing to cut corners and drive nails with a socket wrench, i'd like to hire some Hindu guys to code for me. The 12 hour time difference means i'll never have to talk with them, and whenever they call, i'll be out of the office. This is great. Who cares of Indian coders know they'll never be held accountable for their mistakes, being half a world away? I dont want it done right, I just want it done. Who cares if they dont have indoor plumbing? I want 500 lines of code per day for 3 Rupee an hour, or i'm outtahere. What should I do?

    --
    Bowie J. Poag

    1. Re:Dear Slashdot.. by Bowie+J.+Poag · · Score: 2



      How is it R A C I S T to point out the fact that a country has nuclear weapons, but the vast majority of its citizens don't have indoor plumbing?

      Infact, i'll go a step further and offend your silly-ass politically correct fragile little bubble with a real shocker: Since they don't have indoor plumbing, they often shit and piss wherever its convenient. On the sides of buildings, or simply in the middle of the street. Why do you think disease is such a problem there? Even the "luxury" ammenities like electricity, heating, air conditioning, toilets, proper food sanitation & storage, etc. offered in major cities in India are poorly maintained, if they work at all.

      --
      Bowie J. Poag

  23. Here's one opinion by gwernol · · Score: 5, Informative
    My limited experience of this makes me suggest the following guidelines:

    • Choose the work you farm out carefully. Because of the communications issues you can't expect the offshore team to work well on innovative software. If what you are doing involves building new technology or using known technology is an innovative way, you need to have onsite people. If the work is well understood and predictable, offshore can work well.

    • Over-communicate and formalize communication. The time shift makes it hard to make sure that you get back what you wanted. So write detailed formal specs. and make sure you keep them updated as the project progresses.

    • Build a trust relationship with the team manager. If the guy leading the offshore team is on your side you have a much better chance of success. Ideally travel out to the offshore location before the project starts to meet and shmooze him and the team. This is only possible if those pockets are really deep...

    • QA at home. The offshore team should be doing their own QA of course, but you need to run your own QA operation on all offshore code. Don't skimp this, or you will never have confidence in your product.

    In general I wouldn't recommend offshore development for a small company. The overheads of managing the operation will kill you, and you will typically be doing exactly the sort of work an offshore team is less suitable for. It is much more suited to a large company that can build a long-term relationship with the offshore team and use them to help out several different projects. This allows you to amortize the overhead costs over a number of teams and projects.

    Good luck.
    --
    Sailing over the event horizon
    1. Re:Here's one opinion by magi · · Score: 2
      I completely agree on your points, especially these:
      • Over-communicate and formalize communication
      • QA at home.
      Having managed a few small software outsourcing projects (as a technical auditor of the client), I must say you can't understate the importance of communication. In the projects I was involved in, the communication was not entirely adequate, which resulted in lower quality. I don't think it's relevant that they're in India, the issues are much the same if their office is just next door. Or even in the same door.

      As in all software projects, specify everything in minute detail and don't hesitate to be redundant. If they don't have a faintest idea of what you're talking about, they'll just nod like they do understand. That's what we all do. Don't assume that they understand everything "because they're professionals". Don't throw at them overly abstract marketing-crap material, that'll just confuse them. Try to take many approaches in explaining them what you really want.

      Most important thing with outsourcing, I believe, is transferring the contractors the vision and right attitude for coding for the project and your company. All good code comes from enthusiastic attitude, but the programmer can't be enthusiastic if he doesn't have a clear vision of the objectives or doesn't understand what's really cool about them.

      As you noted, QA is extremely important. If the programmers haven't gotten the exactly correct vision about the project or don't have the right attitude, QA is the only way to find out about it.

      Code reviews are of course the butter and bread of outsourcing QA. Try to make them systematic, possibly automated to some degree. After complaining about a problem, really check that it is fixed (I haven't done this always and I've often regretted afterwards). Very often coders "forget" some requirements or feedback issues which really are important. For example, maintain a shell/python/perl script for checking problems in the sources, and if you at one point complain, for example, that the program allocates a lot of memory but never frees it, just add a "grep" line in your script to check that they'll really add at least some free's, so you can be certain that they've done at least something because of your feedback. "rgrep -r" is really useful for this kind of tasks.

      Some of the problems in outsourcing are inherent, for example that the contractors don't always have enough information about the overall systems because it is confidential. A similar problem is that they aren't at home with the conventions and working protocols of your company, which takes their attention away from their real work, coding.

      And of course, if you don't trust cheap Indian labour, you can always opt for cheap Finnish programmers! (We really don't get paid very well here.)

  24. Cost less for a reason by wcspxyx · · Score: 2, Informative

    Connectivity there sucks. Connections can be down for many days at a time and no one there thinks anything strange is going on. Getting any kind of response from the local phone companies can be nightmarish at best. And assuming you partner is large, and they have a dedicated line to the US, then be prepared for a VERY small slice of the bandwidth pie. We're talking 14.4k equivalent.

    Be prepared to document more than you've ever documented before. You can't 'wave your hands' and get the point across. You have to do rather formal and complete documentation for any portion of the project that you would ever want them to do. You can't do small-group programming, like when your programming partners are staring over your shoulder, when the rest of your team is 10.5 timezones away. This may seem obvious, but a lot of folks miss this one.

    Nail down your code/source/project management tools, and choose ones that can work in a multi-master (when more than one server can maintain data for the same project) or disconnected mode (see note above about connectivity).

    I don't know if this is cultural or just a bad experience, but it seemed to me that there was no reguard for schedule or deadlines. Trying to get folks to actually attempt to meet a deadline was difficult most of the time. We had to go to India and sit on some of the people to get anything out of them. What's the ROI on that?

    English is one of the official languages of India, but you'll still have language issues. Usually not too bad, but can be humorous at times. I remember once a sever was taken down for 'upgradation'. If you are having them document any of their own code, have it proofread by a US tech writer.

    Be prepared to go nocturnal at times. There are times on any project when all folks have to be available at the same time. You will have to match your schedule to theirs.

    Good luck.

    --
    Sig? What sig? Do I have to have a sig!?!?
  25. As an unemployeed american programmer.... by ThomasMis · · Score: 3, Insightful

    As an unemployed American programmer (with CS degree in hand), who is desperately trying to land anything from a small time contract work to entry level full-time work, I'd like to send a big "Fuck You" to your company.

    Enjoy!

    Can't wait to see how far this get's modded down!!

    --
    Check out my podcast: DreamStation.cc Video Game Show
    1. Re:As an unemployeed american programmer.... by GiorgioG · · Score: 2, Flamebait

      I'll 2nd that "Fuck You"

      So much for american pride.

    2. Re:As an unemployeed american programmer.... by cymraeg · · Score: 2, Insightful

      Salt Lake City is BAD NEWS. Lineo. Novell. Corel. PowerQuest. All have either been laying off of "trimming the fat." Couple that with the certification mills working at 110% efficiency promising prospective students jobs in the $40-60K range upon "graduation", and you have the following scenario:

      Experienced, high-paid programmers/sysadmins competing with inexperienced paper-bred geeks for the same non-existent positions. "Managers" tend to overlook experience for "pedigree" thinking that just because someone has a piece of paper on the wall means they know what they're doing.

      I've been doing "this" for over eight years. I can run circles around these newcomers, I have a killer portfolio, and have the scars to prove it. But is there a job to be had here? And this jerkwad is looking to hire H1Bs?

      To these companies I say "May the fleas of a thousand camels infest your crotch."

      Karma is a bitch.

      --

      --
      you don't have to outrun the bear, just the slowest person in your group.
    3. Re:As an unemployeed american programmer.... by BluedemonX · · Score: 2

      Get used to it. 1999 is NEVER coming back.

      It'll be interesting to see how the US manages things though - sending all its high paying jobs overseas and then wondering who's going to buy all the $200K houses, $20K cars, taxes, etc.

      I left Canada cause the major employers were all gung ho to send all the jobs away. Now it looks like the USA is doing so, too.

      --

      --- Jump!! Fire!! Bullet time!! - Lego version of the Matrix
    4. Re:As an unemployeed american programmer.... by BluedemonX · · Score: 2

      Yeah, I am still here. Green Card app's delayed - they're really finding reasons to reject considering the economy. Jobs are scarce on the ground. Luckily I have a really good case to be at my job with my experience and skill set.

      A hard time finding programming work in Toronto? I understand Canada's economy is supposedly doing better than the States, with hundreds of thousands of new jobs daily.

      --

      --- Jump!! Fire!! Bullet time!! - Lego version of the Matrix
    5. Re:As an unemployeed american programmer.... by BluedemonX · · Score: 2

      Well, look. The way I see it is, I don't have that much of a problem with the spoiled folk earning $124,000 in 1999 knowing only HTML and some cribbed JavaScript after a couple of week's "training" and finding it tricky to find work now. I don't like people being out of work or poorer, that sucks, but HTML is NOT that tricky, overall.

      However, it's highly ironic that managers wouldn't let geeks work from home even when times were good, overall, but see nothing wrong with shipping work thousands of miles away.

      When real, C++/Java/engineering work goes oversees, it's a bad sign.

      --

      --- Jump!! Fire!! Bullet time!! - Lego version of the Matrix
    6. Re:As an unemployeed american programmer.... by Andrewkov · · Score: 2
      A hard time finding programming work in Toronto?

      That's probably my problem... Every company I've talked to wants university degrees and 3 years experience. Open source and hobby programming apparently doesn't mean anything. Also my current job is not too bad, so I'm not looking to aggressivly. ;-)

    7. Re:As an unemployeed american programmer.... by BluedemonX · · Score: 2

      If it makes you feel any better, they consider me overqualified in Toronto. Add to that the sarcastic dismissal of me as a "US-jumping traitor" and you have the makings of a pariah.

      --

      --- Jump!! Fire!! Bullet time!! - Lego version of the Matrix
    8. Re:As an unemployeed american programmer.... by cduffy · · Score: 2

      Fuck you, buddy. There are plenty of unfilled jobs out there -- I was just offered a sysadminning job (in a fairly small town in northern California) that's been empty for the better part of a year. Seems a decent job -- good pay (50% more than my reported income last year), excellent benefits, fairly few users to support. I'm turning it down -- I've already got more work than I can handle, and I'm more programmer than sysadmin anyhow.

      I'd almost mention the place here, but I wouldn't want someone so incompetant as to be complaining about needing a job on /. rather than actually finding one of the ones that's genuinely currently available to have it. I like those folks, after all.

      What I can say, however, is don't restrict yourself to looking for jobs only in the Bay Area. If you insist on staying where the glut of unemployed programmers are, of course you're not going to find anything (unless, of course, you're really good). Go check out the small towns, and the places that aren't software houses -- the product and service companies that maintain their own custom software, the small-town courthouses that need IT people, the universities and the smallish (but frequently well-funded) corporations that sell to them. Talk to your contacts -- you know business owners, right? Not just software business owners but folks who happen to run other local shops? They talk to each other. Get your name out and you might get a call out of the blue; it's happened to me more than once.

      There are tons of jobs out there, even now, if you just knew how and where to look. If you can't get a job by being worth it and knowing how to look, you get no sympathy from me for trying to get a job by trying to get others out of the market.

    9. Re:As an unemployeed american programmer.... by perky · · Score: 5, Interesting

      I'd like to send a big "Fuck You" to your company.

      Simple question. Why? America has done more than any other to usher in the era of glabal markets and global business. Someone in India offers the service for less cost, then I say all credit to them. America delegates almost all manual labour to the far east - where are your clothes made? Now they are handing out contracts for skilled work, and because many asian contries have excellent numerate education they are kicking ass. The same will happen in russia when it gets in gear.

      The Indian guys we shipped in at $ORK[-2]were a fuck of a lot better than me, and as good as most of the rest of the group. Bear in mind that this was in a research group where the average PhD count was still above one despite two secretaries and a student on work placement. These guys are for the most part _good++_. I don't know where your degree is from, but they probably have two. And cost half as much. Put yourself in the position of the manager - If the project is reasonably atomic and QC isn't going to be a problem then shipping out contracts is a no-brainer.

      now watch _this_ get modded to shit.

      --
      "The new wave is not value-added; it's garbage-subtracted" - Esther Dyson, Dec 1994
    10. Re:As an unemployeed american programmer.... by isorox · · Score: 2

      Oh by the way, what's the rest of the world using as their desktop OS & office suite? Couldn't be an AMERICAN product could it? Here's a big fuck-off for ya.

      Well, americans doneted a lot of the code, but the OS was initiated by a Finn.

    11. Re:As an unemployeed american programmer.... by Malcontent · · Score: 2

      "Simple question. Why?"

      The difference is a subtle one. Think country instead of commerce. Most Americans are unable to think past their narrow self interest and don't mind if their decisions harm other Americans as long as it puts more money in their own pockets.
      Some people will put their country first even if it means less profits. You may think of them suckers perhaps but they exist.

      So this guy gets the short end of the stick and he is pissed do you blame him? I don't.

      --

      War is necrophilia.

    12. Re:As an unemployeed american programmer.... by Malcontent · · Score: 2

      "Some people will put the global community first even if it means less profits."

      This is where your analogy falls apart. Corporations become globalists because it puts MORE money in their pockets not less. They don't give a flying fuck about America. Recently Stanley corporation "moved" to a carribian nation (I forget which one). It did this by dissolving the american corporation and re-incorporating in another country. Why? Less taxes!. Now Americans have less money for schools, roads, police, fireman, national defence etc. I wonder if anybody who works at stanley flies the American flag on their car or house, if they do they ought to take them down and put up the bermuda flag (or whatever island the company incorporated in).

      --

      War is necrophilia.

  26. My experiences by Saggi · · Score: 5, Insightful

    In the company where I work we have a partner in India that we can outsource to.

    A few important rules do apply.

    1) Projects should be of a fairly large size. Don't try to outsource a small part of a project.

    2) Be precise in you specifications. We typically document and develop the architecture and design of the system together with management consultants and our customer.

    3) Send you architect to India. When your architect (or lead programmer) has got a firm grip of the project, send him to the development team in India. You may loose a lot if you try to do everything by email, notes etc. You don't need to move project managers etc, but architecture is critical.

    4) Make sure the outsourced parts can be boxed. I.e. develop in components, and specify and test each component individually. This should be done in most projects, but when you outsource, keep focused on splitting down the project in small (and easy to solve) components.

    We work with a partner company in India. This provides us with project management of the remote team. It might be difficult if you try to have freelancers spread over a large area. Try to take contact to one or more companies over there and establish control of the project that way.

    Many comments are about the language. We have not had many problems with that. The employees we work with in India are all fairly good to speak and read English, and I think that goes for most Indian programmers. That will be solved, as you will be able to determine their language skills when you talk (or write) to them.

    In regards to tools there are many. Most of our contact is done by email, word documents etc... The issue about managing the versions of source code require tools, but there are a lot of good tools out there. The most important rule is to define the handling, updating and deployment of code. (Did I mention you should build often?)

    When outsourcing don't underestimate the importance of quality control (testing etc...).

    Hope it gave you some ideas.

    --
    -:) Oh no - not again.
    www.rednebula.com
  27. Sourceforge Onsite! by Ron+Harwood · · Score: 4, Insightful

    Combine the tools at elance with sourceforge (free or commercial)... and you're probably most of the way there...

    At least that's what all the banner ads here tell me.

    You could always hire a Canadian team - you'd get someone in your own basic timezone that speaks (more or less) the same language - and works for 63% of the money (last check of the currency value).

    Of course - as always - your mileage may vary.

  28. nationality is irrelevant by Anonymous Coward · · Score: 2, Interesting
    Why?

    Why should the nationality matter to me? All I want is the optimal price/skill ratio. I couldn't give a fuck if you're from bumfuck Somalia if your code is good, you finish it on time and don't ask for too much pay. Isn't that's what the free market system is all about anyway?

  29. Requirements, proper selection of tasks by cfulmer · · Score: 2

    So, we've done this with off-shore contractors. The tips I have are...

    1. Hand over independent projects. The more interaction their part has with everybody else, the greater the chance of problems. The communications differences are going to cause issues if there's a lot of interaction with the rest of the project.

    2. Be very explicit on requirements. Nail down the exact behavior of what you want their software to do. Be explicit about the development environment and the target environment.

    3. Avoid giving them tasks that you'll need to modify heavily for the next release, because they likely won't design with the next release in mind (the next release's requirements are likely not explicit yet. See #2 above.)

    4. As much as you can, try to interview the people who you'll be dealing with. With remote development, it's all the more important that you get smart people.

    5. frequent milestones -- since you're not there, you have no real way to tell where they are on your schedule, unless you have a set of milestones that they need to meet. Build meeting the milestones into the compensation plan.

    So, the point is to segregate their development from the US development as much as possible. Work to minimize communications problems. Take strong measures to measure progress.

    It's quite possible to get good work out of off-shore development. But, it'll take a lot of work on your end as well.

  30. Here's my resume! by foobar104 · · Score: 2

    I will happily entertain any employment offer. There's a certain number below which I can't go, obviously, because I have to make mortgage payments and put food in my fridge. But I won't send you a shitty resume and then demand $100,000 a year.

    Set up a temporary email box and post the address here. Sure, you'll get a lot of crap, but you might just find a few good US-based programmers, too.

    Like me! Like me!

  31. India isn't your only option by John+Murdoch · · Score: 5, Informative

    Software development--particularly business software development--isn't about computer "science" or "engineering." It is about communication--communication amongst your team, communication with the computer, and communication through the computer with the end user. Communication is the key.

    In hiring offshore developers you face substantially more complex challenges than you do working with a telecommuter. People who telecommute have established relationships with their employer--so they already know the implications of the tone of your voice, and what you mean when you preface your sentence with "I don't mean to be rude, but...." An offshore development team doesn't know that--you don't have the kind of relationship, based on trust, common bonds, and plain old time, that are necessary to make a team work.

    There is a simple way to deal with that problem. It is called an airplane ticket. You go to them, or they (all of them) come to you--naturally that means you're the one on the plane. You can find a whole range of airfares, and a whole range of hotel prices, and a whole range of expenses involved in traveling literally halfway around the world. And unless your project is huge, you'll blow any conceivable cost savings on the travel.

    You have other options
    One (warning: self-serving promo coming) is to outsource to a consulting firm. They'll charge you a fee--but at the end of the project they will go away. You don't have any overhead costs, you don't have any headcount, and you don't have costs for machines and toolsets that you no longer need.

    Another option is to consider outsourcing to an "offshore" country that is considerably easier to get to. If you're in the United States, you might look very carefully at consulting firms in Canada: the Canadian exchange rate makes tech workers up north very attractive. And Canadian "offshore" development avoids a lot of the problems with outsourcing to the Indian subcontinent: Canadian firms are (mostly) on the same time zones as U.S. firms; Canadians and Americans share a common language--most of the time; and Canadians and Americans share a common cultural heritage (most of the time). In general Canadians are more polite than Americans, more funny than Americans, and perhaps more serious about their work than a lot of Americans.

    Believe it or not, sometimes outsourcing deals don't work out....
    An old dictum of business law says that you don't need a contract when everybody is making money. You only need the contract when things go bad. That's true--and that's why you'll need a solid contract before you start any project with any outsourcing firm. It is a lot easier to find legal help with contracts between U.S. and Canadian firms than it is to find legal help with contracts between U.S. firms and Indian firms. And--(look for articles on this subject in Fortune or The Wall Street Journal) the legal climate in India is not as stable as you'll find in developed countries. Long before Enron hit the headlines with its accounting problems, Enron was embroiled in a long-term dispute (see this BBC article, for instance) with the government of India. There are all kinds of charges and counter-charges, but many in the West have viewed the debacle as proof that in India contracts are not nearly as ironclad as we view them to be. If it comes to it, it is substantially easier to litigate in Canada than in India.

    Bottom line:

    • There is lots of outsourcing talent here in the U.S., and your total project cost with a small consulting firm can be surprisingly affordable.
    • There is loads of talent in Canada where time zones, language, culture, and ease of travel are not problems.
    • The costs of outsourcing to the Indian subcontinent include a lot of travel, a fair bit of legal and contractual complexity, and a potentially ugly downside in the event of a project failure.
    1. Re:India isn't your only option by decesare · · Score: 2

      One (warning: self-serving promo coming) is to outsource to a consulting firm. They'll charge you a fee--but at the end of the project they will go away. You don't have any overhead costs, you don't have any headcount, and you don't have costs for machines and toolsets that you no longer need.

      Yes, and the downside is that you also don't have anyone who really understands the code once the contract shop "goes away." Unless the contract is a long one, then once the code is written, it will have to be brought in house and tested and supported by someone, who is going to require time (and by extension, money) to be brought up to speed on said code in the event that something breaks or enhancements are requested.

      One other point: maybe your firm is different, but I've suffered through enough poorly-written consulting-firm code to realize that said consulting firms have hardly cornered the market on hiring good software engineers, nor do they necessarily have any better understanding of good software engineering practices than an in-house developer does.

  32. not to be trollish.. by Xzzy · · Score: 2

    ..but I can bet money that the "fat" that got trimmed from your department would be quite incensed to learn the company just turned around and outsourced their jobs a few months later, probably paying out more money in the long run than it would have cost to keep full time employees.

    If you've been granted "deep pockets", why not just rehire the guys that got laid off? Or hire a new crew of US citizens. Companies farming out their cash to foreign sweat shops isn't going to do diddly SQUAT to help the tech industry recover.

  33. Yep by llamalicious · · Score: 4, Funny

    Send me a check for $1195.00
    Include with your check all external telnet, ftp, vnc http ports and usernames/passwords you need to use for the project.

    We'll take care of ya.

  34. (Slightly OT) Exploiting Visa Workers by cafebabe · · Score: 3, Insightful

    I'll concede that when US companies pay workers who live and work in another country lower wages than a worker who live in the US, it could be a beneficial situation for both. The worker (hopefully) is getting a higher paycheck than he could get from a local employer and the US company saves on labor.

    What I think is disgusting is how many US companies cheat foreign workers who come to the US on H1-B visas. I helped one of my coworkers with his taxes because he had never filed a US tax return before. We have similar skills but our employer was paying him a third of what they pay me. Apparently, this is very common and I think it's wrong. Salaries for visa workers should be determined by the cost of living of where the employee is working and living, not his country of origin.

    --
    When violence rules the world outside / And the headlines make me want to cry / It's not the time to just keep quiet
    1. Re:(Slightly OT) Exploiting Visa Workers by cafebabe · · Score: 2

      I agree. If my coworker and I provide the same level of value, he should not be docked simply because I have US citizenship and he is still working towards his Green Card.

      Location of residence will always (and should) play a factor in salary decisions. It is logical that an employee living in Louisiana would make a different salary than a comparable employee living in Silicon Valley or another comparable employee living in Russia. What I am saying is that while country or city of residence is a logical factor in salary decisions, country of origin is not.

      The argument that I've heard for the salary discrepancies is the extra cost for helping H1-B workers obtain Green Cards, but I think that is bull. It can't possibly cost *that* much considering most companies aren't exactly busting their humps to get their employees permanent status ASAP. On the contrary, it seems that it's in their financial interest to keep them on visas as long as possible.

      --
      When violence rules the world outside / And the headlines make me want to cry / It's not the time to just keep quiet
  35. Not quite the advice you asked for, but... by Ashurbanipal · · Score: 2
    Does anyone have any pointers on managing a team of programmers on the other side of the world?"

    ...You need to be pointed at a few "help wanted" sites!

    Seriously, don't burn your brains out (or sport-death your team-mates) to meet this fabricated emergency. If you complete the task, but wreck somebody's health, the senior management will most likely see this as a success, and an endorsement for chopping geek staffing beyond rational levels.

  36. Considering "offshore" - consider Canada by kvnmcsc · · Score: 5, Interesting

    Canada has highly talented and educated programmers. Many of them, like myself, back from stints in the Bay area.
    The price is right. Typical rates for Canadian consultants are 10 - 20% discount on US rates and then discount a dollar that only worth $0.65 US. No time zone issues or language barriers. Frankly, I don't understand why a US company would consider going anywhere else.

    --
    - Tune in next time for.. a clever sig.
    1. Re:Considering "offshore" - consider Canada by aridhol · · Score: 2

      Nope, not all of us. I'm Canadian, living in Winnipeg, and can't relocate for various reasons. And unemployed.

      --
      I can't say that I don't give a fuck. I've just run out of fuck to give.
  37. Don't. by ceswiedler · · Score: 3, Informative

    In my experience, I have never, ever seen the "farm it out to cheap foreign programmers" dream work. When the code comes back it's worthless. Programmers that far from the project, with no emotional, financial, or professional involvement, have no reason to write quality code. They have every reason to churn out code which barely conforms to the specs. And if the specs are faulty at all, you're screwed.

    To make that sort of operation work, you'll have to write such detailed specifications that you'll practically be coding it yourself. You're much better off with a couple of coders who will look at what you're trying to do, and make it work that way.

    1. Re:Don't. by zulux · · Score: 2

      No way...

      Lasdty time we contracted out to Canadians - all the .h files had this at the top:

      #define eh ;

      (just kidding)

      --

      Moneyed corporations, non-working 'poor' and criminal prisoners are turning productive citizens into tax-slaves.

  38. Off Shore Development by QueueEhGuy · · Score: 2

    I used to work for a company that has offices in India. As a project manager and QA manager, I can assure you that it can be tough. If you're going to hire off shore, don't do contractors, hire a company. That's the only way you'll have accountability. They're like used car salesman, though. You'll want 5 basic developers and they'll try to sell you 5 here, 5 there, and a PM. Stick to your guns. They need the business either way.

  39. Re:The usual suggestions... by pacman+on+prozac · · Score: 2, Insightful

    "Don't rely on email for your communications. Use IM from your home PC to stay in touch during the evenings."

    I'd agree, we use IRC to keep in contact with a team spread all over Europe and America. One major bonus of using IM/IRC/chat clients would be that people often find it easier to understand typed english than listening to it. It may also help you understand them if their accent is not so good.

    Unfortunately if you're in the USA and your team is in India (which is what...12 hours ahead?) I'd guess the timezone effect may make using realtime chat very tiring :)

    Email does get around this...but emails tend to go unanswered when people are busy. The solution we use is to employ mainly insomniacs who don't mind being awake at odd times to check in.

  40. Long-Distance Teams by SilverThorn · · Score: 2, Interesting

    I run a online game development business (www.murpe.com) where most of my development and support team are found all around the world (England, India, Russia, Japan), so we had to look at a common place for having meetings and discussions. There are times my adminitrative staff cannot connect to our online games (due to firewall restricts on telnet), so using web interfaces was an option we considered.

    Since we are primary an linux-run development business, we found that using phpBB's (www.phpBB.com) web board system we could keep things private and moderated, then we also utilized a few web based project management suites (you can find these through freshmeat.net easier) for delegating tasks and having a calender available to everyone for upcoming milestone meetings and what not. Overall, the web boards/suites allow us near real-time interaction for discussing issues and for working on other problems when they arise.

    -- M

    --
    Artificial intelligence is no match for natural stupidity.
  41. This is EXACTLY why I'm anti GLOBALISM by HanzoSan · · Score: 2



    This is a perfect and I mean absolutely PERFECT example, of Americans losing jobs to some cheaper guys in india.

    Indian programmers will ALWAYS be cheaper and eventually companies when they get to a certain size will not hire Americans anymore.

    Why should they? If they can just get people from the third world.

    SLashdot programmers and technicians, take a stand and refuse to answer this question, we DONT want them to know how to manage a global programming team, I mean unless you are the manager why should you help them fire you?

    --
    If you use Linux, please help development of Autopac
    1. Re:This is EXACTLY why I'm anti GLOBALISM by HanzoSan · · Score: 3, Insightful

      unions are the only thinng we have to combat globalism

      --
      If you use Linux, please help development of Autopac
    2. Re:This is EXACTLY why I'm anti GLOBALISM by Grab · · Score: 2

      Depends. Do you add more value than an Indian programmer? If someone at your company finds it harder to communicate with you and get you to do stuff right than they do with some guy in India, then I'd say they have no business employing you anyway! ;-) The company doesn't exist for your personal benefit - the aim is to make a profit, not to be a job-creation scheme. Eastern Europe went the way of the job-creation scheme, and that worked a real treat (for killing industry, anyway). Also bear in mind that there's extra cost in contracting stuff out to provide oversight of your contractor, so their cost per hour isn't necessarily the total cost to your business.

      Thing is, you use ppl where they add value. For example, making clothes - you may contract out the actual making of clothes to Thailand or somewhere, but the value is added by the designer, and the designer is based in the US (or wherever). As an engineer, you add value by producing a good detailed design - translation from detailed design to code is pretty much a "turn-the-handle" operation which any coding monkey of any nationality can do (assuming they're competent and work to time, which is why a typical contract has penalty clauses for being late or code not matching spec).

      Grab.

    3. Re:This is EXACTLY why I'm anti GLOBALISM by HanzoSan · · Score: 2



      Ok So give all of our universities the money via TAX DOLLARS so we can provide better value.

      What?! You dont want higher taxes? Better value comes at a price!

      --
      If you use Linux, please help development of Autopac
    4. Re:This is EXACTLY why I'm anti GLOBALISM by HanzoSan · · Score: 2



      I'm not wealthy. Thats why I can relate to the third world.

      --
      If you use Linux, please help development of Autopac
    5. Re:This is EXACTLY why I'm anti GLOBALISM by HanzoSan · · Score: 2



      Education isnt free. Whos going to pay for giving the US the advantage we need of superior education?

      Currently people in China, India, Japan and other countries get better educations than we do on the highschool level, Our colleges are good if you happen to get into an elite college, but we all know that most of us dont go to harvard, mit and yale.

      So what can I, the average man do to compete with someone from China whos got a better education and whos cheaper?

      How am I supposed to compete? Be Better than everyone else? How do you be better than someone with more education and equal experience?

      You know damn well that doesnt work in practice, only in theory.

      Dont expect the government to pay? Well what is the government there for?

      Tax dollars SHOULD pay, the rich SHOULD pay for my education considering I'm the one who makes them rich in the first place.

      --
      If you use Linux, please help development of Autopac
  42. YES EXACTLY by HanzoSan · · Score: 3, Interesting



    So why should we answer this guys question, Its just helping him fire us!! Let him go to indias version of slashdot and ask THEM!

    I'm sorry but I'm not stupid enough to help my boss figure out how to replace me.

    This is why I'm so against globalism, this kinda thing will happen all the time as globalism becomes standard.

    --
    If you use Linux, please help development of Autopac
    1. Re:YES EXACTLY by Anonymous Coward · · Score: 2, Funny

      So why should we answer this guys question, Its just helping him fire us!! Let him go to indias version of slashdot and ask THEM!

      There is no India slashdot -- that's why they're more productive. Maybe you can keep your job by reading less slashdot and writing more code.

    2. Re:YES EXACTLY by cduffy · · Score: 2

      This is why I'm so against globalism, this kinda thing will happen all the time as globalism becomes standard.

      How's it a bad thing?

      Okay, if you're lucky enough to be a US programmer (which I am, incidentally), having extra competition sucks -- but by making work more accessible no matter where you are (with the understood condition that you'll need to compete with that many more people), globalism is a net benefit for everyone except those who are temporarily prospering off a market further from the free market (many producers, many suppliers, full communication, low cost-of-entry for everyone) ideal.

      And mind that word "temporarily" -- just because a restricted market benefits you today doesn't mean it'll help you tomorrow. Fighting globalism on such grounds is simply shortsighted.

    3. Re:YES EXACTLY by jsse · · Score: 2

      Yes, globalism sucks.

      If I live in a developed country, I'll get cheaper goods but I might get fired pretty easy.

      If I live in a developing country, I'll get jobs but my relatives might not have chance to escape from poverty.

      In both case, some people will become very very rich, I wouldn't have the problem if I'm among those richies, but... :)

    4. Re:YES EXACTLY by HanzoSan · · Score: 2



      why would goods be cheaper? are Nike shoes cheaper because slave labor in china makes them? How about your TV?

      The american made brands cost about the same and sometimes CHEAPER

      makes you wonder eh where the money is going

      --
      If you use Linux, please help development of Autopac
  43. Move your company to india. by Damon+C.+Richardson · · Score: 4, Insightful

    Oh it just makes me sick. If you are a american you should quit your job and find a company where the owners care a little more about their employees. I've left companys for less. For instance I quit a company because they wanted to fire american workers and run the software on Citrix clients in Mexico. Rather then help them I left. Left them with out any developer support for the 450+ user system and laughed my ass off when they tried to call me for help. In this country we don't have any type of labor party to look after national IS workers interests and it is starting to show. From what I understand about 6 out of 10 projects that try to use overseas programmers fail for one reason or another. Mostly not being able to convey the business logic to the overseas developers.

    If only you could tell us the name of your company so we can boycott it.

    --

    Last one in jail is a fascist.
    1. Re:Move your company to india. by gabe · · Score: 2, Insightful

      Labor union for IT/IS workers... Good idea. How much effort would this take?

      I have to believe there are a large number of Americans who would love to see an organization of this sort spring up. Perhaps if there was enough force behind this organization it could help to lobby congress against all of this bulls#%t technology legislation they've been passing.

      Where do I sign up?

      --
      Gabriel Ricard
    2. Re:Move your company to india. by elflord · · Score: 2
      From what I understand about 6 out of 10 projects that try to use overseas programmers fail for one reason or another. Mostly not being able to convey the business logic to the overseas developers.

      So what is the failure rate of the "control group" of projects that don't take the same course ? I'd be surprised if it's substantially better than 6/10.

  44. Re:The usual suggestions... by hagardtroll · · Score: 2

    I used to do PC Anywhere support connecting to a PC in South Africa from North America. Man! that connection was sloooooooow. Very early in the morning it was pretty bad, but once the east coast US woke up, it was unusable. Don't know if internet to India is any better, but even talking on the phone was a chore. There was such a long delay between the time you stop talking and it message gets received, then they respond, but you already said "Are you there?"

    My understanding is there isn't much you can do about that because the phone calls/internet to that region was via sattelite. Bouncing off a sattelite(s?) was just too much distance even at the speed of light.

    Expect frustration.

  45. Re:GPL? by Fulcrum+of+Evil · · Score: 2

    It sounds like this is going to be a close source proprietary application, but would it be adventageous to GPL it?

    What the Hell?! Do you suggest this for everything? It isn't a magic bullet, you know - someone still has to write it.

    --
    "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
  46. Re:Rational has some good software by ccoakley · · Score: 2

    I think you misunderstood his "deep pockets." He can hire 4 programmers overseas for 6 months. That's the equivalent of 1 floating license for a Rational product. Also, I don't know if you've used Rational tools much. Hiring a fresh college grad or unemployed programmer on the cheap to work on a product will probably give you a better return on your investment than a rational tool. The cost difference between Rational tools and alternatives is staggering. My company bought 3 Floating licenses to Rational Enterprise Studio (or whatever the heck it was called) before realizing that it just wasn't worth it (we still use Rose on occasion).
    Our company uses *ack* SourceSafe and SourceOffSite with very few problems. One programmer is using Notepad for all her T-SQL programming. One guy does his Visual C++ development in xemacs under Cygwin. Most people here are doing PHP editing with Visual Slick edit. We have a dedicated Mandrake box running Bugzilla. I do my design documents in Netscape Composer. HTML or text do a nice reverse delta compression in SourceSafe and it is easy to parse in PERL if I want to do some autogenerated code.
    One of the problems I see with Rational software is that it ends up not being cheeper than home grown solutions, and you can't modify the heck out of it as easily as the stuff you built.

    --
    Network Security: It always comes down to a big guy with a gun.
  47. My experiences by yamla · · Score: 5, Insightful

    These come from my experiences working with Indian programmers off-site. I am making no claims wrt Indian programmers on-site at your location as, in my experience, things work much better in that case. Furthermore, I am not saying Indian programmers are useless, only that the culture and language barriers make them much less productive than on-site developers.

    Assuming you have four people including yourself on-site and, say, four developers in India, you will need to dedicate at least one of your developers (probably you) to managing the Indian programmers. This will be a full-time position. You probably will not do this and as a result, the productivity of the four Indian programmers will be approximately that of ONE of your on-site developers, and that is optimistic.

    With a person full-time on managing the Indian programmers (and please note, an Indian manager in India is not the same), you will find that the four Indian programmers can develop at the rate of two to three of your on-site developers. This is because, in my experience, they are never willing to work overtime and also, because of the rather extreme language barriers, infrastructure problems, and culture differences.

    Note that you will likely also need someone to do design for this project and furthermore, the design for the code you are shipping out to the developers in India need to be much more detailed than that you give to your on-site developers. In my experience, this can only be done on-site.

    Add in a manager as you have a team of eight and you are now looking at:

    - One manager
    - One liason with the Indian programmers
    - One (or two) designers
    - One (or zero) local developers
    - Four Indian developers, producing approximately 2 - 3 on-site developers' worth of code (and no design)

    So your eight person team will be, optimistically, as productive as a four-man local team. Pessimistically, they will be half as productive.

    You are likely to become slightly more productive with eight Indian developers and four local people.

    For every four developers, you need one full-time person locally to do detailed design documents. For every eight or so people on your team, you need a manager. And you need one person solely managing the off-shore developers, assuming you keep their number down to reasonable numbers.

    That means that with three local people and four Indian developers, you will achieve roughly the productivity of two local developers.

    With four local people and eight Indian developers, you will achieve roughly the productivity of five local developers.

    With five local people and 12 Indian developers, you get productivity of approximately 7 local developers.

    It is rarely worth it to do development like this.

    --

    Oceania has always been at war with Eastasia.
  48. Don't Do It --- Big mistake by Kefaa · · Score: 5, Interesting

    Having done several of these, as your first project, with deep pockets and a compressed do date, you are going to have problems. Major, miss the date, lose your job type problems if you attempt to remote source it.

    Oversea outsourcing has problems beyond the traditional remote support. I have and continue to be a strong proponent of remote support. You get the benefit of hiring expertise that may not want to locate near you. For example, I work remotely for clients where the cost of living is easily three times what I pay here. And they do not offer three times the compensation. It sounds like that is what you are after. A win-win.

    Here are just some of the issues:
    - Time zones are more than inconvenient. If a question does not get answered by 8 a.m. , it will sit until the next day. Picking up the phone sounds easy, but will not be. How many issues can pile up before the communication is complete or they stop asking and just begin assuming? Who gets to call meetings and who attends? As the person leading the project, are you ready to work day and night? Team, status, and planning meetings need to be held with everyone so when?

    - Code is not code. Simply put, cultural differences create issues in code. If you wish to own the code when you are done, both parties need to understand what is acceptable standards and what will happen with code that needs to be reworked (do you still pay while they rewrite it?). Standards for names, fields, tables, access types, how and what type of inheritance is allowed, etc. Assuming they will be coding in English (yes, you do need to make it a requirement), unless you all agree (or they have worked extensively in the US), someone will be rewriting the code. Or you will need to look at it like generated code. It does the job, but you never want to maintain it.

    - Cultures different. As Americans, we tend to be naive in the assumption of cultural neutrality. And while many organizations do their best to be neutral, language continues to be a barrier. Consider how difficult it can be to understand someone with a varied US dialect. Add the phone, email, and 5,000 miles and a simple statement "You wish the account number removed, no?" takes on a whole new meaning. My unscientific number of 30 -40% redundant communication will work to minimize these types of issues.
    Some companies put an American in charge from your side. You work through them and they make sure the details get hammered out with the team. This helps a little, but sounds a lot better than it works in practice. I was approached by a company to have mine work as that front. I passed when I saw the only difference was I would now have all the issues the client had, plus my own.

    - What if it fails? This is the one that can be a stickler. Suppose you are being told that your project is on schedule and all the areas are coming together. The status reports look good and the code is getting delivered right up to the point everything stops. What are you going to do? While this problem exists in many contractor type arrangements, these folks are overseas in a country where use of the legal system is unknown. I hate to say it, but at least here you can sue someone if for nothing else but to get the code that was created.

    At this point, I foresee a number of people reaching for the "reply - he's a bigot button." Hardly. These are business decisions and people make them from the cost/benefit. Often the price appears cheaper, because the assumption is made that given any programmer "X" they will generate lines of code "Y" and the result will be the same. That is not the case and is simple as the difference between hiring a person out of school and one with 10 years experience. The both know C++ so the results will be the same, correct?

    Finally, consider the current economy. You did not say where you are, but I am willing to bet you could get the project staffed locally (or even US remote) for less TCO than you think. If they insist you use off shore help, then research carefully and find out the number of oversea projects done by the firm managed from the US. Of that total, how many were on time and on budget when complete. Then contact those customers and get their input. If their references are not glowing consider what the unhappy customers would be saying.

    You may be the one that kicks the trend. However, I would be careful about putting your career on the line for it.

    1. Re:Don't Do It --- Big mistake by sheldon · · Score: 2

      I do have to agree with the timezone issues. Our company is somewhat global, and we have a hard time working with our team in England while being in the Midwest. The California office has an even more difficult time because England is gone for the day when they show up to work, practically.

      I've also had to work with application support from companies located in Hawaii and Israel. That is also a challenge. Hawaii was a bit easier as I just had to stay late in the day, but for Israel it was a two day turnaround on every communication.

      My recommendation for outsourcing to India... You better have awesome specifications. If you write in extreme detail what you want, chances are someone can code it for you. But if there has to be interaction back and forth with the analysts or users, forget about it.

  49. Canada by duke_trinity · · Score: 2, Informative

    Why go all the way to India when you could move to Toronto or Vancouver and take advantage of the Government of Canada's "scientific and experimental development" tax credit program (see Revenue Canada's SR&ED website for more info). For every dollar you put in, you could get forty cents or more back... with respect to your project, this might mean an extra coder for free.
    -Duke

  50. bridging the gaps by waldeaux · · Score: 3, Insightful

    #1 - send the person who is telling you to sub-contract in India TO India.
    He'll be able to manage both of your offices more efficiently from there! :-)

    #2 - move the company HQ (incl. all of the top brass, finance, marketing,
    and HR) to India and sub-contract the tech jobs to the US. Think of
    how much $$$ your company will save then!

    There are far too many people out of work in the US to be doing this right now.
    I took a 20%+ pay cut after being unemployed for several months.
    I lucked out because I REALLY like my new job, despite the cost adjustment,
    and I'm sure that many people who are out of work would dearly LOVE the
    opportunity to apply for the positions you have at a reduced cost.

    Your company is not helping itself if it shortchanges US workers, unless
    what you're selling is for a nearly 100% foreign market - if we're all
    unemployed, how can we afford to purchase it? Another way to look at it:
    how many Indian companies are contracting out to US workers?

  51. Wrong forum by Quixote · · Score: 2
    I agree, asking such a question on /. is like asking a Vegetarian's forum "how do I gut a deer, and which pieces are the best tasting?"

    Having said that, I'd recommend that if possible, go with well-known companies like InfoSys, Wipro and Tata. They have extensive offices in the US and Canada, and in the unlikely event that legal recourse is needed, you can drag them into court.

  52. Danger by room101 · · Score: 3, Funny

    Danger, Danger!! [robot swings his arms in terror]

    --
    room101 -- how much can you stand before they break you?
    (they always break you eventually)
  53. Slashdot's worthless opinion by elflord · · Score: 2
    Do you expect to get very much in the way of insightful, well-reasoned, and objective comments on this forum ? Nope. You'll get a lot of mindless blithering along these lines:
    Indian programmers are inferior to their American counterparts; hell, they lie, cheat, don't wash often enough, and don't speak English ! Your project will go to hell --

    Unless you hire Americans (and NOT H1Bs) .

    There are a lot of serious issues to consider, but you're not going to get much in the way of answers on slashdot.

  54. I have been doing it.... by SomeOtherGuy · · Score: 2

    (Outsourcing to a team of 3 in India) for 4 years now. The answer is simple -- spend much time getting the technical and functional documentation together!!! Main problem: In order to have the kind of documentation it takes to make it smooth and productive -- the time involved from your team in the US to prepare the kind of detailed details -- (in a lot of cases) you could have spent that time doing the actual programming....because the design, specs, examples, revisions, etc, etc....usually are akin to the end product minus the time it takes to type the code in.

    P.S. -- make sure they have a fast connection direct into your network.

    --
    (+1 Funny) only if I laugh out loud.
  55. Yes, Don't. by kevlar · · Score: 3, Informative


    Unless:
    - Your 6 Month deadline is flexible to ~ 9 months (b/c it'll take a loooooooooong time to get in sync)
    - You know of specific competent people there that you know you can rely on (b/c mostlikely you cannot)
    - You have specific requirements spelled out precisely how you want it implemented
    - You do not need to worry about performance and memory (b/c mostlikely you'll take a hit there)
    - You can't just hire another American employee and try to sweat it out... (b/c otherwise you're obviously working against the common good of the programmers in this country)
    - You can deal with severe communication barriers. Lets face it, I know of PLENTY of H-1's that have lied about having a college degree to get a job here. Its obvious when they don't: they can't speak or write english well! You're mostlikely going to hit this problem!
    - There's nothing preventing these people in India from blackmailing you for more money by not providing what they promised (its happenned to us!).

    Need more??

  56. Internet Time. by neo · · Score: 2

    Internet Time is your friend.

  57. Good luck by Rocketboy · · Score: 2

    It's tough enough to get two native English speakers sitting across a desk to understand technical requirements: try it with non--native English speakers halfway around the world. From my experience the best advice one could have in your situation is, never assume that they understood what you meant, or that you understand them. To make this work you have to make the term "overcommunicate" into a reason for existance. Good luck!

  58. Re:The usual suggestions... by CrazyLegs · · Score: 3, Informative
    I agree.... My company has farmed out some work to Bangalore and my advice is the same as crath's. My primary directives here:
    • spec your work as detailed as possible. That includes GUI look, feel, nav, etc. If you don't do this, you force your offshore friends to get creative - and you definitely do not want this. It's amazing how much cultural influence you get in a GUI design....
    • this goes double if the work is OO-based! OO development is by nature a collaborative effort, so we tend not to spec the details. This doesn't work when the team is somewhere else. Believe me.
    • establish up-front how software testing will be done. In my experience, unit testing is about as far as you want to go before they hand it over for system and acceptance testing. Otherwise, you end up with a big heasdaches (security, connectivity, etc.) connecting these folks to your internal development infrastructure.
    • bring a few of your offshore friends in-house to get a feel for the people and approach your IT shops uses. This is really key to building trust and context for future endeavours.
    • Only outsource what you know. Don't ask your offshore friends to develop stuff with which your company has no real experience. It will be a disaster for all involved. Trust me.
    Guess that's it. Good luck.
    --

    CrazyLegs

    "Pork!!" said the Fish, and we all laughed.

  59. RE: Managing a Global Programming Team? by ghengismcbangus · · Score: 3, Informative
    I work for a west-coast U.S. company. Three years ago, we aquired a company in the Netherlands. All of the employees there are fluent in English, and the developers are mature and skilled. They had an existing product which motivated the sale, and the developers there were very familiar with it.

    The Dutch product is supposed to integrate with the product I work on, but in more of an inter-process-communication way than a codebase-integration way. That is to say we collaborate on interface, but implementation is generally determined locally.

    Even so, the geographic separation has been a nightmare! At the very least, the nine-hour separation makes the round-trip turnaround for an email Q&A one full day: (I ask a question at 9AM PST - which is after quittin' time in Holland - so they don't see it until 8AM their time (11PM here) - and I don't get an answer until I come in the next morning.) And these are locally-managed developers with an execellent existing infrastructure. The problems would increase exponentially with the required granularity of long-distance management.

    A recent assesment of the problem by an outside consultant suggested that the only cure for this problem is a large increase in spending on plane tickets. Our developers will have to fly there, and vice-versa, for face2face communication far more often than the semi-annual visits we currently do. If we had hired the Dutch developers just because of their lower cost/hour, we would have seen the savings completely blown in the additional travel costs (not to mention the lost productivity from jet-lag - you're not going to get anything useful done when you hit the tarmac at Schipol at 8AM local time, but your body is telling you it's bedtime.) This problem would only be worse if the remote office were in India, with a 12-hour separation.


    Summary: The overhead of long-distance management will far outweigh the savings realized in hiring cheaper developers. Don't do it.

  60. Re:Slashdot's worthless opinion, including you ;) by elflord · · Score: 2
    Wow, a well informed response from the slashdot herd already!

    The speaking english is a big part, kind of hard to communicate without a common language.

    Hey Dumbass, the Indian programmers do speak English.

  61. With Sourceforge, of course! by Pinball+Wizard · · Score: 2

    Technology has become a primary asset in your organization, and software is at the core. Those who leverage software to respond to rapidly changing market demands will thrive, while those who don't may perish. SourceForge Enterprise Edition provides the flexibility and clarity needed in this day and age of Enterprise Application Integration (EAI) and co-development with strategic partners.

    SourceForge facilitates agile software development, which in turn promotes creative collaboration and brings cross-team development projects to fruition, faster. The cost of software is based on developer efficiencies; therefore, reducing the time it takes to complete a project is key.

    Managers and developers waste valuable time in meetings and teleconferences to coordinate their development activities. SourceForge addresses this issue by automating the collection of data and centralizing communication. With SourceForge, it's easier for developers to hand-off code to other team members, while managers have the necessary tools to make proactive decisions.

    SourceForge provides the edge you need to stay two steps ahead. You will gain a more comprehensive and accurate vantagepoint of all cross-enterprise activities. With enhanced clarity, your organization has the ability to produce quality software in an efficient manner, while reducing excessive administrative overhead, unnecessary spending and duplicated efforts.

    SourceForge is the leading collaborative software development (CSD) platform used by more than 400,000 developers worldwide.

    VA Software provides SourceForge as an enterprise software product that integrates the essential tools for building applications. SourceForge enables companies to develop better software faster by bringing together the critical information and resources they need to collaborate more effectively across different locations, teams and participants.

    By integrating tools for software developers, development managers and executives, SourceForge helps companies become more responsive -- and better leverage existing resources -- while reducing costs.

    Learn how SourceForge and CSD are transforming innovation in the enterprise.

    VA Software's flagship product, SourceForge Enterprise Edition, provides IT and engineering organizations with web-based tools that enable developers to collaborate, managers to monitor projects, and executives to obtain critical information on demand. Designed for installation behind customer's firewalls, SourceForge has the capacity to support development teams from 30 to upwards of 20,000 users across different locations, groups and participants. By enabling collaborative software development, SourceForge Enterprise Edition helps organizations become more responsive -- and better leverage existing resources -- while reducing costs.

    --

    No, Thursday's out. How about never - is never good for you?

  62. Hire Me ! by Jayson · · Score: 2

    I am an experienced software deveoper that is fairly competant in what I do. I am presently living in Southern California, but i am willing to relocate to most places (especially moving back to the San Francisco Bay Area). A full resume can be found at http://xcf.berkeley.edu/~nordwick/resume.pdf or you can just go the homepage to find other formats.

    Yes! I am using my +1 bonus, because I need a job badly.

  63. Re:rule 1: understand the foreign culture by BasharTeg · · Score: 2, Funny

    "rule 1: understand the foreign culture"

    Which in the case of India means Tiger Penis Soup and forehead dots!!!

  64. this isn't all bigotry by Provincialist · · Score: 2, Insightful
    There has been quite a bit of protectionism and bigotry expressed in this discussion, but please don't discount the real issues involved. I worked for 1.5 years in Asia relying on developer support in the U.S. and in London, and that sucked real hard for many of the same reasons that have been given above. This was a combination of development of new functionality and bug-fixing, and it was like pulling teeth.

    When you can't call the developers except at 1 AM, and when they don't have an intuitive understanding of the the cultural situation in which the product will be used, you've got a difficult time. If you add to that developers who do not feel personally responsible for producing quality software [and developers like this exist in ALL countries], it's very difficult to make any progress at all. You probably have techniques for dealing with uninspired programmers working in the same office, but you should realize that when they are working 11 timezones away you will have very little leverage.

    later,
    Jess

    --
    I am programmed for etiquette, not destruction!
  65. Re:Slashdot's worthless opinion, including you ;) by elflord · · Score: 2
    More well informed commentary from the slashdot jihad !

    And your point is?

    That the other guys statement was dead wrong, and is an exemplar of the sort of thing witnessed in this discussion.

    Since when did speaking english meant two people can automatically understand each other? When did communication become so easy and trouble free?

    I made no such argument. Your argument here is bogus-- you try to restyle the other guys comment into something semi-coherent, and then pre-emptively rebut straw-men based on the bogus assumption that I'll blindly oppose out at your refined version.

    Communication is more than just a written language, well unless it's coming from your mouth of course.

    Cheap invective is not victory.

  66. Elbonia have a National Anthem? by crovira · · Score: 3, Insightful

    Start with a really good CVS (Check-out check-in.)

    Make everything and I do mean everything a configuration item:

    configuration management documents,

    object repository
    class/method code, (The CVS itself)
    data instance (data sources & sinks)

    project & subproject
    tasks & milestones,
    configuration item production and consumption
    (critical) paths,

    human resource experience set
    skill inventory
    task experience requirements,

    design specs,
    analysis docs,
    layouts of
    files,
    tables,
    object models &
    relationship models,
    presentations (screen & report),
    system architecture documents,
    strategy documents on
    database,
    middle ware,
    business logic &
    presentation layers components & reuse
    coding specs,
    reusable components
    code classes and methods/functions,
    test plans,
    test runs & results,
    implementation/deployment plans,

    migration paths from
    development, (stages and what
    testing,
    production to
    final deliverable packaging.

    Then, maybe, just maybe, you may be able to create something and deliver something that won't make you want to stick your head in a bucket in shame, at all, never mind on-time or under budget.

    There's a lot more to managing a project than inspirational speeches and waving "The One Minute Manager" around and failing to remember Brook's "Mithical Man Month."

    --
    MSBPodcast.com The opinions expressed here are my own. If you don't like 'em... Think up your own stuff.
  67. Here's an idea by AppyPappy · · Score: 2

    I work for the state. It's a lot of work but state workers get a LOT of time off. I generally accumulate more leave than I can use. I'm looking at 4 weeks of unused leave this year.

    Instead of going off-site, try and recruit currently working programmers to chew up their leave at YOUR office. You generally only need warm bodies in copious amounts at certain phases of the cycle. You can hire three or four warm bodies to hammer code for 60-70 hours a week for a few weeks and complete much of the base code. Your in-house staff should be able to do the rest.

    --

    If you aren't part of the solution, there is good money to be made prolonging the problem

  68. Careful! by osgeek · · Score: 2

    If you just hand off the programming work to a team overseas (especially in India), be prepared to have it utterly fail. I've seen it happen time after time after time...

    Your only chance is if you have key company personnel overseas managing things every step of the way. You've got to have a very good manager there making sure that *your* priorities are being adhered to.

    Overall, I'd say to be extraordinarily careful before undertaking offshore development.

  69. Weekly Reports and Team Website by Sartian · · Score: 2, Insightful
    As someone who has been working from home in Boston for a company located in Ohio, I have an idea about some of the issues regarding managing remote teams and assets. Since it is unlikely you want to be spending lots of money on long distance telephone calls, I am assuming the the preferred communication medium is going to be email for most cases.

    A problem with managing remote programmers is that it can be hard to quantify our work. This is where I suggest weekly reports. I know most everyone hates to do something like that, but they are useful for both the employer and the programmer. A weekly report due friday allows the programmer to quantify their work for the week, explain programmatic issues and provide a refresher for them monday morning when they resume work. As a team building exercise, it can be useful to read each others reports when you run into a problem because someone may have already ran into it. I may be working on server code and am having a problem with UDP packets and someone else may have an insight that would help me.

    For the employer, it helps you understand exactly where each programmer is at in the project. If a junior programmer seems to be hung up on the same problem for a couple weeks, you might have another programmer temporarily help him resolve it or move him/her onto a different task. Since you can't physically be there to check on progress, this is the next best thing. If it gets to the point where you have a performance review, there is a lot of existing documentation available for you to review.

    We do our weekly reports in HTML so it can be viewed from any machine with a browser. As someone who hops back and forth between Unix and Win32 environments, I prefer HTML over the dreaded Word Document. Bleh. The hyperlink ability is nice because it can refer to earlier reports.

    Regarding HTML weekly reports, I'd suggest making a password protected website available to all team members that contains the weekly report archive as well as a couple discussion boards. You can have general team announcements and have general product discussions. I believe a board would probably be better since you'll probably have team members in different timezones. The discussions can also serve as a knowledge repository. If, 7 months down the road, you wonder why one of the developed programs uses TCP instead of UDP you might find the answer several months ago in a discussion about that very subject. At my previous job, Terra Lycos, occassionaly someone on the team would wonder why we did something a certain way. Often the answer was that it wasn't feasible when we first implimented the technology. Or we didn't have the hardware. Or we didn't have the staff. Etc. Project histories (especially searchable ones) are damn useful.

    Thats my 2 cents worth... I hope it helps. :)

    Michael

  70. $200K house? sign me up! by cpeterso · · Score: 2


    In California, the average house price is about $350K. In the Bay Area, the average house price is more like $450K. Maybe it's time to move to Mexico..

    1. Re:$200K house? sign me up! by denzo · · Score: 2
      Not to mention that the average Bay Area house is crap for the bordering-half-million dollars.

      And $20k cars? How about $35k SUVs and Beemers? $20k is what they buy for the kids.

  71. Protectionism == Monopolism by Camel+Pilot · · Score: 2

    I wonder how many whining techies here that are loudly proclaiming "Hire American!" also dribble disdain about MS anti-competive practices and attempts to manipulate the market?

    A global and free market place is the way of the future. You will need to learn how be competive on a global scale and not try to place artifical barriers to "protect your market".

  72. From a project manager from India... by tarun · · Score: 4, Insightful
    Well, I have been managing off-shore projects from India for about 5 years now and here is some advice rare on this board.
    • first of all cheer up. It is not as difficult as most people make it out to be :)

    • start by choosing the RIGHT company for the project. A right company is not necessarily big or small but one which has a similar style of functioning as yours. As you probably understands different companies have different levels of processes, different way of working essentially different cultures. Chose a company that is closer to yours. Ask bidding companies about their processes and cultures and to show you samples of their design documents, SRS, use cases, QA unit tests and whatever they have in their SE processes. And yes, it is possible to find companies in India with cultures not much different from American companies (not all of them are sweatshops).
    • There are lot of cheats and low-quality firms out here to swindle you. Look for references. Call your friends. When companies come to bid, ask them to give references you can check locally. Talk to american project manager of reference in detail (buy him/her lunch!!).
    • To be candid, in India level of professionalism is lower but value for human relationships is higher. Insist on talking to the actual project manager in India responsible for delievery IN PERSON before you give out the project. Ask the company to fly him to US.You only want to find answer to one question: CAN YOU TRUST HIM? (with your money? your kids?) If he is a trustable person then only give the project. (this point is impossible for an american to understand - they cannot make out why trusting your software is not very different than trusting your money)
    • Once you have awarded the project, consider your Indian partner as an extension of your company. Involve them in each stage of the project. Include them in requirement gathering and design stage. Ask them to fly-in at least some of their main guys and be a part of the process. Then, during the development stage chose a hybrid model. Have some (at least 20% of off-site) of the people from the Indian company work at your site while the rest work off-site. This will help ease communication barrier and help both companies understand each other cultures better. Indeed communication is the key to the project, insist on lots of email exchange, standardise on an IM client(yahoo, jabber, groove whatever) for the entire project team


    P.S. contrary to opinion expressed in most mails. Time zone difference is an asset. I do most of my client calls from 7 to 11 pm India time which is early morning in US. Also, most of our first-time clients are pleasantly surprised to find that 40 bugs they reported last evening have reduced to 2 by today morning !!
  73. Also checkout the company!!! by akbar501 · · Score: 2, Informative

    Detailed design docs, GUI prototypes, communitation are all very important.

    However, check the quality of the company.
    1.) Look for a company that is owned by an Indian who lives in the US. This will save you a lot of problems as a company owned by an Indian-American is more likely to have already addressed many of the cultural, not to mention technical, issues. Plus you want an Indian-American owner because they can better explain to you what to expect from the Indian business culture, some of which is actually better once you know what to ask for.

    This is important because you don't want to spend your time and money teaching another company how business in done in America.

    2.) Ask the company to provide you a written list of what documents and work products you can expect from them. This will cost you, but it will save you lots in the long-run. Every company claims to have process, but if you hold them to delivering an SRS document (etc.) before coding then you will quickly get a real feel for whether or not they use a formal development process.

    3.) Ask about their facilities.

    Find out if they own or rent the building. Companies that own have better financial backing and are more stable (usually).

    Also, are they connected with a local University (this can save you lots of money and time for mundane programming tasks!). Affiliated companies can also hire more quickly should your requirements rapidly change. Also, they'll be more flexible with regards to a sudden and short-term need for additional staff.

    Also ask about their Internet connection if you will be transfering large files. Everyone will tell you they have broadband, but you should test this by sending several large files (40MB) over a period of several days. Also, put instructions for downloading the second day's file in the first.

    ---
    And Finally:
    All in all, I would highly recommend checking out the company and not just they technical capabilities.

    Also, don't listen to all the negative people who say that Indian programmers are not good. If they are not good, then how did they develop a multi-billion dollar software export industry (which happens to be the world's largest supplier of software services to the good 'ol US of A).

    As an owner of a trans-atlantic software development firm, I wish you the best of luck. Plus, on the off chance that you get a lemon with your first attempt at hiring offshore, don't give up, just analyze what caused the problems and fix them.

    Thanks,
    Akbar
    President, COO
    America Technologica, Inc.

  74. Face Time by therion · · Score: 2, Interesting

    We (my partner and I) have 20 programmers that work for our very own foreign-owned company in Vietnam.

    Our guys are *good*. They're smart, constantly learning new things and are quite dedicated. At need, they willingly work late hours for special projects and accelerated deadlines.

    But one thing that makes our projects work so well is that we think of it (as another poster said) as a **long** commute. One of us is there for about two weeks every month. Houston to Saigon averages about $1000-1100 per flight. It is a *required* business expense for us.

    And it's a two-way commute: we're very anxious to get individual staff members over here as soon as we can (lots of visa problems thus far). Not only do we want to get them property indoctrinated with US business practices (!) but we want to show them that a Houston summer is at *least* as unpleasant as one in Saigon. :-)

  75. Hiring a small consulting company by John+Murdoch · · Score: 2
    One other point: maybe your firm is different, but I've suffered through enough poorly-written consulting-firm code to realize that said consulting firms have hardly cornered the market on hiring good software engineers, nor do they necessarily have any better understanding of good software engineering practices than an in-house developer does.

    That's entirely true: practically everybody I talk to about a prospective project asks me who we've done work for. Nobody ever asks who we have worked for twice. But that's a very important metric: how many clients have given you another project after you delivered the first one? How many clients have given you a fifth, or a sixth, or a twelfth?

    In the case of this thread, the original poster is stuck with a contract shop--he thinks his options are an outsourcing company in India. My point was to emphasize that unless his project is huge, he's a lot better off looking for outsourcing help closer to home. One option is to hire a firm like us (and nobody has ever suggested that our code was anything less than spectacular, I might add); another is to hire a Canadian firm. Any way he approaches this problem, his employers have decided they're going to outsource the project.

    Depending upon the project and the consultant, you may not have to have a lot of in-house support for a project. One of our clients is a major industrial gas company--we've done a bunch of work for them over the years. Some of those projects have been turned over to in-house staff; others, generally smaller projects, have a corner of somebody's desk, but if the app needs tweaking they'll toss us a couple of bucks to make the changes. We're sufficiently tuned into the client's release procedures that we look like just another development team at roll-out.

    Other consultants have different views--and perhaps they make more money than we do. My view on consulting is that I want a continuing relationship with a client, doing new and interesting stuff. I do not want to spend my career fixing bugs and writing tweaks for ancient projects on out-of-date platforms. The way to get to do that is to be the guy the client thinks of when they're talking about methodology, be it "software engineering" or something else.

  76. Bullshit! by donutello · · Score: 2

    What a bunch of FUD!

    It is also risky since India is a third world country
    Software developers in India have as much access to the latest technology when it comes to computing as any developer in the US would. I don't see how India being a third world country in any way negatively affects the expected output. On the contrary, lower costs means you will get more bang for your buck.

    and its neighbor is about to launch a nuke at it.

    Pakistan is no more likely to launch a nuke on India than Cuba is to launch one on the US or than someone is likely to fly another plane into a major US landmark. For all the posturing that occurs, the last time Pakistan and India were at war was over 30 years ago. War hysteria is something politicians stir up to distract from local issues and rarely result in much action.

    The rest of your arguments are valid but the xenophobe in you sticks out when you make blunt statements like above.

    --
    Mmmm.. Donuts
  77. Re:Become a citizen of India by Zero__Kelvin · · Score: 2


    " Does the company have more of a duty to its American workers or its American shareholders?"

    Neither, or more accurately, both. It should have a duty to America itself that supercedes them both. Get it?

    --
    Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
  78. time difference by jafac · · Score: 2

    don't do it, it will be a total clusterfuck. Unless you like daily conference calls at 11:30pm.

    --

    These are my friends, See how they glisten. See this one shine, how he smiles in the light.
  79. Seattle area folk by BluedemonX · · Score: 2

    Listen to 570KVI - there's a guy running ads for web sites developed under $1000. His team is in Asia, so he can pass on the savings to you!

    I'm sure all you out of work HTML coders appreciate this.

    --

    --- Jump!! Fire!! Bullet time!! - Lego version of the Matrix
  80. Re: Real costs of Indian development by dahlgren · · Score: 5, Informative
    Bottom line: if you do it right you get what amounts to near-round the clock development at a fraction of the price. If you screw up, even as little as twice a week, you lose a week of development, and sometimes more.

    Background: I've invested five years involved in the management and growth an Indian engineering team, and spent one year working for an engineering company based in Bangalore. I'd like to share some real experience and raw numbers for educational purposes.

    First off, two things compel management to explore Indian development as a viable option:

    1.) Cost savings
    2.) They speak English

    First, cost. The burdened rate for your average full time US software developer currently runs around $30-$50 an hour. (Burdened rate= hourly expense to the organization, which includes hourly wage, PLUS hourly breakdown of benefits, PLUS hourly breakdown of an individual's share of the operating expenses, calculated roughly as "AnnualExpenses / NumberEmployees / 2080", 2080 being full time work including vacation and all that.)

    The burdened rate for your average web developer in Bangalore India runs anywhere from $6.50/hr USD for entry level engineers to $20/hr USD for intermediate host software end embedded engineers. Note that Bangalore is perhaps one of the more expensive markets for developers, certainly more so than Chennai and in Hyderabad (see below for regional discussion).

    Quick - do the math. From a cost accounting perspective this makes loads of sense. The devil, of course, is in the details.

    Next issue: "they speak English." That is true, but in the south, where the "High Tech Triangle" is defined by the cities of Bangalore, Hyderabad, and Chennai, often they speak Kannada or Tamil first, THEN they learn Hindi and English in school. Sometimes English isn't even their second language.

    At this point many laugh and point out that there is then no way one could hope to understand these people, but that's an oversimplification. I've yet to have an experience where I've been unable to understand what an Indian Engineer is telling me.

    Where this becomes an issue is where communicated expectations and requirements are sloppily conveyed verbally or through informal channels, such as Email. This audience of any should know to manage requirements well, but I've seen this mismanaged repeatedly.

    Number 2 on the aged list of "Sex Best Practices of SW Development" states one should "manage requirements." Working with teams in remote locations, regardless if they are across the country or around the world, will fare far better if you nail this essential rule.

    What happens if you don't manage your requirements? I encourage anyone to try working for a US company while located in a remote office...or even managing your project while on the road and working out of a hotel room. Working in India is often like working at the end of a 10K mile whip. Most people forget that hallway conversations don't make it to your remote office.

    One more point on requirements: make sure your specifications include a definition of UI, preferably developed in the market where the product will be used, and look into using a string table to manage your strings, which helps greatly in your localization efforts. I actually make these recommendations regardless of where the SW team is located. Since when have traditional SW developers created winning interfaces?

    If an Indian engineer has been toiling to get into SW development since they were 13 years old, how would they gain the experience to know what UI is intuitive? And even though developers have a good command of the English language, don't expect them to fix typos in your strings...which is why a string table is often better.

    This is actually a huge issue, but in summary, nail your requirements and you come close to nailing this whole "they speak the same language" deal.

    Finally, don't be shy to call during their operating hours, which on the west coast is 11.5 hours off. The work day typically begins at 9-10 am, and continues till 7-8 pm. Lunches are at noon or 1, and there is a coffee time taken at 3 or so. A phone call will nail close to every issue, far more so than an Email.

    Finally, know your regions and how to take advantage of them. The "High Tech Triangle" is getting pretty sophisticated and therefore expensive, relative to other developers in other areas in India. Step outside this triangle and find some fat development deals, such as Profluent (not the one in San Jose), who is located outside this region and therefore hit even harder for business than those within, but my getting access to Profluent came through a strong personal relationship I have there. It pays to network.

    Bottom line: process exists to negate risk, so evaluate the risks, then staff and define processes as appropriate. If I were to do it all over again, and I am, I'd invest in a project manager whose not afraid of 36 hour flights and 2 am calls, and I'd work with a smaller development shop before I'd work with a large one, for reasons I'll not enumerate here.

    I'd like to end by sharing why I continue to chose native Indian developers for personal start-up ventures involving my investments: the developers I know there exceed the technical sophistication of domestic US resources. Too many American engineers smugly avoid cramming on diverse topics, a skill learned in the high-stress schools that weed our slackers. If I want good engineering work I call my friends in India.

    I hope this has helped.

  81. Hey, America already gets its share... by Lazy+Jones · · Score: 2
    ... everyone pays taxes, so the government'd better make sure that those companies can live and prosper.

    Your nationalist views are stupid and short-sighted, IMHO.

    --
    "I love my job, but I hate talking to people like you" (Freddie Mercury)
  82. It won't work by kyras · · Score: 2, Informative

    A cardinal rule of software development: "Adding more developers partway through makes what would otherwise be a late project even later." See The Mythical Man Month for a full, well-thought-out explanation as to why.

    --
    Tastes like burning! - Ralph Wiggum
  83. Re:Think it through by Com2Kid · · Score: 2

    Who matters more? They're both Americans.

    No, the high level investors are suits/beancounters and therefore except from all rights privileges and sympathies that are given to humans / lower forms of life.

    I have more care for a stray dog then I do for some damn rich investor who doesn't give a f*ck about science or technology and instead just worships the almighty buck.

    Fuck'em, quality is what counts, not just the bottom line.

    ---- is having a very bad experience with tech-support that was outsourced to India.

  84. BIG Mistake! by mattr · · Score: 2
    I have had problems with every project that involved Indians, mainly because of communications problems and lower skill levels. There may be great companies to work with but as far as I've seen, bringing people in house has not been so fantastic and involving disparate teams tends to reduce focus on priorities. For example there is one project (I am not in charge of it but evaluating it) involving Californian and Indian teams that is to be delivered in Japan. For some reason it is way too late and when we ask questions instead of straight answers we just get more code. It has been like pulling teeth just to get a list of changes since the last version. Unit tests or a reasonable spec? Forget it. Documentation? Nope. Any efficiency I've seen has been totally eaten up by unscrupulous, incompetent management as far as I can see. This is one of the worse examples and I do have to say that I have enjoyed working with an Indian programmer in the past (who was getting paid the same as us), but there are too many things you will assume to be reasonable practices which people who are not immersed in the same online/offline culture will not share. I second the recommendation that you work with Americans and Canadians if possible (if you are in the U.S.).

    That said I have also heard that Bulgaria has very good and very inexpensive people.. but yet again I have never seen this team used for the most important, time sensitive things. An Indian team might be appropriate for a lot of work that doesn't need brains to build or test, has no hard deadline, and has an extra person or two on your side to manage them. This is DEFINITELY not a solution for a 4 or 5 man project. BIG MISTAKE!

    If you really want to go offshore, call me. I am a highly experienced American in Tokyo. I'd try to be competitive of course but I'll be straight forward. It is not going to seem cheap but it will save you a ton of money. I understand engineering and have also used documentation, face-to-face, and telephone meetings to solve problems that developed in large projects that involved many offices around the world. For example I was hired to solve problems in a project that included a U.S. corporation, their U.S. developer, the Australian branch and their developer, ditto for Japan and cases of where things were going wrong in Australia, China, and Germany. Obviously the problem was with the parent organization and in the end, the Japan side decided the solution was to tell them to go to hell. You need someone like me, preferably based in the U.S. if you can find him or her, who has seen the same problems over and over again. Get your boss to give that person some control over the project and fire teams quickly that don't act professionally.

    I think your company has made a mistake though. It's not like you can't find good developers in the U.S. who need work. Maybe if you and the remaining programmer threaten to quit your boss might get a glimmer of understanding. It's not like you would be spending your time doing anything constructive if you get into this mess. Look for a new job!

    One thing I suppose I or someone like me could do would be to coordinate development while standing between the two timezones. I just have experience in it because there are a lot of Indian programmers here and I work with lots of Americans and Canadians. But best for you to get a consultant in the U.S. who can come in from the outside and tell your boss the same thing.

    If you absolutely must use a given Indian team, prepare for spending lots of money on phone calls, hotel stays (at least one person, one month), trips of a 5 person team, lost deadlines, extra documentation to make sure everything stays on track, and an extra budget for a wig since you're going to pull out all that hair. If this thread doesn't convince you and your boss, you both deserve all the trouble you get.

  85. Re:BIG Mistake! -P.S. by mattr · · Score: 2
    By the way you are not alone. Lots of people are thinking they ought to be able to save money on development with overseas teams. Just yesterday I was told about a project which is relatively large, has a very tight deadline, a somewhat tight budget, and yet still has a number of things up in the air.. the spec is not done.

    The guys were talking about trying to find a Chinese team (China to Japan is like India to the U.S.) that could do it. When someone is sitting in front of them who has the experience, the time, and is willing to meet the budget. If you have a hardware factory China or better yet Taiwan is great. But NOT for an important smallish project. You'd be better off outsourcing the thing to a small shop in your neighborhood.

  86. China is a good alternative by BjornStabell · · Score: 2, Informative

    If your calculations are right, the total cost of a Chinese programmer is even lower than that of Indians. This fits with the view I've heard from some other big companies discussing outsourcing; India is getting too expensive.

    Plus in China, with so many foreigners here chasing "the wild-wild east gold rush" you have excellent native-speaking systems analysts, project managers, even designers on the ground!

    I've worked with Indian teams as well, and here are my experiences:

    Language barrier
    Over the phone it takes quite some effort to understand what they are saying; if you're used to the Indian English accent, ignore this.

    Crap requirements management
    Even companies claiming to be CMM Level 5 didn't manage requirements; they just casually talked about them over the phone. This seriously destroyed my faith in CMM Level 5 as a useful quality measure. Note that I'm not claiming most Chinese companies will be better, just questioning value of CMM.

    Poor user interface design
    Here I agree with the previuos poster: outsourced to Indian software development companies, the user interface will be everything but user friendly and obvious. One company that had the user-interface for their website developed in India had to offer 2 day training programs to teach people how to use the site! Talk about self-evident design! Let professionals designers do it. In China you can find plenty of US and English designers, at a very reasonable cost; they're here for the experience, not the money.

    I'd be glad to forward requests to software development companies in China.

    1. Re:China is a good alternative by BjornStabell · · Score: 2, Informative

      Language is a problem, so that's why you need native English speakers as systems analysts, project managers, and designers. The point is that those are available in China. This may not be a commonly known fact, but recently, e.g., Beijing has seen a rush of foreigners looking for work. These people are different from the expensive expats that were traditionally dispatched here before; these people are here for the experience, not just the money, so they'll accept significant salary cuts compared to what they would be offered back home. The bottom line is that you have a huge pool of low-cost high quality local software developers and other technical personnel, and very reasonably priced native English speakers to act as a management buffer, all on the ground here in China.

  87. You need a leader offshore by Rsriram · · Score: 2, Insightful

    I work in India doing offshore work. Keep these things in mind

    1. Document and explain (by phone) the architecture and design well to the team

    2. Identify one technical or team leader who will manage and give them clear deliverables. Do not treat them as if they are in the same room as you. Break your design into components/subsystems with clearly defined interfaces and give them one/many of those sub systems

    3. Ask them to estimate their work and plan their work. Review the estimate and plan. Manage the sub project instead of trying to manage tasks. Challenge the team and give them autonomy instead of trying to micro manage. These are smart people.

    4. Clearly lay down coding standards you will follow, checklists for code review and unit testing strategy

    5. You can use a common repository but lay down the rules about checkin quantums, build procedures and integration points.

    6. Talk to the team everyday for 10 minutes to get a sense of where they are at.

    7. Review the code everyday. This gives you a sense of the actual progress, code quality and helps address issues up front.

    I am telling you these things since I see developers in the US trying all the time to micromanage the team out here since they cannot see them and they feel very lost without "visibility". This leads to over management and lack of control.

    --
    O this learning! What a thing it is - William Shakespeare
  88. Re:anti GLOBALISM vs American "Cost of Living" by dbrutus · · Score: 2

    The american legal system would be calm down a lot by the simple adoption of a rule, the loser in a lawsuit generally (with limited exceptions) pays the lawyer fees of the winner.

    All of a sudden, medical care gets about 50% cheaper (unless you have a doctor in the household, you have no idea how much defensive medicine inflates costs), people stop using lawsuits as revenge tactics and political weapons, and the contingency fee crapshoot goes out of fashion. Even with this insane system, we've got the #1 economy in the world (and extending our lead), if we had a decent loser pays rule, nobody would even come close.

  89. Re:Move by dbrutus · · Score: 2

    Both the US and USSR (Now Russia) have sophisticated systems that keep nuclear missiles from being launched by accident or merely go off in their silos. When Pakistan and India get their nuclear weapons to an equivalent level of engineering safety, the equivalence argument *might* be worth having.

    Until then....

  90. Re:Fuck the US - you're too expensive by dbrutus · · Score: 2

    So start your own firm, run it your own way, hire the best talent (who will be fighting to get into your haven instead of working for 'shitty working conditions') and you will find your company's work ethic imitated by all the MBA clueless as the next hot management style.

    Oh, you don't want to do that? Well, 'shitty working conditions' it is for you!

  91. Re:Post to Americans - foreigners need not read by dbrutus · · Score: 2

    One reason to outsource programming jobs is that it does a hell of a lot more to better their country than foreign aid does and it certainly is going to provide more good will and a reduction in the number of people who want to kill us while raising the number of people pressuring their government to stand with us the next time some pissant nihilists with a death wish decide to make a 'statement' written in the blood of thousands US citizens.

  92. i agree by jon_c · · Score: 2

    i've been worthless, and hardworking. but yes, it depends on my mananger, the work given to me, and how i am treated. but doesn't that seem like common sense?

    -Jon

    --
    this is my sig.
  93. Re: Real costs of Indian development by pacc · · Score: 2

    If you even hesitate to make a call to your working companions, how do you figure they will work with you? You'd better take that flight not and get to know them now...

  94. Re:Think it through by HanzoSan · · Score: 2



    Actually you are wrong, the top 1 percent holds about 90-95 percent of all the capital in the US.

    Bill gates. Warren Buffet. Larry Ellison.

    IF you combine all their money you get trillions of dollars.

    Ok, so please tell me, how giving these guys tax breaks, and giving them cheaper labor could possibly help a working class citizen like myself?

    Bill gates wont use the money to innovate, he'll put it in the bank with the rest of the 40 billion already there.

    All of these top 1% will use the money to buy themselves a new set of cars, maybe even a new mansion.

    Thats bullshit, I say tax them so a person whos living on the streets can be helped, or so we can solve the teen pregnancy situation and help girls so they dont have abortions.

    The money can be used so some guy whoso already rich can buy a new mansion and brag about his money, or the money can be used to help the majority.

    What I cant figure out is why anyone whos poor would want to put the majority of the money into the hands of the few instead of into the hands of the many.

    So ok, lets say globalism puts money into the hands of the many, IF it does, shouldnt the many have the same rights we do? Which means they should get the same wage as us, and their talent will be the deciding factor, not their price.

    I dont believe in corporate welfare, tax breaks which help them, just makes bill gates and Microsoft richer.

    You'll say it creates jobs, but putting more money into the system doesnt always create jobs for US.

    You say indians should ask for more? Hah! They arent in the position to ask for more money, they dont have a union, they dont have a WAY to ask for more.

    I just think its wrong to exploit these people, while at the same time taking money away from us.

    The Global Economy Idea just wont work, we arent ready for it and we wont be ready for it until all the other countries have a democracy, a decent economy with their own businesses to compete with ours, and a good education system.

    If their countries dont have this, they'll end up being slaves. And American workers will lose their jobs to the slaves.

    Its slavery all over again, Corporate slavery, but no one sees it!

    --
    If you use Linux, please help development of Autopac
  95. Re:anti GLOBALISM vs American "Cost of Living" by jsmyth · · Score: 2
    The american legal system would be calm down a lot by the simple adoption of a rule, the loser in a lawsuit generally (with limited exceptions) pays the lawyer fees of the winner

    This is already in effect in a lot of places and doesn't work.

    So, Let's say Microsoft sues you. You have $20,000 in the bank, you take another loan, you can set up a slush fund of say $50,000 to cover your legal bills. MS have 10 - 20 times that. They can afford a bigger legal team. If they lose, they've to pay $50,000. Shucks. On the other hand, if you lose (already weighted against you seeing as they have more and possibly better lawyers) you have a potential bill of $500K - $1M.

    All other things being equal, which they aren't, the big fish will always win. That's why the BSA is so successful - they threaten legal action on the small fry from the big fry. Small fry don't want to get involved in potentially astronomic legal bills, so they cough up.

    --
    jer

    We may be human, but we're still animals
    - Steve Vai