
Este reportaje forma parte del paquete El fin del ‘hype’ de la IA de MIT Technology Review, una serie que busca ajustar las expectativas sobre qué es la IA, qué permite y hacia dónde nos dirigimos.
¿Revolución o riesgo? El debate sobre la programación con IA
Depende de a quién se le pregunte: la programación asistida por inteligencia artificial está dando a los desarrolladores un impulso de productividad sin precedentes o está generando cantidades ingentes de código mal diseñado que distraen la atención y condenan los proyectos a problemas graves de mantenimiento a largo plazo.
El problema es que, por ahora, no resulta fácil saber qué versión es la correcta.
Mientras los gigantes tecnológicos invierten miles de millones en grandes modelos de lenguaje (LLM), la programación se ha convertido en la aplicación estrella de esta tecnología. Tanto el consejero delegado de Microsoft, Satya Nadella, como el de Google, Sundar Pichai, han asegurado que alrededor de una cuarta parte del código de sus compañías ya es generado por IA. Y en marzo, Dario Amodei, CEO de Anthropic, predijo que en seis meses el 90% del código sería escrito por sistemas automatizados. La propuesta resulta atractiva y lógica: el código es un lenguaje, se necesita en grandes cantidades y producirlo manualmente es costoso. Además, su funcionalidad se comprueba de inmediato: basta ejecutar el programa.
Directivos fascinados por la posibilidad de superar los cuellos de botella humanos están presionando a los ingenieros para abrazar un futuro impulsado por IA. Pero tras conversar con más de 30 desarrolladores, ejecutivos, analistas e investigadores, MIT Technology Review concluye que el panorama es menos claro de lo que parece.
Para algunos desarrolladores en primera línea, el entusiasmo inicial se desvanece al chocar con las limitaciones de la tecnología. Y a medida que crece la evidencia de que las supuestas ganancias de productividad podrían ser ilusorias, surgen dudas sobre si el emperador va vestido.
El ritmo de avance complica aún más la situación. La sucesión constante de nuevos modelos hace que las capacidades y peculiaridades de estas herramientas evolucionen sin pausa. Su utilidad depende, además, de las tareas a las que se aplican y de la estructura organizativa que las rodea. Todo esto deja a los desarrolladores navegando entre expectativas y realidades contradictorias.
¿Es el mejor de los tiempos o el peor de los tiempos (por citar a Dickens) para la programación con IA? Tal vez ambos.
Un sector en movimiento
Hoy es difícil evitar las herramientas de programación con IA. La oferta es abrumadora: desde modelos desarrollados por Anthropic, OpenAI y Google hasta compañías como Cursor y Windsurf, que los integran en editores de código sofisticados. Según la Developer Survey 2025 de Stack Overflow, su adopción crece rápido: el 65% de los desarrolladores las utiliza al menos una vez por semana.
Estas herramientas surgieron en torno a 2016, pero se dispararon con la llegada de los LLM. Las primeras versiones eran poco más que un autocompletado para programadores, sugiriendo la siguiente línea de código. Hoy analizan bases completas, editan archivos, corrigen errores y generan documentación explicativa. Todo mediante instrucciones en lenguaje natural a través de una interfaz conversacional.
Los llamados “agentes” (herramientas autónomas basadas en LLM capaces de tomar un plan general y construir programas completos) representan la última frontera. Este salto se debe a los modelos de razonamiento más recientes, que resuelven problemas complejos paso a paso y, lo más importante, acceden a herramientas externas para completar tareas. “Así es como el modelo logra programar, en lugar de limitarse a hablar sobre programación”, explica Boris Cherny, responsable de Claude Code, el agente de Anthropic.
Estos sistemas han avanzado de forma notable en pruebas estandarizadas de ingeniería de software. Cuando OpenAI presentó el benchmark SWE-bench Verified en agosto de 2024, diseñado para evaluar la capacidad de corregir errores reales en repositorios abiertos, el mejor modelo resolvía solo el 33% de los casos. Un año después, los líderes superan el 70%.
En febrero, Andrej Karpathy, miembro fundador de OpenAI y exdirector de IA en Tesla, acuñó el término vibe coding: una aproximación en la que el desarrollador describe el software en lenguaje natural y deja que la IA lo escriba, refine y depure. Las redes sociales están llenas de testimonios que abrazan esta visión y aseguran mejoras masivas en productividad.
Sin embargo, aunque algunos equipos reportan avances significativos, las pruebas son menos concluyentes. Estudios iniciales de GitHub, Google y Microsoft (todos proveedores de estas herramientas) indican que los desarrolladores completan tareas entre un 20% y un 55% más rápido. Pero un informe publicado en septiembre por la consultora Bain & Company calificó los ahorros reales como “poco destacables”.
Los datos de la firma de analítica GitClear muestran que, desde 2022, la mayoría de los ingenieros produce alrededor de un 10% más de código duradero (es decir, código que no se elimina ni se reescribe en pocas semanas), probablemente gracias a la IA. Pero esa mejora viene acompañada de caídas pronunciadas en varios indicadores de calidad. La encuesta de Stack Overflow también detectó, por primera vez, un descenso significativo en la confianza y la percepción positiva hacia estas herramientas. Y, de forma más provocadora, un estudio publicado en julio por la organización sin ánimo de lucro Model Evaluation & Threat Research (METR) reveló que, aunque los desarrolladores experimentados creían trabajar un 20% más rápido con IA, las pruebas objetivas demostraron que en realidad eran un 19% más lentos.
Desilusión creciente
Para Mike Judge, desarrollador principal en la consultora Substantial, el estudio de METR tocó una fibra sensible. Fue un entusiasta adoptador temprano de herramientas de IA, pero con el tiempo se sintió frustrado por sus limitaciones y el escaso impulso que daban a su productividad. “Me quejaba porque pensaba: «Me ayuda, pero no consigo que me ayude mucho»”, explica. “Siempre sentía que la IA era muy tonta, pero quizá podría engañarla para que pareciera lista si encontraba la fórmula mágica”.
Cuando un amigo le preguntó, Judge calculó que las herramientas le daban un aumento de velocidad del 25%. Así que, al ver estimaciones similares en el estudio de METR, decidió comprobarlo por sí mismo. Durante seis semanas, estimó cuánto tardaría en completar cada tarea, lanzó una moneda para decidir si usar IA o programar manualmente y cronometró el resultado. Para su sorpresa, la IA lo ralentizó una media del 21%, en línea con los resultados de METR.
Esto llevó a Judge a hacer números. Si estas herramientas realmente aceleraran el trabajo, pensó, debería verse un auge masivo en nuevas aplicaciones, registros web, videojuegos y proyectos en GitHub. Tras invertir horas y varios cientos de dólares analizando datos públicos, encontró líneas planas por todas partes.
“¿No debería esto ir hacia arriba y a la derecha?”, se pregunta. “¿Dónde está la curva en forma de palo de hockey en estos gráficos? Pensaba que todo el mundo era extraordinariamente productivo”. La conclusión obvia, dice, es que la IA aporta poca mejora real para la mayoría de los desarrolladores.
Los profesionales entrevistados por MIT Technology Review coinciden en dónde brillan estas herramientas: generar boilerplate code (fragmentos reutilizables que se repiten con mínimas modificaciones), escribir pruebas, corregir errores y explicar código desconocido a nuevos desarrolladores. Varios apuntan que la IA ayuda a superar el “problema de la hoja en blanco” ofreciendo un primer borrador imperfecto que activa la creatividad. También permite que colegas sin perfil técnico creen prototipos rápidos, aliviando la carga de ingenieros saturados.
Estas tareas son tediosas y los desarrolladores suelen estar encantados de delegarlas. Pero representan solo una pequeña parte del trabajo de un ingeniero experimentado. En los problemas complejos, donde realmente se gana el sueldo, las herramientas enfrentan obstáculos importantes.
Quizá el mayor problema es que los LLM solo pueden manejar una cantidad limitada de información en su “ventana de contexto”, su memoria operativa. Esto les dificulta analizar grandes bases de código y los hace propensos a olvidar lo que están haciendo en tareas largas. “Se vuelve muy miope: solo mira lo que tiene delante”, dice Judge. “Si le pides una docena de cosas, hará 11 y olvidará la última”.
Esta miopía puede generar dolores de cabeza: aunque una respuesta aislada funcione, el software está formado por cientos de módulos interconectados. Si no se construyen pensando en el conjunto, el resultado es una base enmarañada e inconsistente, difícil de entender y, sobre todo, de mantener.
Tradicionalmente, los desarrolladores han resuelto esto siguiendo convenciones: pautas de programación poco definidas que varían entre proyectos y equipos. “La IA tiene una tendencia enorme a no entender las convenciones existentes en un repositorio”, advierte Bill Harding, CEO de GitClear. “Así que es muy probable que invente su propia versión ligeramente distinta para resolver un problema”.
Los modelos también se equivocan. Como todos los LLM, los sistemas de programación son propensos a “alucinar”, un fallo inherente a su funcionamiento. Pero, dado que el código generado parece pulido, los errores son difíciles de detectar, señala James Liu, director de ingeniería en Mediaocean. Sumando todos estos defectos, usar estas herramientas se parece mucho a tirar de la palanca de una tragaperras. “En algunos proyectos obtienes una mejora de 20 veces en velocidad o eficiencia”, dice Liu. “En otros, se estrella y acabas perdiendo horas intentando que te conceda el deseo que querías, y simplemente no va a ocurrir”.
Judge sospecha que por eso los ingenieros sobreestiman las ganancias. “Recuerdas los premios gordos. No recuerdas las dos horas metiendo fichas en la máquina”, afirma.
Y puede ser especialmente dañino si el desarrollador desconoce la tarea. Judge recuerda cuando pidió ayuda a la IA para configurar un servicio en la nube de Microsoft llamado Azure Functions, que nunca había usado. Pensó que tardaría dos horas, pero nueve horas después se rindió. “Me llevaba por madrigueras y yo no sabía lo suficiente para decirle: «Esto no tiene sentido»”, explica.
La deuda empieza a acumularse
Los desarrolladores siempre equilibran velocidad y mantenibilidad, creando lo que se conoce como “deuda técnica”, explica Geoffrey G. Parker, profesor de innovación en ingeniería en Dartmouth College (New Hampshire, EE UU). Cada atajo añade complejidad y dificulta la gestión del código, acumulando “intereses” que habrá que pagar reestructurando más adelante. A medida que esta deuda crece, añadir funciones y mantener el software se vuelve más lento y costoso.
Acumular deuda técnica es inevitable en la mayoría de proyectos, pero las herramientas de IA facilitan que los ingenieros presionados por el tiempo recorten esquinas, advierte Harding. Y los datos de GitClear sugieren que esto ocurre a gran escala. Desde 2020, la compañía ha detectado un aumento significativo en el código copiado y pegado (indicador de que los desarrolladores reutilizan más fragmentos, probablemente sugeridos por IA) y una caída aún mayor en el código reorganizado, que se produce cuando se limpia la base.
A medida que los modelos mejoran, el código que generan se vuelve cada vez más extenso y complejo, advierte Tariq Shaukat, consejero delegado de Sonar, empresa especializada en herramientas para verificar la calidad del software. Esto reduce el número de errores evidentes y vulnerabilidades de seguridad, señala, pero a costa de aumentar los llamados code smells: fallos difíciles de detectar que derivan en problemas de mantenimiento y en deuda técnica.
Investigaciones recientes de Sonar revelan que estos defectos representan más del 90% de los problemas hallados en código generado por los principales modelos de IA. “Los errores fáciles de identificar están desapareciendo, y lo que queda son cuestiones mucho más complejas que tardan en detectarse”, afirma Shaukat. “Eso es lo que nos preocupa en este momento. Es como si te adormecieran en una falsa sensación de seguridad”.
Si las herramientas de IA dificultan cada vez más el mantenimiento del código, las consecuencias para la seguridad pueden ser graves, advierte Jessica Ji, investigadora en la Universidad de Georgetown (EE UU). “Cuanto más complicado sea actualizar y corregir, más probable será que una base de código (o cualquier fragmento) se vuelva insegura con el tiempo», explica.
Ji señala también riesgos más concretos. Investigadores han descubierto una clase inquietante de alucinaciones en las que los modelos hacen referencia a paquetes de software inexistentes. Los atacantes pueden aprovecharlo creando paquetes con esos nombres que contengan vulnerabilidades, que el modelo (o el desarrollador) podría incorporar sin darse cuenta.
Los LLM son igualmente vulnerables a los llamados ataques de data-poisoning: ataques en los que los piratas informáticos introducen datos maliciosos en los conjuntos públicos que sirven para entrenar los modelos, alterando su comportamiento para generar código inseguro cuando se activan con ciertas frases. En octubre, un estudio de Anthropic demostró que bastan 250 documentos maliciosos para abrir esta puerta trasera en un modelo, sin importar su tamaño.
Los conversos
Pese a estos problemas, parece que no hay marcha atrás. “Es muy probable que escribir cada línea de código a mano en un teclado sea cosa del pasado», afirma Kyle Daigle, director de operaciones de GitHub, la plataforma propiedad de Microsoft que ofrece la popular herramienta de IA Copilot (no confundir con el producto homónimo de Microsoft).
El informe de Stack Overflow confirma que, aunque la desconfianza hacia la tecnología crece, su uso se ha disparado de forma constante en los últimos tres años. Erin Yepis, analista sénior en la compañía, interpreta que los ingenieros están aprovechando las herramientas con una visión clara de los riesgos. El estudio también revela que los usuarios más frecuentes son los más entusiastas y que más de la mitad de los desarrolladores no emplea los agentes de programación más recientes, lo que podría explicar por qué muchos siguen decepcionados.
Las últimas herramientas pueden ser una auténtica revelación. Trevor Dilley, director de tecnología en la agencia Twenty20 Ideas, asegura que hasta hace poco solo encontraba utilidad en las funciones de autocompletado, pero cualquier tarea compleja “fallaba de forma catastrófica”. Todo cambió en marzo, durante unas vacaciones familiares, cuando probó el recién lanzado Claude Code en uno de sus proyectos personales: completó una tarea de cuatro horas en dos minutos, y el resultado era mejor que el suyo propio.
“Me quedé alucinado”, confiesa. “Ese fue el momento clave para mí. No hay vuelta atrás”. Desde entonces, Dilley ha cofundado DevSwarm, una startup que desarrolla software capaz de coordinar múltiples agentes trabajando en paralelo.
El reto, señala Armin Ronacher, desarrollador destacado en el mundo open source, es que la curva de aprendizaje de estas herramientas es poco profunda, pero muy larga. Hasta marzo no le impresionaban, pero tras dejar su puesto en Sentry en abril para lanzar su propia empresa, empezó a experimentar con agentes. “Pasé meses haciendo solo esto”, cuenta. “Ahora, el 90% del código que escribo lo genera la IA».
Llegar a ese punto requirió ensayo y error para descubrir qué problemas bloquean a las herramientas y cuáles resuelven con eficacia. Los modelos actuales pueden abordar la mayoría de las tareas si se les ponen las barreras adecuadas, explica Ronacher, pero estas son muy específicas según el proyecto.
Para sacarles el máximo partido, los desarrolladores deben renunciar al control sobre cada línea y centrarse en la arquitectura general, afirma Nico Westerdale, director de tecnología en IndeVets. Recientemente construyó una plataforma de ciencia de datos con 100.000 líneas de código casi exclusivamente mediante instrucciones a modelos, en lugar de escribir él mismo.
Su proceso comienza con una conversación extensa con el agente para definir qué construir y cómo. Luego lo guía paso a paso. Rara vez acierta a la primera y necesita ajustes constantes, pero si se le obliga a seguir patrones de diseño bien definidos, el modelo produce código de alta calidad y fácil mantenimiento, asegura Westerdale. Revisa cada línea y el resultado es tan bueno como cualquier cosa que haya hecho antes: “Me parece absolutamente revolucionario. También frustrante, difícil, una forma distinta de pensar, y apenas estamos empezando a acostumbrarnos”.
Mientras algunos desarrolladores aprenden a usar estas herramientas con eficacia, lograr resultados consistentes en equipos grandes es mucho más complicado. Las herramientas de IA amplifican tanto lo bueno como lo malo de la cultura de ingeniería, advierte Ryan J. Salva, director sénior de gestión de producto en Google. Con procesos sólidos, patrones claros y buenas prácticas definidas, estas herramientas pueden brillar.
Si tu proceso de desarrollo es desordenado, estas herramientas solo multiplicarán los fallos. También es esencial convertir ese conocimiento institucional en pautas claras para que los modelos puedan aprovecharlo de forma eficaz. “Hay mucho trabajo por hacer para construir contexto y sacar el conocimiento tribal de nuestras cabezas”, afirma.
La plataforma de intercambio de criptomonedas Coinbase ha sido especialmente vocal sobre su apuesta por la IA. Su consejero delegado, Brian Armstrong, acaparó titulares en agosto al revelar que la compañía había despedido a empleados que se negaban a usar estas herramientas. Pero Rob Witoff, responsable de plataforma en Coinbase, explica a MIT Technology Review que, aunque han visto enormes ganancias de productividad en algunas áreas, el impacto es irregular. Para tareas simples, como reestructurar la base de código o escribir pruebas, los flujos de trabajo impulsados por IA han logrado aceleraciones de hasta el 90%. Sin embargo, en otras tareas las mejoras son más modestas, y la disrupción causada por la revisión de procesos existentes suele contrarrestar la velocidad extra, señala Witoff.
Un factor clave es que la IA permite a los desarrolladores junior producir mucho más código. Como en casi todos los equipos, este código debe ser revisado por otros, normalmente ingenieros sénior, para detectar errores y garantizar estándares de calidad. Pero el volumen generado está saturando la capacidad del personal intermedio para revisar cambios. “Este es el ciclo que vivimos casi cada mes: automatizamos algo en la parte baja del stack, lo que genera más presión arriba”, explica. “Entonces empezamos a pensar en aplicar automatización también a esa parte superior”.
Los desarrolladores dedican solo entre un 20% y un 40% de su tiempo a programar, señala Jue Wang, socio en Bain. Así que incluso una aceleración significativa en esa fase se traduce en mejoras globales más modestas. El resto del tiempo se invierte en analizar problemas, atender comentarios de clientes, definir estrategias de producto y tareas administrativas. Para lograr incrementos reales de eficiencia, las empresas deberán aplicar IA generativa también a estos procesos, añade Jue, y eso aún está en desarrollo.
Evolución vertiginosa
Programar con agentes supone una ruptura radical con las prácticas anteriores, por lo que no sorprende que las compañías enfrenten problemas iniciales. Son productos muy nuevos que cambian cada día. “Cada dos meses el modelo mejora y hay un salto enorme en sus capacidades, y tienes que recalibrarte”, comenta Boris Cherny, de Anthropic.
En junio, Anthropic incorporó un modo de planificación en Claude, que otros proveedores han replicado. En octubre, añadió la capacidad de preguntar al usuario cuando necesita más contexto o enfrenta varias soluciones posibles, lo que ayuda a evitar que asuma el camino equivocado.
Lo más relevante: ahora Claude gestiona mejor su propio contexto. Cuando se acerca al límite de su memoria operativa, resume detalles clave y los usa para abrir una nueva ventana, lo que le da una “memoria infinita”, explica Cherny. También puede invocar subagentes para tareas pequeñas, sin tener que retener todo el proyecto. Según la compañía, su último modelo, Claude 4.5 Sonnet, puede programar de forma autónoma durante más de 30 horas sin degradación significativa.
Nuevas aproximaciones podrían sortear otros fallos de los agentes. El profesor de MIT Max Tegmark ha presentado lo que llama vericoding, que permitiría generar código libre de errores a partir de una descripción en lenguaje natural. Se basa en la formal verification, un método que crea un modelo matemático del software para demostrar que funciona correctamente. Se usa en sistemas críticos como control de vuelo o bibliotecas criptográficas, pero sigue siendo costoso y lento.
Las mejoras en las capacidades matemáticas de los LLM abren la posibilidad de modelos que produzcan no solo el software, sino también la prueba matemática de que está libre de errores, señala Tegmark. “Solo das la especificación y la IA devuelve código demostrablemente correcto», afirma. “No tienes que tocarlo. Ni siquiera mirarlo”.
En pruebas con unos 2.000 problemas de vericoding en Dafny (un lenguaje diseñado para verificación formal), los mejores LLM resolvieron más del 60%, según un estudio preliminar no revisado por pares del equipo de Tegmark. Esto se logró con modelos estándar, y el investigador espera que entrenamientos específicos mejoren rápidamente los resultados.
Paradójicamente, la velocidad con la que la IA genera código podría aliviar los problemas de mantenimiento. Alex Worden, ingeniero principal en Intuit, señala que mantener software es difícil porque los ingenieros reutilizan componentes entre proyectos, creando dependencias que provocan efectos en cascada. Antes, reutilizar código ahorraba tiempo, pero en un mundo donde la IA produce cientos de líneas en segundos, esa necesidad desaparece, dice Worden.
Su propuesta: disposable code, donde cada componente se genera de forma independiente y se conecta mediante API. Así, las piezas no dependen unas de otras y pueden reemplazarse sin impacto global.
“La industria sigue preocupada por humanos manteniendo código generado por IA”, afirma. “Yo me pregunto cuánto tiempo más los humanos mirarán o se preocuparán por el código”.
Una reserva de talento cada vez más reducida
Por ahora, los humanos seguirán necesitando entender y mantener el código. Pero uno de los efectos más perniciosos de la IA podría ser reducir la cantera de profesionales capaces de hacerlo.
Las primeras evidencias apuntan a que los temores sobre la destrucción de empleo son reales. Un estudio reciente de Stanford indica que el empleo entre desarrolladores de 22 a 25 años cayó casi un 20% entre 2022 y 2025, coincidiendo con el auge de las herramientas de programación con IA.
Los veteranos también pueden sufrir. Luciano Nooijen, ingeniero en la desarrolladora Companion Group, usaba IA a diario en su trabajo, donde era gratuita. Pero al iniciar un proyecto personal sin acceso a esas herramientas, se encontró bloqueado en tareas que antes resolvía con facilidad. ”Me sentía estúpido porque cosas que eran instinto se volvieron manuales, incluso tediosas”, confiesa.
Como los atletas que siguen haciendo ejercicios básicos, cree que la única forma de mantener el instinto es practicar el trabajo duro. Por eso ha abandonado en gran parte la IA, aunque admite que hay motivos más profundos.
Parte de la resistencia de Nooijen y otros entrevistados por MIT Technology Review es la sensación de que estas herramientas vacían las partes del trabajo que les apasionan. “Me metí en ingeniería de software porque me gusta trabajar con ordenadores. Me gusta hacer que las máquinas hagan lo que yo quiero”, dice. “No es divertido sentarse a ver cómo mi trabajo se hace solo”.





