Sobre programadores de India, mediocridad y subvaloración del trabajo

Antes que nada, este no es un post xenófobo ni se trata de decir que todos los programadores de software indios sean facilistas o mediocres. Al contrario, India se ha distinguido en los últimos tiempos por ser un importante proveedor de mentes brillantes en el campo del desarrollo del software, tanto así que muchos de los cabecillas visibles de compañías tecnológicas exitosas en Estados unidos y otras partes del mundo son oriundos de aquel gran y populoso país. Sin embargo, hablo aquí de una mala tendencia que se está dando gracias también al boom de programadores y servicios de outsourcing  en India.

En general, pareciera ser que en nuestros países tropicales o subtropicales la gente tiende a tomarse la vida más relajadamente y con menos apego a intentar emular un reloj suizo en la exactitud de los cronogramas y la rigurosidad en el trabajo. Pero hay casos de casos.

Personalmente, aunque vivo en un país tropical, tengo una manía por tener horarios hasta para las mínimas cosas y trato de apegarme a ellos con el fin de conseguir resultados, primando la disciplina diaria incluso por encima de las fechas de entrega estipuladas en un cronograma de trabajo, que a larga son simplemente un estimativo de cuando las cosas podrían estar hechas.

Como programador de software, necesito de aquella disciplina además de la concentración propia de una labor que involucra la mente racional. Pero también necesito de esa auto-disciplina al trabajar por mi cuenta y ser autónomo en mis horarios de trabajo.

Una de las consecuencias que me ha tocado asumir con mi estilo de trabajo freelance, y gracias también a la globalización y el uso de Internet como una herramienta que nos permite trabajar desde cualquier parte del mundo con gente que viva al otro lado sin tener siquiera un contacto personal cercano, es la competencia global por clientes con otros programadores latinoamericanos, norteamericanos, europeos y particularmente asiáticos (incluyendo chinos e indios).

Con esto dicho, debo anotar que los programadores indios son cosa aparte: Al parecer, en general, son estimados como una “eficiente” mano de obra (en términos de relación costo/beneficio) que puede ser contratada con poco dinero y con “aceptables” resultados. Estoy generalizando porque, por supuesto, no todos los programadores indios son baratos y no todos generan resultados simplemente “aceptables” (algunos se esfuerzan mucho más)… y, claro, no todos los programadores indios son eficientes.

Consultando con varios clientes, me he dado cuenta que el calificativo de “aceptables”  se refiere realmente a resultados que muchas veces dejan mucho que desear. Pero al parecer, los clientes o empresas que contratan a estos programadores saben que esto puede llegar a ser así y se arriesgan a seguirlos contratando por una simple y sencilla razón: El bajo costo.

Y es aquí cuando los programadores de software que nos hemos esforzado por hacer las cosas bien, creando una reputación de responsabilidad y trabajo de calidad, nos vemos enfrentados a una disyuntiva cuando de encontrar nuevos clientes se trata: O le apostamos simplemente a grandes clientes de Norteamérica o Europa dispuestos a pagar lo justo arriesgándonos a quedarnos rezagados por ser “demasiado caros”, o bajamos nuestras tarifas para ser competitivos en una industria que al parecer puede encontrar programadores a precios iguales o incluso inferiores a lo que gana un cajero de supermercado en un país desarrollado.

¿Cómo competir con un programador indio que cobra 10 ó 11 dólares por hora (y a veces menos) por su trabajo como “freelance” cuando nosotros tenemos tarifas entre 3 y 10 veces más costosas? Es verdad que es posible que este programador sea un indio que decidió estudiar ingeniería informática -aunque no le guste mucho- simple y llanamente porque es la carrera de moda en India y lo que podría ayudarle a salir adelante en un país que tiene aún demasiada pobreza y desafíos sociales. Como consecuencia de esto, su trabajo no es precisamente excelente y, al contrario, cae en la mediocridad (o más abajo) construyendo programas y aplicaciones que apenas cumplen con los requerimientos pero cuyo mantenimiento, extensión y modificación se vuelven un dolor de cabeza al ser construidos no con altos estándares de calidad sino pensando primordialmente en un pago de corto plazo.

Los que contratan a este tipo de programador, aunque son conscientes en muchos casos de que los resultados puede que no sean los mejores, terminan aceptando a regañadientes el “producto terminado” sólo para vivir una y otra decepción cuando intentan comercializar o sacarle lucro a una aplicación mediocre que muchas veces termina en el trasto de  la basura… y lo que es peor: Se le hace un daño enorme a todo un mercado de proveedores de desarrollo de software que luchan contra un estigma creciente de un que un programador debe cobrar barato por su trabajo porque la mayoría de ellos no hacen las cosas bien y, al fin y al cabo, se puede conseguir otro programador en el otro lado del mundo por unas pocas monedas.

Hay muy buenos programadores indios. Pero también muchos de los desarrolladores de aquel país que no hacen las cosas bien, le están haciendo daño al gremio entero de programadores en India al cobrar una fama de mediocres, poco dados a la rigurosidad y con el desparpajo tropical de no tomar lo suficientemente en serio su trabajo. Y, como muchos clientes no distinguen entre nacionalidades “tropicales”, también nos están perjudicando a muchos que no somos indios y que no cobramos tan barato, pero que hacemos un real esfuerzo de competir con  calidad, buen soporte y código construido con  estándares robustos.

Algo se debe poder hacer en India para frenar esto por el bien de este sector de la informática en el que trabajamos muchas personas alrededor del mundo. Por el momento, trataré de seguir compitiendo con calidad y no entrando en la absurda guerra de precios… ojalá no sea necesario. De cualquier manera, es preocupante esta tendencia.