En el mundo del desarrollo de software, a priori pocas decisiones parecen ser tan técnicas —y, por tanto, teóricamente racionales— como la elección de un lenguaje de programación: se supone que se trata de comparar rendimiento, escalabilidad, herramientas o facilidad de mantenimiento. Pero en realidad, esta decisión es cualquier cosa menos objetiva.
Steve Francia, ingeniero con décadas de experiencia en empresas como Google y MongoDB, ha sido testigo de primera mano de cómo la subjetividad de esta clase de elecciones puede terminar costando millones de dólares, frenar la innovación y, en algunos casos, hundir empresas enteras.
Su conclusión es contundente: a la hora de la verdad, las decisiones sobre lenguajes no se toman con criterios técnicos, son identitarios. Un poco como los equipos de fútbol o la política...
Cuando cambiar de lenguaje cuesta una empresa
Francia relata una experiencia que tuvo al comienzo de su carrera, en una startup llamada Takkle. Tras un ascenso repentino, se encontró liderando un equipo que desarrollaba con PHP. Todo iba bien, hasta que un nuevo CTO, que era un referente de la comunidad Perl, decidió que debían reescribir todo el sistema en dicho lenguaje.
La decisión se justificó con un análisis técnico que, en retrospectiva, dice Francia, parecía más una excusa que una evaluación real.
El resultado fue devastador: la productividad se desplomó, el equipo tuvo que perder tiempo en aprender un nuevo lenguaje, el gasto mensual se duplicó y la empresa perdió su oportunidad en el mercado. Takkle, que era una prometedora red social universitaria, murió antes de poder competir, mientras que Facebook —casualmente, también construido en PHP en esas fechas— despegaba y se expandía.
La pregunta que persiguió a Francia durante años fue: ¿cómo pudo un líder tan experimentado tomar una decisión tan costosa?
La respuesta llegó mucho después: no fue una decisión técnica, fue una decisión de identidad. El CTO no quería desarrollar la mejor plataforma posible; quería ser "un CTO de Perl". La reescritura no fue una estrategia tecnológica, sino el precio de sostener una identidad profesional.
El patrón que se repite en todas partes
Décadas después, Francia ha observado el mismo fenómeno una y otra vez. En Google, en MongoDB, en startups y grandes corporaciones. Equipos enteros discutían apasionadamente sobre lenguajes —C++, Java, Go, Python, Rust—, pero las argumentaciones técnicas eran sólo 'de cara a la galería'.
En un caso reciente, un vicepresidente de ingeniería propuso migrar a Rust un proyecto de 50 millones de dólares. Su presentación destacaba ventajas reales del lenguaje, pero curiosamente no había considerado alternativas obvias como Go, que superaba a Rust en varios de los criterios que el propio equipo había establecido.
Cuando Francia le preguntó si habían comparado otras opciones, el ejecutivo respondió: "En realidad, no. Todo el mundo está hablando de Rust".
Ese fue el momento de epifanía: la elección ya estaba hecha antes del análisis. No se trataba de un estudio técnico, sino de una justificación racional para una decisión emocional.
La ciencia detrás del sesgo
Las neurociencias han demostrado que cuando se desafían creencias centrales de nuestra identidad, nuestro cerebro reacciona como si estuviera siendo atacado físicamente. En estudios con resonancia magnética funcional (fMRI), los investigadores observaron que cuando una creencia periférica era cuestionada, el cerebro respondía con razonamiento lógico...
...pero cuando la creencia formaba parte de la identidad —como una ideología política o religiosa— se activaban la amígdala (centro del miedo) y la corteza insular (que procesa el dolor emocional y el asco). El cerebro no evaluaba evidencia: se defendía.
Los desarrolladores no son inmunes a este mecanismo. Evaluar un lenguaje alternativo puede percibirse, inconscientemente, como una amenaza a la propia identidad. Cambiar de opinión implicaría imaginar una versión distinta de uno mismo. Y por eso, incluso frente a datos objetivos, seguimos aferrados a nuestras preferencias.
Una industria construida sobre la conversación equivocada
Cada vez que los desarrolladores discuten sobre lenguajes, hay dos conversaciones ocurriendo a la vez. Una es la visible, repleta de argumentos técnicos ("Go compila más rápido", "Python tiene la mejor biblioteca de machine learning"...) y otra es invisible, y la que más le importa a los interlocutores ("Soy un programador de Rust, y quiero ser reconocido como tal").
El problema es que la industria ha institucionalizado esta dinámica. Se hacen debates, benchmarks, matrices de decisión y comparativas que fingen objetividad. Pero si quien lidera la evaluación es un entusiasta de cierto lenguaje, el resultado está decidido desde el principio. La empresa simplemente gastará millones en validar una elección emocional con datos que la respalden.
El costo invisible de la identidad
El sesgo no solo afecta la productividad; tiene un costo financiero enorme. Estudios de la industria, como el de Stripe sobre el "coeficiente del desarrollador", estiman que los ingenieros dedican el 42% de su tiempo a gestionar deuda técnica (las consecuencias a largo plazo de tomar atajos en el desarrollo de software), buena parte de la cual surge de decisiones erróneas sobre el lenguaje y/o framework a usar.
Si cada cambio de lenguaje o de framework implica reaprender, rehacer y recontratar, el costo total puede representar hasta la mitad del presupuesto de desarrollo a lo largo de un producto.
Por ello, Francia propone un cambio de paradigma. En lugar de preguntarnos "¿qué lenguaje es mejor?", deberíamos plantearnos "¿Cuánto nos costará esta decisión?". El objetivo no es eliminar el factor emocional (eso sería imposible), sino hacer visibles los costos invisibles y permitir que las decisiones se tomen con base a métricas, en lugar de a 'lealtades'.
Imagen | Marcos Merino mediante IA
-
La noticia Los programadores "no son racionales" a la hora de apostar por un lenguaje u otro, reconoce uno de ellos. "Es una cuestión de identidad" fue publicada originalmente en Genbeta por Marcos Merino .
☞ El artículo completo original de Marcos Merino lo puedes ver aquí
No hay comentarios.:
Publicar un comentario