Become a member!

La IA No Reemplazará a los Desarrolladores. Hará Evidente Quién lo Es de Verdad.

🌐
Este artículo también está disponible en otros idiomas:
🇬🇧 English  •  🇮🇹 Italiano
Inteligencia Artificial y Desarrollo de Software

Hay una frase que escucho repetir con insistencia creciente en los últimos meses: “La IA reemplazará a los programadores.” La dicen managers que nunca han escrito una línea de código, la replican periodistas en busca de titulares sensacionalistas, la temen juniors que acaban de comenzar su camino. Y cada vez que la escucho, pienso lo mismo: quien dice eso no tiene la menor idea de lo que significa realmente desarrollar software.

Porque desarrollar software no es — y nunca ha sido — solo “escribir código”.


Escribir Código es la Parte Fácil

Lo digo desde más de veinte años de experiencia en el campo, y lo reitero cada vez que tengo la oportunidad de hablar con colegas, clientes o estudiantes: la escritura del código es una fracción del trabajo de un desarrollador. A menudo ni siquiera es la parte más difícil.

Intenten pedirle a un LLM que negocie los requisitos con un cliente que no sabe lo que quiere pero sabe perfectamente lo que no quiere. Intenten pedirle a Claude o a ChatGPT que decida si vale la pena introducir un nivel de abstracción adicional en la arquitectura, sabiendo que en seis meses el equipo se duplicará. Intenten que gestione el trade-off entre entregar una feature incompleta el viernes o arriesgarse a perder el contrato.

No pueden. No porque sean “estúpidos”, sino porque estas decisiones requieren algo que ningún modelo estadístico posee: contexto humano, responsabilidad y consecuencias reales.

Equipo de desarrolladores planificando la arquitectura de software

El trabajo real comienza frente a la pizarra, no frente al IDE. Photo by You X Ventures on Unsplash

Un desarrollador de verdad no es un traductor de especificaciones a código. Es un resolutor de problemas que opera en un ecosistema hecho de restricciones técnicas, restricciones de negocio, restricciones humanas. Y la IA, por muy potente que sea, opera en un espacio completamente diferente.


El Verdadero Impacto: Diferente para Cada Nivel de Experiencia

Una de las cosas que más me llama la atención en el debate sobre la IA es cómo se trata como un fenómeno monolítico. “La IA cambiará el desarrollo de software” — sí, pero cómo lo cambiará depende enormemente de quién eres y de cuánta experiencia tienes.

El Desarrollador Junior

Para quien está dando sus primeros pasos, la IA es un tutor siempre disponible. Y esto es fantástico. Cuando yo empecé, para entender cómo funcionaba un patrón tenía que comprar un libro, leerlo, probar, equivocarme y volver a probar. Hoy un junior puede pedirle a un LLM que le explique el patrón Observer con un ejemplo en Delphi y obtener una respuesta razonable en tres segundos.

Pero hay un riesgo enorme que demasiados subestiman: la IA no sabe cuándo está enseñando algo incorrecto. Y un junior no tiene las herramientas para darse cuenta. Sin un mentor humano que actúe como filtro, el riesgo es construir cimientos frágiles sobre código que “funciona” pero es arquitectónicamente un desastre. La IA acelera el aprendizaje, pero también puede acelerar la adquisición de malos hábitos. No es casualidad que, según la encuesta de Stack Overflow 2025, el 45% de los desarrolladores cite como principal frustración las “soluciones de IA que son casi correctas, pero no del todo” — un “casi” que para un junior sin experiencia es prácticamente imposible de detectar.

El Desarrollador Mid-Level

Es aquí donde la IA da lo mejor de sí. El desarrollador con 3-7 años de experiencia tiene suficiente competencia para evaluar críticamente la salida de un LLM, pero obtiene un enorme beneficio del soporte en la escritura de boilerplate, en la generación de tests, en la exploración de APIs poco familiares. La IA reduce la carga cognitiva en las tareas repetitivas, liberando energía mental para las decisiones que importan.

El Desarrollador Senior

Para un senior, la IA es un multiplicador de fuerza. No cambia qué decide, pero comprime drásticamente el tiempo entre una decisión arquitectónica y su implementación. He visto personalmente la diferencia: tareas que requerían media jornada de scaffolding ahora se completan en una hora. Pero las decisiones fundamentales — qué patrón usar, dónde poner los límites entre los módulos, cómo gestionar la migración de datos — siguen siendo firmemente humanas.


