9 ms·
I have interacted with off-shore development teams from a specific country 3 times now. I'll say the country later. Every time the development team could not
by no1youknowz 8y ago
I have interacted with off-shore development teams from a specific country 3 times now. I'll say the country later.
Every time the development team could not grasp what was required. You literally had to exchange 20 emails with them for each specific point. Of course, this just increased the length of time for scope and in all cases furthered the time of the project.
Each stage of the application was over engineered to infinity. Spaghetti code everywhere and nonsensical functions, callbacks, literally everything was what the hell was the developer thinking.
Of course it just about worked. They had to ship something, but it was slow. The UI was painted into a corner, in some cases doing the wrong thing literally crashed the browser because of an infinity loop or took too much memory.
Some apps had about a billion dependencies and therefore could never be secure. I'm not kidding either, it's like the developer was a plumber instead of actually knowing how to code the simplest of things.
There was no way to ever extend it to build atop newer features or have any sort of roadmap for user requests.
In every single time, management outsourced and took the bid from the lowest priced company. How to solve the problem? Start from scratch with a competent local company with an actual design and development process.
Want to know the best bit? One company I know of, who spent $6 million dollars on a project with an Indian company. An in-house developer took 3 months as a side project and rebuilt it from scratch. It ended up being the code from there on in.
I have NIH syndrome due to seeing these issues pop-up time and time again. In my career I've seen well over $15-20m being wasted in projects due to management being completely incompetent and thinking sitting on the phone with a dev team will ensure success.
- mullr 8y ago> In every single time, management outsourced and took the bid from the lowest priced company. Turns out good engineers make good money. I've worked with some brilliant engineers from India-based consulting teams, and they were not cheap.
- GFischer 8y agoI've worked with tremendously good Indian engineers as well. But in most cases they were already in the U.S. on some kind of visa, permanent residents or citizens. I have had good experiences with outsourcing in India itself as well, there are some serious teams there too. But there were some bad cases as well. Money is definitely an indicator of quality, expensive might not mean good but cheap almost always means they're not top talent.
- thewizardofaus 8y agoThis is exactly right , I feel like a lot of problems mentioned in this thread are a result of hiring the cheapest engineer/developer/etc.
- redhale 8y agoYes, exactly. The problem is that for many companies that decide to outsource, the motivating factor is cost savings. "Why pay $80-100/hr for an Indian engineer when I can pay $20?" And then six months down the road, "why are all our systems so shoddy?" "Why are our development cycles so long?" As a consultant, I've seen this pattern so many times it's insane. And depressing... and for better or worse, lucrative.
- j45 8y agoPaying more doesn't guarantee this. Lots of new developers want those top rates and deliver the same sub standard quality. On the other end, expensive consultants can be highly ineffective. An HR manager once said each hire is a compromise in some way because no two candidates are alike. One key in hiring remote is to take some extra time to get to know the candidates via video calls to create a connection and better determine what their strengths and weaknesses are, and get the conversation to a point where the compromise is acknowledged and you can talk about their ability to learn what they don't know and examples of that. How effectively a developer can learn and apply new knowledge is they main thing I look for. Learning while you work is the new norm, but hiring is not always setup that way.
- segmondy 8y agoI don't buy it, easy to blame developers. Why not blame poor communication and specs?
- briandear 8y agoTo work with many offshore firms, the “specs” part is a nightmare. The specs might as well be code because common sense isn’t generally so common. For example, sending a forgot password email: actual question: “Should the email go to the email address in the user’s record?” Multiply that by layers of “project managers” and over and over, that means that $35 per hour costs 3 times as much yet yielding a quality level that wasn’t $105 per hour worth.
- thewizardofaus 8y agoTelstra, Australia's largest telecommunications provider did something similar many years ago. They had to spent X times more and hire locals to fix the code.
- threeseed 8y agoThis is just bad engineering and project management on Telstra's part. They should have regularly reviewed the work that was being done and if they had issues resolved them during the warranty period.
- Shibaru 8y agoYou still haven't mentioned the country.
- threeseed 8y agoNot sure what your point is here. Your company chose the lowest priced company and was surprised when the quality of the work wasn't great. Because this isn't just unique to just India. This happens everywhere. To counteract this story. I worked at Apple where they used offshore engineers from India and the quality of the work was excellent. You get what you pay for.
- choonway 8y agoThey chose the lowest priced company because they didn't know how to spec the tender properly and to do a proper risk analysis. The lowest costs, of course, will win out in this case.
- minhaz23 8y agoHow would one do it properly then?
- candiodari 8y agoOne can't. That would require management "speccing it out" (ie. knowing what they're asking for). The only fix for that problem is replace management, which would have to be done ... by management.
- mattmanser 8y agoYou're just suggesting management should follow a waterfall PM structure. We're supposed to get incomplete specs, it's the only way everyone can end up happy. It doesn't help pointing fingers at an ephemeral 'management' for not knowing exactly how an app should work up front.
- candiodari 8y agoIncomplete in terms of technical architecture perhaps, but what ends up happening is that it's very incomplete in terms of function as well. In fact, it's usually overspecced in terms of technical architecture and woefully underspecced in terms of function.
- icebraining 8y agoThat's par for the course when going for the cheapest bid, quality be damned, be it a local company or not. It's just that no local company in a richer country can compete on price, so the cheapest ones went away when globalization got going. Most companies know one can't hire the cheapest job applicant, they try (more or less successfully) to vet them, yet somehow outsourcing companies are exempt. One wonders how much these managers actually want the project to succeed.
- sudshekhar 8y agoAs several people have mentioned, quality doesn't come cheap. At the same time, its interesting how broken this ecosystem is (despite the presence of several players vetting these 'companies'). My best suggestion: talk to Indian devs you know (and respect) and ask them for referrals of people back home.
- oldboyFX 8y ago> In every single time, management outsourced and took the bid from the lowest priced company. What was the initial bid of the Indian company that ended up costing $6 million dollars? Stories like these make my blood boil. And to be fair it's not just Indian companies. There are plenty of EU/US based dev teams that consistently fail to deliver and the company still keeps paying them. I wonder if management just can't deal with sunken costs or if someone is trying to steal money from their own company by making under-the-table deals with the development team. I've had a couple of clients that dealt with "cheap" teams and wasted years of their life trying to get a product up and running. Taking them on felt like rescuing abused puppies from a shelter. Their eyes would light up every time they witnessed a working feature, no matter how simple it was.
- gandutraveler 8y ago5 years back , I wanted to buy a pair of good headphones. Ended up buying cheap headphones made in a country which broke in few months. After buying 3 cheap headphones I ended up buying quality one which was 4 times expensive and have never regretted that decision.
- wordpressdev 8y agoSorry to hear about your ordeal. With my experience of working from both sides of the table, I can say for sure that you get what you pay for. Quality is not cheap. Companies in the west usually think that outsourcing to Asia and Eastern Europe would mean they can hire slave labor and pay peanuts for work that would cost an arm and a leg back home. As I said, you get what you pay for. I am working with clients in the US, Europe and Australia. I know my limitations and never bid for work that me, or my team, can't deliver. This is why I have clients giving repeat work since last 7-8 years.
- j45 8y agoAn issue that comes up is the without detailed specs, communication and project management skills, any development project will fall off the rails. Many horror stories are caused by prematurely trying to go fast and making a bigger mess, not knowing how to design, specify, or oversee the building of software. Overseas is as good as the garbage you can buy locally, but the problems get worse with the distance, time zone, and other things.
- deleted 8y ago[deleted]
- newusertoday 8y agohow to get these projects? how did the outsourcing company contacted you/management? where did the bidding happened?(upwork/freelancer/companies own bidding site) I am amazed that low cost outsourcing companies are able to fetch millions of dollars worth of contracts while actual competent developers have hard time landing them.
- deleted 8y ago[deleted]
- ankit219 8y agoI can empathise with the experience, and have seen many others go through the same. Part of it is because many colleges(and by extension, firms) in India are focused on knowledge of frameworks and languages as a key indicator of skill and quality. Many, but not all. Which essentially means that, developers are hired cos they know X framework or Y language. When clients ask for devs, how do they choose? Based on skills. Now, when quality is measured not by simplicity but complexity, everything will be over engineered.