¿Merece la pena aprender a programar si la IA ya sabe hacerlo?
Escuchar el artículo (experimental) · 07:55

Dos preguntas que los programadores no dejan de hacer son, en el fondo, la misma pregunta. Una plantea si es una pérdida de tiempo pasar años aprendiendo a programar cuando la IA habrá reemplazado a los programadores en una década. La otra viene de un estudiante que aprende front-end por su cuenta con YouTube, reescribiendo de memoria el código de cada tutorial, con la duda callada de si está construyendo comprensión o solo memorizando patrones. Una es el miedo macro: ¿va a desaparecer la profesión? La otra es el personal: ¿estoy aprendiendo algo siquiera? Son la misma duda vista desde extremos opuestos. ¿Merece la pena forjar la habilidad a mano cuando la máquina puede producir el resultado?
La respuesta es sí. El motivo no es el cómodo al que suelen recurrir los optimistas.
El consuelo es endeble
La respuesta habitual es que esta profecía es vieja. La sustitución de los programadores se lleva pronosticando por ciclos desde Herbert Simon en 1960, y cada vez pasan los años y hay más desarrolladores que antes, no menos. La IA alucina. Es un asistente imperfecto, no un sustituto. Todo esto es cierto, y todo ello resulta un poco demasiado cómodo.
La versión más afilada del contraargumento no sostiene que la IA programe bien. Sostiene que si la IA programa bien o no es lo de menos. La traducción profesional quedó completamente destripada por la traducción automática, y los traductores habían dado exactamente las mismas garantías que dan ahora los programadores. Lo que decidió su suerte no fue la calidad. Fue que los clientes resultaron estar dispuestos a conformarse con algo más barato, más rápido y peor. Replantea el debate entero de esa manera y deja de ser «¿puede programar la IA?» para convertirse en «¿cómo de buena tiene que ser antes de que alguien deje de pagarte por ello?».
No voy a esquivar eso, porque tiene un filo real, y ese filo cae sobre un grupo concreto. Cuando un desarrollador con experiencia más la IA absorbe el trabajo de varios júnior, las pérdidas aparecen primero en los puestos de entrada. Se está retirando el primer peldaño de la escalera. Y ninguno de los dos bandos, ni optimistas ni pesimistas, tiene una respuesta de verdad para cómo se forma a la siguiente generación de séniores una vez que desaparecen los puestos júnior que los formaban. Si alguien te dice que programar es un oficio totalmente a salvo, te está vendiendo consuelo.
Por qué el argumento a favor de aprender se hizo más fuerte
Y sin embargo, los motivos para aprender a programar no se debilitaron. Se invirtieron.
Lo más certero que le he oído decir a nadie sobre esto es una sola frase sobre lo que una IA hace en realidad cuando le pides que te explique un fragmento de código: me explicará qué hace el código, cosa que ya sé, porque puedo ver el código yo mismo. El conocimiento por el que se paga a un desarrollador no está en el código. La intención, el motivo por el que se tomó una decisión, la restricción que no está escrita en ninguna parte, la historia detrás de por qué es así y no de la manera obvia: nada de eso se puede leer en el código fuente. Así que una máquina que lee ese mismo fuente tampoco puede producirlo.
Eso traza la línea de verdad. La IA es muy buena en la capa del «qué»: la sintaxis, el código repetitivo, el pegamento, la reformulación de lo que el código hace a las claras. No toca la capa del «porqué»: decidir qué construir, plasmar la intención, razonar sobre si la cosa es realmente correcta, sostener el contexto que no vive en el archivo de nadie. La producción mecánica de sintaxis se está automatizando, y aquí está lo que el estudiante angustiado tiene del revés: eso nunca fue lo difícil, ni lo valioso.
Lo que significa que la causa corre en sentido contrario. «¿Para qué aprender lo que la IA está automatizando?» Porque que la IA lo automatice es precisamente lo que vuelve escaso lo otro. Cuando todo el mundo puede generar el resultado y casi nadie sabe distinguir si el resultado es correcto, saber distinguir si es correcto se convierte en el trabajo entero. Y ese criterio no se compra ni se alcanza a base de prompts. Se gana aprendiendo los fundamentos por las malas, los mismos fundamentos que la máquina ahora te sirve gratis.
La versión del principiante tiene una respuesta más afilada
Eso replantea también la pregunta más pequeña del estudiante. El veredicto casi unánime, cada vez que esto sale entre quienes enseñan, es que los principiantes en concreto no deberían apoyarse en la IA, y el motivo no es la nostalgia. Es que un novato no sabe distinguir un resultado correcto de uno que se equivoca con aplomo, y distinguir esos dos es precisamente la habilidad que ha venido a construir. La afirmación confiada de que en la era de la IA aprender a programar se ha vuelto facilísimo, de que no queda nada sin entender, se desmorona al primer contacto, porque todo el que ha aprendido algo de verdad sabe que «no queda nada sin entender» es exactamente la sensación de no haber entendido nada.
La frase a la que la gente recurre es que no se aprende tecleando, se aprende resolviendo problemas. Es cierto, pero infravalora lo que el estudiante ya estaba haciendo. Reescribir código de memoria obliga a recordar en vez de a reconocer, y es al recordar donde la memoria de verdad se forma; es una técnica real, no una pérdida de tiempo. La solución no es parar. Es dar el salto: quédate con la técnica, no con el proyecto, y reconstrúyela en un sitio al que el tutorial nunca llegó. Una todo list se convierte en un recetario. Entonces te atascas, lees la documentación y te desatascas. Atascarse no es el fallo de aprender a programar. Es el mecanismo, y es exactamente el paso que una máquina hará encantada por ti si la dejas. Esa es la trampa.
Lo que me juego en tu respuesta
Me juego algo en lo que decidas, y debería decirlo con claridad. Construyo herramientas que generan código. Una de ellas convierte una frase en un plan y abre sus propios pull requests. Cada uno de esos pull requests no vale nada sin una persona que entienda de código lo suficiente como para leerlo y decir que no. Las máquinas que construyo son exactamente tan seguras como el criterio de quien revisa su resultado, ni un ápice más.
Así que cuando le digo a un estudiante que aprenda los fundamentos por la vía lenta, no estoy siendo sentimental con un oficio. Estoy describiendo el único trabajo que las herramientas no pueden hacer por sí solas, y el único que se vuelve más valioso cada vez que ellas mejoran.
Programar no se está quedando obsoleto. La parte que una máquina puede teclear sí, y esa parte nunca fue por lo que te pagaban. Lo que queda es la parte a la que solo llegas peleándote con la parte que se está automatizando: saber qué construir, y saber cuándo la máquina se ha equivocado. Aprende a programar. No a pesar de la IA. Por ella.
Preguntas que responde este artículo
¿Merece la pena aprender a programar si la IA escribe el código por ti?
Sí, y los motivos se invirtieron en lugar de debilitarse. La IA es muy buena en la capa del qué, la sintaxis, el código repetitivo, el pegamento, la reformulación de lo que el código hace a las claras, y no toca la capa del porqué: decidir qué construir, plasmar la intención y razonar sobre si la cosa es realmente correcta. Cuando todo el mundo puede generar el resultado y casi nadie sabe distinguir si es correcto, saber distinguirlo se convierte en el trabajo entero, y ese criterio no se compra ni se alcanza a base de prompts.
La traducción automática destripó la traducción profesional. ¿Por qué iba a ser distinto con la programación?
La objeción tiene un filo real y no conviene esquivarla. Lo que decidió la suerte de los traductores no fue la calidad, fue que los clientes resultaron estar dispuestos a conformarse con algo más barato, más rápido y peor, y esa misma presión cae con más fuerza sobre los puestos de entrada en el software, donde un desarrollador con experiencia más la IA absorbe el trabajo de varios júnior. Lo que no alcanza es la parte del trabajo que nunca estuvo en el archivo: la intención, la restricción que no está escrita en ninguna parte, el motivo por el que una decisión fue así y no de la manera obvia. Quien te diga que programar es un oficio totalmente a salvo te está vendiendo consuelo.
¿Debería un principiante usar IA mientras aprende a programar?
No, no para los fundamentos, y el motivo no es la nostalgia. Un novato no sabe distinguir un resultado correcto de uno que se equivoca con aplomo, y distinguir esos dos es precisamente la habilidad que ha venido a construir. La afirmación de que en la era de la IA aprender a programar se ha vuelto facilísimo, de que no queda nada sin entender, se desmorona al primer contacto, porque esa es exactamente la sensación de no haber entendido nada.
¿Es una pérdida de tiempo reescribir de memoria el código de los tutoriales?
No lo es. Reescribir de memoria obliga a recordar en vez de a reconocer, y es al recordar donde la memoria de verdad se forma, así que es una técnica real. Lo que le falta es dar el salto: quédate con la técnica, no con el proyecto, y reconstrúyela en un sitio al que el tutorial nunca llegó, de modo que una todo list se convierta en un recetario. Entonces te atascas, lees la documentación y te desatascas, que es justo el paso que una máquina hará encantada por ti si la dejas.
Leer a continuación
AI¿Sigue importando el lenguaje que conoces?
Ahora un modelo escribe cualquier lenguaje con fluidez. Eso deja sin valor la mitad barata de conocer un lenguaje y hace que la mitad cara valga más que nunca.
AI¿De dónde van a salir los próximos seniors?
La IA se está comiendo exactamente el trabajo con el que aprendían los desarrolladores junior, la contratación de perfiles de entrada se hunde de forma medible, y todo senior capaz de auditar lo que produce una máquina fue antes un junior al que alguien pagó por equivocarse. Sobre DHH contratando por «hasta dónde podría llegar», las 2.200 personas que se presentaron, y por qué una industria que deja de fabricar seniors ha entendido mal su propia cadena de suministro.