La IA y el oficio de programar

·

Hay una generación de profesionales tecnológicos que tiene algo que no se puede comprar ni aprender en un curso: haber vivido el antes y el después. No una, sino varias veces.

Fuimos los que teníamos un fijo en casa y vimos llegar el móvil de esos gordos. Los que pasamos de la Game Boy a la PlayStation. Los que abrimos nuestra primera cuenta de correo cuando el correo era de 10 megas, y después vimos nacer, y morir, redes sociales enteras. Friendster, Tuenti, Google+. Llegamos a Internet cuando Internet todavía olía a nuevo.

Cada vez que llega una tecnología disruptiva, el patrón ha sido el mismo: pánico entre los que no querían adaptarse, euforia entre los que la abrazaron sin criterio y, en algún punto intermedio, los que la integraron con cabeza porque ya sabían lo que había debajo. Internet funciona con ficheros de texto. Markdown lo está demostrando, una vez más.

Con la IA está pasando exactamente lo mismo. Y una vez más, la ventaja competitiva real no es dominar la herramienta nueva. Es entender qué estaba haciendo antes de que llegara.

La IA te da código, pero no el criterio para juzgarlo

Esto es lo primero que hay que decir con claridad: la IA genera código. Código que compila, que la mayoría de veces funciona, que en muchos casos tiene una pinta, incluso, razonable. Pero generar código y saber programar no son la misma cosa.

Programar tiene una metodología. Tiene convenciones de naming, estructura de directorios, separación de responsabilidades, manejo de errores, consideraciones de seguridad, legibilidad para el que viene después. Tiene revisión de código. Tiene el hábito de preguntarse ¿esto es mantenible en seis meses?

Alguien que nunca ha programado puede pedirle a una IA que le construya un sistema de autenticación y obtener algo que funciona. Pero no va a saber si ese código es una bomba de relojería, si los tokens se están manejando mal, si hay un SQL injection esperando su momento o si la arquitectura entera va a ser imposible de extender cuando lleguen nuevos requisitos. Y lo más importante: no sabe que no lo sabe.

Los que llevamos años en esto tenemos algo que la IA no puede darte por sí sola: el olfato. Esa sensación de «esto me suena mal» cuando lees un bloque de código. Esa pregunta automática de ¿y si esto falla? Ese instinto que viene de haber arreglado suficientes cosas rotas como para reconocer los patrones antes de que exploten.

Lo que sí está cambiando, y mucho

Dicho eso, sería deshonesto no reconocer lo que la IA está haciendo bien. Muy bien, en algunos casos.

Tenía código pendiente de refactorizar desde hacía más de un año. Deuda técnica real, de la que sabes que existe, que has apuntado en algún TODO, pero que nunca sube suficientemente en la lista de prioridades porque siempre hay algo más urgente. En dos días, con ayuda de la IA, he podido revisar esos módulos, encontrar errores que no había visto, detectar problemas de seguridad latentes y aplicar mejoras que llevaban meses esperando. Dos días frente a lo que podría haber sido semanas, o nunca.

Eso no es trivial. Eso es liberar capacidad real. Y lo que lo hace posible no es solo la IA: es que yo ya conocía ese código, entendía su contexto, sabía qué era importante y qué era cosmético, y pude guiar el proceso con criterio.

La IA, en ese flujo, no sustituye al programador. Lo multiplica.

La deuda técnica que aún no hemos visto venir

Aquí está la trampa. Y es importante nombrarla.

La misma velocidad que nos permite saldar deuda técnica acumulada también nos permite acumular deuda técnica nueva a una velocidad sin precedentes. Si antes tardabas tres días en escribir un módulo, lo pensabas. Lo diseñabas. Te dolía suficiente como para hacerlo bien. Ahora puedes tener ese módulo en dos horas, y cuatro módulos más antes del viernes.

¿Quién va a mantener todo eso?

El código generado con IA, sin revisión, sin criterio, sin tests, sin documentación, es deuda técnica con descuento. Parece barato porque llega rápido. El coste real llega después, cuando hay que entenderlo, modificarlo, depurarlo o integrarlo con algo nuevo.

La tentación de hacer más cosas, más rápido, porque ahora puedes, es real. Y hay que resistirla con la misma disciplina con la que siempre ha habido que gestionar un proyecto: saber cuándo parar, cuándo consolidar, cuándo decir que antes de añadir más, hay que entender bien lo que ya existe.

El ejemplo de WordPress

Un ejemplo cercano: en el último año, el repositorio de plugins de WordPress ha recibido cientos de nuevos plugins, una parte significativa de ellos generados con IA. Números que antes habrían tardado años en acumularse. Ahora que se acerca WordPress 7.0, la pregunta real no es cuántos plugins hay, si no cuántos van a publicar una actualización que valide su compatibilidad con la nueva versión. Porque esa compatibilidad no es algo que la IA pueda resolver sola: requiere documentación que aún no existe, requiere haber leído los tickets del core, seguir las discusiones en Make WordPress, entender qué APIs han cambiado y por qué. Requiere, en definitiva, estar en el ecosistema. Los plugins abandonados, o simplemente escritos por alguien que nunca entendió lo que la IA le generó, van a ser un problema silencioso para miles de instalaciones. La velocidad de creación no ha venido acompañada de ningún compromiso equivalente de mantenimiento.

Lo que de verdad diferencia a los que vivieron los dos mundos

La tecnología siempre ha avanzado más rápido que la capacidad humana de absorberla con madurez. Lo vimos con internet, con los smartphones, con las redes sociales. En todos esos casos, los que mejor navegaron el cambio no fueron ni los que se resistieron ni los que se lanzaron sin pensar. Fueron los que tenían suficiente contexto del pasado para saber qué parte del cambio era ruido y qué parte era señal.

Con la IA es igual.

Saber programar sigue importando. Saber documentar sigue importando. Entender una arquitectura, leer código ajeno, hacer una buena revisión, diseñar algo que otro pueda mantener: todo eso sigue siendo trabajo humano, y por ahora, trabajo que requiere haberlo hecho antes de que llegara una máquina a ayudarte a hacerlo más rápido.

La IA es una herramienta potente en manos de alguien que sabe lo que está haciendo. En manos de alguien que no, es una forma muy eficiente de construir castillos sobre arena.

Los que hemos visto dos mundos tenemos la responsabilidad de no olvidar el primero mientras aprovechamos el segundo.

Comments

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *