En los últimos años, la irrupción de la inteligencia artificial generativa en el desarrollo de software ha cambiado el tono de las discusiones técnicas y filosóficas. Basta mirar la viralidad del post “Coding as we know it is dead” en LinkedIn y el aluvión de respuestas que generó para advertir que la profesión atraviesa un momento de redefinición profunda. Bajo la superficie, sin embargo, laten tensiones que van mucho más allá de la productividad o la nostalgia: se trata de la confianza, la responsabilidad, la naturaleza del conocimiento y, en última instancia, de la relación entre humanos y máquinas.
El post original de LinkedIn plantea una provocación: hoy, la IA escribe el 90% del código, y quienes se resisten a usarla son tildados de ignorantes o egoístas. Más allá de lo discutible del porcentaje de código escrito por la IA, la reacción fue inmediata y polarizada.
Algunos celebran el salto evolutivo: ven en la IA una herramienta que libera a los desarrolladores de tareas repetitivas y los empuja hacia el pensamiento estratégico, la toma de decisiones y la traducción de necesidades de negocio en soluciones tecnológicas. Es el paso del “code monkey” al “product-minded engineer”, del ejecutor al orquestador.
Otros, en cambio, se muestran escépticos o incluso alarmados: cuestionan la calidad del código generado, la dependencia creciente, la pérdida de habilidades fundamentales y la falta de evidencia sobre una supuesta ganancia de velocidad o eficiencia. Las objeciones técnicas no son menores. Muchos desarrolladores experimentados señalan que revisar código ajeno (ya sea de una IA o de un colaborador humano) suele demandar tanto o más tiempo que escribirlo desde cero. La revisión no es un trámite: implica entender, anticipar consecuencias, asegurar la mantenibilidad y, sobre todo, asumir la responsabilidad por el resultado. En contextos profesionales, donde hay contratos, dinero y reputación en juego, la tolerancia al error o a la opacidad del código generado por IA es mínima. La IA no asume riesgos ni responde ante fallos; el humano, sí.
Uncanny valley y confiabilidad
A esto se suma el fenómeno del “valle inquietante” del código. Algunos desarrolladores relatan que, al revisar contribuciones generadas por IA, perciben una suerte de extrañeza difícil de definir: el código funciona, pero carece de intención clara, de ese “sello humano” que permite anticipar cómo evolucionará, cómo se integrará con el resto del sistema o cómo responderá ante nuevos requerimientos. Esta sensación se agrava cuando la IA comete errores sutiles o introduce patrones poco óptimos, lo que obliga a una vigilancia constante y, paradójicamente, puede terminar ralentizando el proceso.
Desde una perspectiva más amplia, surgen preocupaciones de otra índole: la confiabilidad y el riesgo sistémico. Gary Marcus, en su análisis crítico sobre los LLMs (Large Language Models), advierte que estos sistemas son inherentemente impredecibles y, en ocasiones, peligrosos. No es que “mientan” en el sentido humano, pero sí confabulan, improvisan respuestas plausibles aunque sean incorrectas, y pueden ser manipulados para sortear restricciones éticas o legales. El control sobre estos sistemas es limitado, y su comportamiento puede variar drásticamente según el contexto o los incentivos. Marcus plantea un dilema: ¿seguimos avanzando con la esperanza de que la sabiduría y la honestidad emerjan de modelos cada vez más grandes y complejos, o deberíamos frenar y repensar la arquitectura misma de estas tecnologías antes de delegarles tareas críticas?
¿Qué pasa en el día a día?
En el plano cotidiano existen aún más matices. Entre los desarrolladores de software, algunos relatan cómo la IA les ha permitido explorar nuevos lenguajes o patrones, acelerar prototipos o resolver tareas para las que antes requerían ayuda externa. Pero incluso entre estos entusiastas, hay consenso en que la supervisión humana sigue siendo indispensable: la IA puede sugerir, pero el criterio, la integración y el aseguramiento de calidad siguen siendo prerrogativas humanas.
Otros desarrolladores en cambio ven con preocupación la posible “atrofia” de habilidades: si la IA se encarga de lo básico, ¿cómo se formarán los nuevos programadores? ¿No corremos el riesgo de depender de una caja negra que, si falla, nos deja sin herramientas para entender o corregir?
No menos relevante es el impacto social y económico. El acceso desigual a herramientas avanzadas, el desplazamiento de roles de entrada y la concentración de poder en quienes pueden costear los mejores modelos abren interrogantes sobre la democratización real de la tecnología. ¿Estamos creando un ecosistema más inclusivo o simplemente elevando nuevas barreras de entrada? ¿Qué ocurre con la diversidad de enfoques y la innovación cuando la mayoría del código es generado a partir de los mismos modelos y datasets?
En este escenario, la analogía entre la IA y un “intern” (pasante) resulta reveladora, pero limitada. Como advierte Marcus, la tentación de antropomorfizar a la IA nos puede llevar a sobrestimar su comprensión y subestimar los riesgos de alineamiento y control. A diferencia de un humano, la IA no aprende de la experiencia ni mejora con el tiempo en un contexto específico. Es cierto que aprende en el thread en el que estoy interactuando con la IA; es cierto que ese aprendizaje puede “migrar” a mi usuario y cada vez más sentir que la IA “me conoce”. Pero la IA, el modelo de fondo, está entrenado con un núcleo duro de datos y es el mismo para todos, ya seas un usuario que lo usa a diario desde el día cero o un usuario nuevo.
¿Todo es malo entonces?
No, no todo es pesimismo. Hay quienes ven en la IA una oportunidad para repensar el rol del desarrollador: menos centrado en la escritura de código y más en la arquitectura, la estrategia y la resolución de problemas complejos. La IA, bien utilizada, puede ser un multiplicador de impacto, un catalizador de creatividad y una plataforma para nuevas formas de colaboración. Pero ese potencial solo se realiza si se combina con una vigilancia crítica, una ética robusta y un compromiso con el aprendizaje continuo.
La ingeniería asistida por IA (como se conoce a este enfoque más estructurado) combina la creatividad de la codificación vibrante con el rigor de las prácticas de ingeniería tradicionales. Implica especificaciones, rigor y hace hincapié en la colaboración entre los desarrolladores humanos y las herramientas de IA, lo que garantiza que el producto final no solo sea funcional, sino también mantenible y seguro.
En definitiva, el debate sobre la “muerte” de la programación tradicional es, en realidad, una invitación a repensar qué significa programar y para qué. ¿Es la IA el fin del camino o el inicio de una nueva etapa? ¿Podremos domar la imprevisibilidad y los riesgos de los LLMs, o necesitaremos alternativas más transparentes y controlables? ¿Qué habilidades y valores deberíamos cultivar en las próximas generaciones de desarrolladores de software? El futuro, como siempre, dependerá menos de la herramienta y más de cómo decidamos usarla, regularla y entenderla. El desenlace está lejos de estar escrito.