Del “Vibe Coding” al “Context Engineering”

En febrero de 2025, Andrej Karpathy — ex director de IA en Tesla y cofundador de OpenAI — acuñó el término “vibe coding”: “There’s a new kind of coding where you fully give in to the vibes, embrace exponentials, and forget that the code even exists.” Escribes un prompt vago, la IA genera código, lo copias y pegas en el proyecto y esperas que funcione. Es el equivalente informático de cocinar siguiendo la “vibración” en lugar de la receta.

¿El problema? Funciona para las demos, se derrumba en producción.

Ajedrez - pensamiento estratégico vs movimientos aleatorios

Como en el ajedrez, la diferencia la marca la estrategia, no la velocidad de las jugadas. Photo by Michał Parzuchowski on Unsplash

Lo interesante es que el propio Karpathy, un año después, declaró el vibe coding superado, introduciendo el concepto de “agentic engineering”: ya no prompts casuales, sino orquestación estructurada de agentes de IA con supervisión humana, quality gates y revisión rigurosa. En la práctica, incluso quien inventó el término se dio cuenta de que sin disciplina ingenieril, el vibe coding es un callejón sin salida.

Paralelamente, surgió el concepto de “context engineering” — un término que Tobi Lutke, CEO de Shopify, definió como “the art of providing all the necessary context so that the task is solvable by the LLM”. Ya no se trata de escribir prompts ingeniosos, sino de proporcionar al modelo especificaciones precisas, contexto arquitectónico, restricciones de proyecto, convenciones del codebase.

En la práctica, todos están descubriendo lo que vengo repitiendo desde hace tiempo: cuanto mejor desarrollador eres, mejor sabes usar la IA.

Es una paradoja solo aparente. Para escribir un prompt eficaz que genere código de calidad, debes saber exactamente qué quieres obtener. Debes conocer los patrones, las mejores prácticas, los trade-offs. Debes tener lo que yo llamo “visión arquitectónica” — la capacidad de ver el sistema en su conjunto, no solo la función individual.

Quien no tiene estas competencias acaba haciendo “vibe coding” permanente, produciendo una acumulación de deuda técnica que tarde o temprano pasará factura. Con intereses.

Y aquí llegamos a un punto que considero crucial: detente un segundo y piénsalo. Si no tienes las competencias para evaluar lo que una IA te dice, estás confiando en un sistema probabilístico. Un sistema que probablemente te está diciendo algo verdadero. Probablemente. ¿Estás seguro de poder aceptarlo? Cuando el código que generas gestiona transacciones financieras, datos sanitarios o infraestructuras críticas, “probablemente correcto” no es suficiente. Debes tener las competencias para evaluar críticamente lo que una IA produce — de lo contrario no estás programando, estás jugando a la ruleta con el software de otra persona. Martin Fowler, en un artículo de 2025, observó que los LLM pueden afirmar con seguridad que todos los tests pasan cuando en realidad fallan — y se pregunta: “If that was a junior engineer’s behavior, how long would it be before H.R. was involved?” Pues bien, si tu “colega IA” tiene este nivel de fiabilidad, quizás sea momento de no darle acceso incondicional al codebase de producción.


La Cuestión de la Responsabilidad

Hay un punto que en el debate a menudo se pasa por alto, y que sin embargo considero fundamental: la responsabilidad.

Cuando un sistema entra en producción y algo no funciona — una filtración de datos, un cálculo fiscal erróneo, una interfaz que causa errores médicos — ¿quién responde? ¿La IA? ¿El prompt que escribiste? ¿El modelo que “alucinó” una validación inexistente?

No. Respondes tú. El desarrollador. El equipo. La empresa.

La IA puede sugerir mejores prácticas de seguridad, puede generar código que parece seguro. Pero no asume ninguna responsabilidad legal, ética o profesional. Cada línea de código generada por un LLM que llega a producción se convierte en tu responsabilidad. Y esto significa que debes ser capaz de:

  • Leer ese código y comprenderlo a fondo
  • Evaluar si es seguro, eficiente, mantenible
  • Decidir si es adecuado al contexto específico
  • Responder cuando algo sale mal
