4 ms·
Honestly I think that there's nothing national in this. It's just because the majority of the development work in India is being done in outsourcing. When you o
by kika 13y ago
Honestly I think that there's nothing national in this. It's just because the majority of the development work in India is being done in outsourcing. When you outsource you rarely pay for 'quality code', you pay for the code that works, delivered on time and preferably below the budget. Okay, you get what you're paying for.
Having said that I realize that this is a vicious cycle - young developers can write good code, but the market requires them to quickly crank up a lot of code which is just good enough to satisfy customer's quality requirements. In few years this developer is not able to write good code because he basically forgot how to do that.
Want to improve the quality of code from India (any other country for that matter)? Stop outsourcing there :-)
- Retric 13y agoThere are two kinds of outsourcing. One where say IBM comes in defines the requirements and builds a solution that's expencive but can produce quality or outright fail. The other is where you define the requirements and hand it off to a third party, that can be relatively cheep and generally produces something, but you often end up with crap code because the developers have little incentive to deliver quality and little understanding of the underlying business requirements. Indian firms focious on the second type which harms there reputiation but IMO it's not unfair when your considering doing that type of outsourcing to know what your getting into. PS: Which is not to say there not a lot of great Indian programmers just it's really hard to write or learn how to write high quality code when programming to an seemingly arbitrary spec. Sill it's a huge country so there is a fair amount of internal demand which is often forgotten about.
- davidjgraph 13y agoThis. I've outsourced to India, Uruguay, Poland and I think Ukraine. Every single line of code from outsourcing has been thrown away. That was from finding a dev shop and them leasing one of their "devs" for x per hour (x was never under $20). When I learnt my lesson, I thought about it and removed the indirection. Since 2011 I've only hired directly, but still remotely. I explain exactly what quality level is expected and that it's not a rush to finish. The countries I've hired from still aren't high wages countries and the initial wages paid were the same as in my unsuccessful attempts. The quality output is far higher, and it's been worthwhile re-writing problem code rather than giving up and trashing it. I don't think it's the country or the wages that are the problem, I think it's the indirection of another manager, plus the use of another company who often stacks (cheap) junior devs up and their only measure of success is whether their clock hours are full at the end of the month. You just can't expect that company's business goals to align with yours, especially when other companies using their services are often very inconsiderate about dropping the contracts with virtually no warning, that makes their planning really hard.
- mgkimsal 13y agoI recently did a code review for some work from a team in Ukraine. I was not expecting much - instead, I was blown away. The code was phenomenally well put together, good tests in place, comments were clear enough - this was tens of thousands of lines of code I'd never seen before and I was able to find my way around - and understand it - within just a few minutes. Not once did I cringe or find anything desperately in need of a rewrite. There were some not great architectural decisions regarding the database which I'd have done differently, but I understood how they got there, even if it was not a good point to be at. This was easily some of the best code I've seen in years, both of my own and other colleagues. There were some key takeaways I got similar to davidjgraph's points. The company here in the US using this team worked directly with this team - there were not multiple agencies in the middle taking their cut. Additionally, it was the same core team (7? 8 people?) working for more than 2 years - they had a long term sense of commitment to the problem and the project, and it showed. Many outsourcing disasters I've seen are rush jobs by people trying to hit billable hours and move to the next project (well, same for onshore workers, really).
- _random_ 13y agoYes, I talked to Ukrainian developers and many of them care about code quality. It's a relatively small community but a very strong one.
- chiph 13y agoMy experiences were similar - at the last job we had a team in Ukraine (they were in Zaporizhia and Odessa). It took a long time to find them (we wanted excellent English as well as coding skills) but once we did we signed them to a 2 year contract. They really were an extension of our company.
- splintercell 13y agoDon't forget, programmers only care about code quality when they deal with code maintenance. Most outsourced work never deals with code maintenance, so almost nobody learns to care about it.