Friday, February 13, 2009
How come India programmers like to waste their clients time?
A surprisingly large fraction of employees of Indian outsourcing firms, even those with masters' degrees and PhDs in computer science, fail during interviews when asked to carry out basic programming tasks...
I find it fascinating that there are lots of so-called programmers who would apply for a job without being able to write the simplest of programs. Programming is a very error-prone business, especially with "typed-statement" systems. Most of them are very intolerant of errors (even simple typos). You must really have a good conceptual model of how each individual statement and its sub-components effects the result in conjunction with each other statement.
You have to know how to check for proper operation (testing) and how to find out what to fix if it isn't (debugging). Unless you are totally immersed in that particular programming system, understanding the varieties and subtleties of its statements and functions.
Being a programmer isn't for everyone. Maybe folks in India need to practice the Peter Principle more often and move these folks into management. I wonder if you charted a Bell curve for Indian managers who only have one month's worth of experience to those who have had five years, what would be the difference in effectiveness?
Maybe the problem is in how American's like to dumb down problems so that any idiot can understand it. Maybe, we are the reason so many idiots overseas exist? Seriously, compare programming to other professions and you will see a trend emerge. For example, lawyers and tax accountants routinely work with such complexity in their contracts and planning. Doctors work with an untold number of variables. Someone planning a big party has to work out the food, matching paper goods, favors, invitation list, entertainment, etc. The key theme between all of these roles is immersion which is somewhat different than just knowledge transfer or other long arduous but otherwise ineffective methods of exchange.
| | View blog reactionsI find it fascinating that there are lots of so-called programmers who would apply for a job without being able to write the simplest of programs. Programming is a very error-prone business, especially with "typed-statement" systems. Most of them are very intolerant of errors (even simple typos). You must really have a good conceptual model of how each individual statement and its sub-components effects the result in conjunction with each other statement.
You have to know how to check for proper operation (testing) and how to find out what to fix if it isn't (debugging). Unless you are totally immersed in that particular programming system, understanding the varieties and subtleties of its statements and functions.
Being a programmer isn't for everyone. Maybe folks in India need to practice the Peter Principle more often and move these folks into management. I wonder if you charted a Bell curve for Indian managers who only have one month's worth of experience to those who have had five years, what would be the difference in effectiveness?
Maybe the problem is in how American's like to dumb down problems so that any idiot can understand it. Maybe, we are the reason so many idiots overseas exist? Seriously, compare programming to other professions and you will see a trend emerge. For example, lawyers and tax accountants routinely work with such complexity in their contracts and planning. Doctors work with an untold number of variables. Someone planning a big party has to work out the food, matching paper goods, favors, invitation list, entertainment, etc. The key theme between all of these roles is immersion which is somewhat different than just knowledge transfer or other long arduous but otherwise ineffective methods of exchange.