Revisión de código - ojos humanos sobre el software

Cada línea de código que llega a producción pasa bajo tu responsabilidad — la hayas escrito tú o un LLM. Photo by Kevin Ku on Unsplash

Delegar la generación del código es posible. Delegar la responsabilidad del código no lo es. Y no lo será durante mucho tiempo.


El Mercado Laboral: Entre Oportunidades y Riesgos Concretos

Sería ingenuo negar que la IA tendrá un impacto en el mercado laboral de los desarrolladores. Lo tendrá, y en parte ya lo está teniendo. Pero no de la manera catastrófica que cierta prensa quiere hacernos creer.

Partamos de los datos: el Bureau of Labor Statistics estadounidense prevé un crecimiento del 15% en el empleo de desarrolladores de software entre 2024 y 2034 — cinco veces más rápido que la media de todas las profesiones (3%). Se estiman aproximadamente 129.000 nuevas posiciones al año. No es exactamente el escenario de “sustitución masiva” que nos cuentan. La encuesta de Stack Overflow 2025, realizada con más de 49.000 desarrolladores, confirma: el 64% no ve la IA como una amenaza para su trabajo. Al mismo tiempo, un dato me llamó la atención: la confianza en la precisión de la IA bajó del 40% al 29% interanual. El 80% usa herramientas de IA, pero las usa con creciente conciencia de sus limitaciones.

Dicho esto, la demanda de “code monkeys” — desarrolladores que traducen mecánicamente especificaciones a código — disminuirá. Esto es casi seguro. Si tu valor añadido principal es escribir CRUDs sin errores de sintaxis, tienes un problema. No porque la IA lo haga mejor que tú, sino porque lo hace suficientemente bien como para que tu coste no sea justificable.

Pero la demanda de profesionales que saben diseñar sistemas, tomar decisiones arquitectónicas, gestionar la complejidad y asumir responsabilidades — esa no solo no disminuirá, sino que crecerá. Porque cuanto más código se genera más rápidamente, más se necesita a alguien que sepa evaluarlo, integrarlo, mantenerlo y hacerlo evolucionar. No por casualidad, según el informe Robert Half 2026, las posiciones en IA/ML crecieron un 163% en 2025 y las de ciberseguridad un 124% — se necesitan más personas que sepan construir con la IA y protegerse de la IA, no menos.

Es la misma dinámica que hemos visto con cada salto tecnológico: los compiladores no eliminaron a los programadores, los frameworks no eliminaron a los arquitectos, la nube no eliminó a los administradores de sistemas. Cambió lo que hacen, no si son necesarios.


El Peligro Sutil: Calidad Sacrificada en el Altar de la Velocidad

Hay un riesgo que me preocupa más que la sustitución de los programadores, y es la commoditización de la calidad. Managers y decisores no técnicos ven a la IA generar código en segundos y piensan: "¿Por qué pagamos a desarrolladores senior cuando la IA puede hacer el mismo trabajo?"

La respuesta es simple: porque no es el mismo trabajo.

Artesanía y calidad - el valor del trabajo bien hecho

El software de calidad nace de un proceso ingenierizado con cuidado artesanal: rigor y repetibilidad, no inspiración casual. Photo by Dan-Cristian Pădureț on Unsplash

El código generado por la IA tiende a ser “correcto en promedio” — funciona para los casos comunes, sigue los patrones más frecuentes del training set. Pero el software de calidad vive en los detalles: en la gestión de los casos extremos, en la resiliencia ante errores, en la mantenibilidad a largo plazo, en la seguridad por diseño.

No es solo mi experiencia la que lo confirma. Los números son despiadados. El informe Veracode 2025, que evaluó más de 100 LLM en 80 tareas reales en Java, Python, C# y JavaScript, detectó que el 45% de las muestras de código generado por IA introduce vulnerabilidades OWASP Top 10. Para Java el dato es aún peor: 72%. El 86% del código generado no defiende contra cross-site scripting, el 88% es vulnerable a log injection. La conclusión de los autores es lapidaria: “Los modelos han mejorado en generar código sintácticamente correcto, pero no en generar código seguro.”

