Why Outsourcing Sucks
diovo.com
diovo.com
1. I employed individuals, not companies. It took more time, but I got good quality people on board. This is 8 years ago when I started, so I think I speak from experience.
2. The initial guys I started to work with, I have now made partners in some of what we do (sourceguardian.com as one example - they are full partners in it). Reward well and treat people with respect. It goes a long way.
3. I usually start with small tasks and build up. This way you can assess quality of code, but of equal importance you can also recognise if someone is motivated and who will deliver to deadlines. Anyone who misses immediately, I don't use again. Harsh, but it works for me.
4. I was not a programmer when I started. I appreciate this is Hacker News, but we're not all born like that and indeed it was never my dream. I learned to program so that I could put myself in the mind of the people I was working with. Worked for me, and guess what?... I enjoyed it. I'm still not a good or fast programmer, but I can converse more accurately what I want with the knowledge of what will work
I find it annoying when people put their own personal perspective as some kind of universal law. Outsourcing maybe sucks for many people, due to their experiences, but for me personally it has allowed me great freedom in my business and has introduced me to more cultures and more people than I would have otherwise.
But seriously, I agree with your take, inovica, I was frustrated with the quality of work (and integrity of the workers) when trying to cut costs and hire Indian programmers. So I looked elsewhere and have been very pleased with the results I've gotten by working very closely with Russian programmers.
A blanket statement such as "outsourcing sucks" isn't helpful to anybody seriously considering it. It's also link bait, imo.
I think the parent's point was that some outsourced people are good, and that you just have to take time to find the pearls in the (giant, steaming, rancid) piles of oyster guts. The bigger problem with outsourcing, if you ask me, is the communication delay. It's nearly impossible to build a team when they're thousands of miles (and 12 time zones) away.
Empirically a majority of the software work outsourced happens to be the resource intensive and the mundane work from large companies, primarily in the US. The software outsourcing companies from India have figured out or happen to know how to deliver and meet the expectations of these clients best. They are addressing the market need.
I hope the people on this forum realize and distinguish between outsourcing companies in India and the Indian programmers.
In other words, Don't hate the player, hate the game...
Good advice for anybody, anywhere, any time.
An entry level engineer here makes close to $1.5-$3/ hour in a reputed consultancy firm. I would not want to talk about those low paying firms at all. Nobody can expect good code for $3/ hour. I am sure Clients are paying more money per person but Consultancy is a broker here who eats up much of the money of their employees. This is pretty much the case here.
Let me tell you how a CS student prepares for exam,
Variables is 20 marks, Pointers are 50 marks and Arrays are 40 marks, Lets just study Pointers and Arrays(you get the point right).
This is pretty much the case everywhere in India.
Not sure how many CS students you know, and how many of them actually studied the way you mention. But to extend that to "pretty much" everyone is going a bit too far.And as far not giving your best (or getting the best) when you are working for $5 an hour (its great we have currency exchange rates!), is also not true as well. I know plenty of people who give/gave their best, just because they liked it. I love programming and believe i churned out good stuff, when i was earning that much. And there are plenty of others like me.
So does that "pretty much" means, everyone does great work, no it doesn't.
There are surely exceptions, you can find tons of great programmers in India who contribute a lot to FOSS, but the other question is "Are these people working in Outsourcing Consultancies"? I guess not.
And as far not giving your best (or getting the best) when you are working for $5 an hour (its great we have currency exchange rates!), is also not true as well. I know plenty of people who give/gave their best, just because they liked it. I love programming and believe i churned out good stuff, when i was earning that much. And there are plenty of others like me.
Understand, we are talking as a whole, there are always exceptions. There are many people like you, who like what they do but most of them are here only because of the money, that is the reason there is so high attrition rate in consulting firms. I can give you tons of reasons but i don't have time. Time spent giving you answers is inversely proportional to lines of codes written. ;)
If the motivation is 1, the effect is deep. Firms succeed by being cheapest. They hire, train & develop their employees based on this. The whole industry develops in that direction.
Like with Customer Service. Most outsource to save money. Most should outsource because they suck at it.
It is never wise to trust and go by any blanket generalization. I am afraid the author raised very valid points, but at the end made this blanket statement:
So what is the solution?
Don’t outsource. Seriously.
And then (probably as an afterthought) added this: If your work is very monotonous and does not demand high quality, outsource.
If you want a very good software product and if it the flagship product of your company, never ever outsource.
You are doomed otherwise.
My views on this topic:1. Outsource wisely. If consider yourself a hacker, and are in early stages of developing your product/startup idea, then outsourcing is definitely not for you.
2. If your work is not well specified and not well thought out, cross location development would make it even more harder to come up with something special.
3. Good programmers are not easy to find anywhere. If you are looking to outsource, and want a good team, please be ready to put in the hard yards. Negotiate, and select your team.
4. If even if you have the right team 'skills wise', please give this 'relationship' a little bit of time as well. :-). Developing a good working relationship across geographies is not easy. So, if you are looking for a quick solution in a short time frame (2-3 months), your odds of not getting what you really want, are higher.
Previous related discussion threads:
So, now, what is better, just stop paying the gov. of california employees, or outsource the payroll processing to india?
outsourcing is not just about money, there's more to it.
Outsourcing is no different from hiring regular programmers; if you wouldn't hire the people you're outsourcing to, why in the world would you trust them to do a good job?
True story, by the way.