Tuesday, March 06, 2012

Does constantly compromising make you worse?

That's what Rocky says in his post - http://rockyj.in/?p=248. The corresponding Reddit thread is at http://www.reddit.com/r/programming/comments/qi9rd/musings_on_india_and_technology/.

There is one valid point - that we do compromise a lot when it comes to quality in India. As a product integrator, I spend a lot of time pulling in code from others. I do compromise a lot when it comes to the software delivered to me. It could schedule slips, shoddy documentation or just plain bad code. Yet, I take it all in with the hope that it will improve in time. Maybe I should stop doing that.

What I don't agree with Rocky is that there are *only* shoddy programmers in India because we compromise all the time. That's flat out wrong. There are some excellent programmers that I have worked with.

The flip side to compromising, is that I think India is *the* place for you support your customers. We can patch it, fix it, hack it, change it etc all in the goal of getting customers to production. I have seen this often. There is a different skill to getting software out of the door and shipping it to a customer. Its a very special skill to then get that software to integrate and work in the customer's stack.
Its one thing to write software that stands alone, but its a completely different thing to make it work with other peoples code. That's where the India brigade comes in.

Getting the software to work in a customer's world. While shoddy programmers in India will still struggle, the good ones will get that software to bend and work. If it means compromising on longer term quality to get a customer to production, so be it.