¡¡¡Ahora Sí!!! El fin de los programadores

No recuerdo cuántas veces he leído el mismo titular: El fin de los programadores. Cambia el año, cambia la tecnología, cambia el tono, a veces apocalíptico, a veces triunfalista, pero el mensaje es siempre el mismo. Lo leí cuando aparecieron las primeras librerías que nos ahorraban escribir funciones desde cero. Lo leí cuando llegaron las herramientas de click & drag, como SPSS Modeler (antiguamente Clementine), prometiendo que cualquiera podría “programar” sin programar. Lo leí con el AutoML, con herramientas como DataRobot, cuando parecía que los modelos se construirían solos. Y ahora lo vuelvo a leer con la inteligencia artificial generativa escribiendo código a una velocidad que hace apenas cinco años habría parecido ciencia ficción.

Y, sinceramente, cada vez que aparece ese titular… refuerza mi posición.

Aprendí a programar (aunque debería decir codificar) con siete años, con un libro que se llamaba Basic Básico. No era romántico ni épico. Era complicado. Programar entonces exigía entender cada instrucción, cada salto, cada variable. Más tarde llegó Pascal y, si querías iterar, escribías la iteración. Si querías ordenar, implementabas el algoritmo, quien lo ha vivido, no puede olvidar los punteros. No había librerías mágicas que resolvieran el problema por ti. No había foros repletos de respuestas listas para copiar y pegar; de hecho, casi no había internet. Éramos nosotros frente al problema, el algoritmo como única herramienta y, con suerte, algún libro básico.

Cuando empezaron a popularizarse las librerías, muchos interpretaron aquello como el principio del fin. Si ya no necesitas escribir tu propio algoritmo de ordenación, si ya no tienes que preocuparte por cada detalle de bajo nivel, ¿qué queda del programador? La pregunta parecía razonable. La conclusión, no tanto.

Porque no se acabó nada. Lo único que cambió fue el lugar donde estaba el esfuerzo. Y eso, en realidad, es lo que siempre ha ocurrido.

De las tarjetas perforadas a C

Aunque no viví la época de las tarjetas perforadas, me cuesta imaginar que fuera muy distinta en lo esencial. Cada transición tecnológica debió venir acompañada del mismo murmullo que escuchamos hoy. Cuando se pasó de perforar cartón a escribir directamente en lenguaje máquina, alguien pensaría que aquello simplificaba tanto las cosas que el oficio perdería sentido. Después llegó el ensamblador, y con él una nueva distancia respecto al hardware. Más adelante aparecieron lenguajes compilados como C, que permitían expresar ideas de forma mucho más cercana al pensamiento humano que a la electrónica. Y más tarde lenguajes estructurados como Pascal, del que ya he hablado.

En cada uno de esos momentos es fácil imaginar el mismo argumento: “Ahora cualquiera podrá programar”. Y en cierto modo era verdad. Cada salto ampliaba el acceso y reducía la fricción técnica.

Pero junto con esa apertura ocurría algo menos evidente: los problemas crecían. Al poder hacer más cosas, empezamos a abordar retos más ambiciosos. Sistemas más grandes. Contextos más complejos. Dependencias más críticas. Y eso no redujo la necesidad de programadores; la transformó. Ya no bastaba con conocer instrucciones. Hacía falta entender sistemas.

La historia no muestra una línea de sustitución. Muestra una escalera. Y cada peldaño no elimina el anterior: lo convierte en base.

Las capas de abstracción no destruyen, desplazan

Si uno observa la evolución tecnológica con un poco de perspectiva, el patrón es casi repetitivo. Cada salto tecnológico no elimina lo anterior; lo cubre con una nueva capa. Una capa de abstracción que simplifica, que oculta complejidad y nos permite operar a un nivel superior.

Primero dejamos de pelear con la memoria y empezamos a pensar en lógica. Después dejamos de centrarnos únicamente en la lógica para preocuparnos por la arquitectura. Más adelante entendimos que la arquitectura no era el fin, sino el medio para abordar el verdadero núcleo del asunto: el problema. Y ahora, con la inteligencia artificial generativa escribiendo código, el desplazamiento es aún más evidente. El código empieza a dejar de ser el centro de gravedad. Lo que se desplaza hacia el centro es el diseño de soluciones.

No es una sustitución. Es un cambio de foco.

Cada vez que aparece una nueva capa, alguien interpreta que lo anterior pierde valor. Pero lo que realmente ocurre es que el valor se reubica en un nivel más alto de comprensión, más cercano al impacto real. Lo que ayer era complejo hoy se automatiza, y lo que hoy parece esencial mañana será infraestructura invisible.

Así es como madura la tecnología.

Cuando la herramienta cambia, el oficio evoluciona

Esto no solo ha pasado en la programación. Ha ocurrido una y otra vez en otros ámbitos mucho más antiguos que el software.

En la agricultura, cada avance técnico redujo esfuerzo físico y multiplicó capacidad. La azada permitió cultivar más tierra que las manos. El arado de tiro animal amplió la superficie trabajada. El tractor transformó por completo la escala de producción. En cada uno de esos momentos alguien podría haber dicho que ya no harían falta agricultores, que la máquina sustituiría al humano. Y, sin embargo, lo que desapareció no fue el agricultor, sino una parte concreta de su esfuerzo.