Un estudio de Stanford y NYU (“Asleep at the Keyboard?”), presentado en el IEEE Symposium on Security and Privacy, añade un detalle que debería hacer reflexionar a cualquiera: analizando 89 escenarios y 1.689 programas generados por Copilot, aproximadamente el 40% contenía vulnerabilidades de seguridad. Pero el dato más inquietante es otro: los desarrolladores que usaban el asistente de IA eran más propensos a creer que habían escrito código seguro en comparación con quienes trabajaban sin él. En la práctica, la IA no solo introduce bugs de seguridad, sino que también genera una falsa confianza en quien la usa sin el espíritu crítico adecuado.

He visto esta dinámica con mis propios ojos en consultorías recientes: management que decide “acelerar” el desarrollo apoyándose fuertemente en la IA sin supervisión técnica adecuada. ¿El resultado? Código que pasaba los tests funcionales pero era una pesadilla de seguridad. SQL injection ocultas en queries construidas con concatenación de strings. Tokens de autenticación almacenados donde no debían estar. Lógica de validación aparentemente correcta pero eludible con input manipulado.

La IA no hace estas cosas por malevolencia. Las hace porque optimiza para la respuesta más probable, no para la respuesta más segura. Y la diferencia entre “probable” y “seguro” es exactamente donde se juega el valor de un desarrollador competente.


Entonces, ¿Qué Hacer?

Si eres un desarrollador y te estás preguntando cómo posicionarte en este nuevo escenario, mi consejo es directo y sin rodeos:

1. Aprende a usar la IA, ya. No es opcional. Ignorar estas herramientas hoy es como haber ignorado Internet en 1998. No necesitas convertirte en un experto en machine learning, pero debes integrar los LLM en tu flujo de trabajo diario y entender dónde destacan y dónde fallan.

2. Invierte en las competencias que la IA no puede replicar. Arquitectura de software, diseño de sistemas, análisis de requisitos, comunicación con los stakeholders, gestión de la complejidad. Estas son las competencias que te hacen irremplazable, no la velocidad de tecleo.

3. Nunca dejes de entender el “por qué”. La IA te da el “cómo” — a veces bien, a veces mal. Pero el “por qué” detrás de cada decisión técnica es lo que separa a un profesional de un operador. ¿Por qué ese patrón y no otro? ¿Por qué esa arquitectura? ¿Por qué ese trade-off?

4. Piensa en la IA como un junior muy rápido. Tú eres el senior. Es la metáfora que uso más a menudo y que encuentro más eficaz: una IA es como un developer junior increíblemente rápido leyendo documentación y escribiendo código, pero que no tiene experiencia de proyecto, no conoce el contexto de negocio, y a veces toma atajos cuestionables. Tu rol es el del senior que guía, orienta y revisa. No soy el único que piensa así: Addy Osmani, engineering lead de Google Chrome, describe la IA exactamente como “a fast but unreliable junior developer who needs constant oversight”. Si no haces code review sobre lo que produce la IA con la misma atención que dedicarías al código de un junior recién contratado, estás abdicando de tu responsabilidad profesional. La IA es potente, pero necesita dirección. Esa dirección eres tú.

5. Construye experiencia real, no simulada. Trabajar en proyectos reales, con usuarios reales, con restricciones reales, con deadlines reales — esto es lo que construye la competencia que la IA no puede darte. Ningún tutorial y ningún prompt puede sustituir la experiencia de un deploy que salió mal a las 3 de la madrugada y la capacidad de entender, bajo presión, qué pasó y cómo resolverlo.


Conclusión

La inteligencia artificial no está aquí para reemplazar a los desarrolladores. Está aquí para amplificar lo que ya somos. Si eres un profesional competente, la IA te hará más rápido, más productivo, más eficaz. Si no lo eres — si tu único valor era escribir código mecánicamente — la IA hará que esta carencia sea imposible de ocultar.

Es un momento de selección natural profesional, y como toda selección, premia a quien se adapta y penaliza a quien se queda quieto. La buena noticia es que adaptarse no requiere empezar de cero: requiere hacer lo que todo buen desarrollador siempre ha hecho — seguir aprendiendo, mantener la curiosidad, no conformarse jamás.

El software de calidad seguirá necesitando seres humanos competentes. La única pregunta es: ¿estarás entre ellos?


– Daniele Teti

Comments

comments powered by Disqus