Lo que cambió fue el perfil. Menos fuerza bruta. Más planificación. Más gestión de recursos. Y además aparecieron nuevas especializaciones que antes no existían o no eran necesarias a esa escala: peritos agrónomos capaces de analizar suelos y rendimientos, ingenieros agrícolas diseñando sistemas de riego, genetistas y breeders de semillas optimizando variedades para maximizar productividad o resistencia. La tecnología no redujo el ecosistema profesional; lo expandió y lo sofisticó.

En el transporte ocurrió algo parecido. Cuando en Mesoamérica se introdujeron caballos, bueyes y burros con la llegada de los europeos, el movimiento de mercancías dejó de depender exclusivamente de ejércitos de fuerza humana. Siglos después, la contenerización revolucionó los puertos y redujo drásticamente el trabajo manual de los estibadores. Pero la logística no desapareció. Se volvió más compleja, más global, más dependiente de la coordinación y la tecnología.

Desapareció músculo. Apareció organización.

Y ese es el patrón que se repite también en la programación. Cada herramienta que automatiza una parte del trabajo no elimina el oficio. Lo obliga a evolucionar.

Entonces, ¿qué es un programador?

Tal vez el error de fondo está en la definición. Durante años hemos asumido que un programador es alguien que escribe código. Y claro, si ahora una inteligencia artificial puede escribir ese código en segundos, y no entraré ahora en si lo hace bien o mal, la conclusión parece obvia: el programador sobra.

Pero ahí hay una confusión peligrosa: no es lo mismo un programador que un codificador.

Un codificador traduce instrucciones en sintaxis. Su valor está en conocer el lenguaje y los patrones repetibles. Durante mucho tiempo eso fue escaso y, por tanto, valioso. Un programador, en cambio, hace algo distinto: entiende un problema, lo descompone, toma decisiones y utiliza el código como herramienta para materializar una solución.

El código no es el fin. Es el medio.

Cuando el cuello de botella era teclear y recordar APIs, ambos perfiles parecían lo mismo. Hoy ya no.

El verdadero cuello de botella está en entender el problema correcto. En formularlo con precisión. En decidir qué arquitectura tiene sentido y cuál es un castillo de naipes elegante pero inútil. Está en validar que la solución funciona en un entorno real, con datos imperfectos y restricciones incómodas. Y, sobre todo, en alinear lo que se construye con lo que el negocio realmente necesita, que casi nunca coincide exactamente con lo que el negocio dice que necesita.

La prueba está en que en el último año se ha multiplicado la cantidad de aplicaciones móviles que aparecen en los marketplaces, muchas de ellas creadas por lo que algunos llaman vibecoders: perfiles capaces de generar una app completa en pocos días apoyándose en herramientas de IA a través de instrucciones en lenguaje natural. Sin embargo, no ha surgido ninguna que haya revolucionado el mercado. Hay más software. Mucho más. Pero no necesariamente más valor.

La inteligencia artificial generativa no rompe el patrón histórico; lo acelera. Si el código se genera en segundos, el diferencial ya no es escribir más líneas por hora. El diferencial es pensar mejor. Diseñar mejor. Preguntar mejor.

Y aquí aparece algo que ya hemos visto en otras revoluciones tecnológicas: el efecto K. Cuando surge una nueva tecnología, ahora es la Inteligencia Artifical, no eleva a todos por igual. Amplifica a quienes saben utilizarla y deja atrás a quienes intentan competir contra ella haciendo exactamente lo mismo que antes. En programación está ocurriendo eso. Hay perfiles que utilizan la IA como una extensión de su pensamiento, como una palanca que multiplica su capacidad de diseñar, validar y decidir. Y hay perfiles que se limitan a delegar sin entender, a aceptar sin cuestionar, a producir más código sin producir más valor.

La brecha no será entre quienes usan IA y quienes no. Será entre quienes la integran con criterio y quienes la consumen sin evolucionar.

No es el fin del programador. Es el fin de confundir programar con simplemente escribir código.

No es el fin. Es la reubicación del valor.

Si algo nos enseña la historia de la tecnología es que rara vez asistimos a desapariciones súbitas. Lo que vemos, casi siempre, es un desplazamiento. El valor no se evapora; se mueve.

No estamos ante el fin de los programadores. Estamos ante una reubicación del valor.

El código, como acto mecánico, será cada vez más barato, más accesible, más inmediato. Generar funciones, estructurar proyectos o documentar dejará de ser el diferencial competitivo que fue durante años. Pero justo por eso, lo que realmente importa se encarece: el criterio. La capacidad de formular bien el problema. De elegir qué no construir. De detectar una mala solución, aunque compile perfectamente. De conectar tecnología con estrategia.

Probablemente dentro de diez años volveremos a leer el mismo titular: “Ahora sí. El fin de los programadores.” Y volverá a parecer convincente, porque confundiremos de nuevo herramienta con oficio.

Pero el oficio no desaparece. Se redefine. Y en esa redefinición algunos crecerán y otros se quedarán atrás.

No es el fin. Es una selección natural basada en la capacidad de adaptarse.

Y, como siempre, la tecnología no decidirá quién desaparece. Lo decidirá nuestra disposición a evolucionar con ella.

Imagen: ChatGPT


Deja un comentario