El fin de los programadores (de nuevo, otra vez, sí, seguro)

Imagen de El fin de los programadores (de nuevo, otra vez, sí, seguro)

Cada cierta cantidad de años aparece alguien a decir que ha llegado el fin de la programación. Sea por una nueva tecnología, lenguaje o procedimiento, el rol del tipo que escribe código "desaparece".

Siempre se equivocan, sin antes, claro, convencer a algún gerente de alguna empresa a comprar el producto que, oh casualidad, quien vaticinaba el fin del programador estaba vendiendo 😁 Pero ¿Algún día llegará el fin del programador? ¿Acaso cualquier persona quiere pedirle en un prompt a una AI cómo querría un programa, detallando cada proceso, cada paso, cada mínimo detalle? 

Nadie perfora tarjetas ni ingresa un programa bit por bit hoy en día, en el futuro los programadores ¿No serán acaso aquellos que le piden a la Inteligencia Artificial lo que quieren?

La última tendencia es decir que la programación cambiará totalmente y dejará de existir gracias a los modelos de Inteligencia Artificial como GPT-3 (o 4, claro, lo que se viene), Copilot y demás.

Sí, son algoritmos geniales que ante el pedido de un usuario pueden devolver código que muchas veces funciona. Y muchas veces funciona porque se basó en el código de terceros para ser entrenados.

Así comenzó Copilot, de GitHub, que tiene una de las bases más grandes de código abierto del mundo que permiten entrenar a cualquier AI para que pueda tomar la idea del usuario y transformarla en código. Fue una linda sorpresa cuando salió, pero... ¿Por qué nadie la usa realmente? Ah, si, porque necesita de un programador que revise todo el código generado.

¿Pero no era que podía reemplazar al programador? Ah, no, lo que pasa es que ahora éste, en vez de escribir, tendrá que supervisar... encontrar errores, bugs, inyecciones, lo mismo que hacía antes y que podía evitar siguiendo (o intentando seguir) buenas prácticas. Ahora supuestamente tendrá que "confiar" en un modelo numérico que puede o no hacer su trabajo: nadie lo sabe.

Eso es lo divertido con cada tecnología que supuestamente reemplazaba a los programadores, nunca se especifica a qué programadores reemplaza, supuestamente es a todos.

Pero si tu código necesita ser revisado por un programador, no lo reemplazaste, sólo cambiaste un poco su rol, y, para colmo, si dejás de entrenar programadores dejarás de tener supervisores y el código imperfecto de la AI empezará a pasar a producción sin supervisión, con las consecuencias que se pueden imaginar.

El mundo ideal del hacker

Todo esto abre la posibilidad no a los programadores e inteligencias artificiales sino al hacking. El código producido por una AI no suele tener tantas previsiones para la enorme cantidad de posibles ataques que pueda sufrir el código.

Absolutamente todos los códigos generados por cualquier motor de AI actual está abierto a una inyección básica, no limpia la entrada, deja que todo pase.

Pueden probar cualquiera de los existentes y la probabilidad de que tenga errores de ese tipo es altísima, un día te da algo bien hecho, al otro algo mal hecho, no podés estar seguro nunca de que el resultado generado sea de la misma calidad que el anterior.

Esto le abre la puerta al hacker para encontrar nuevos huecos y explotarlos, el trabajo del programador vendría a ser el bombero apagador de incendios, algo que ya hace actualmente, pero al menos revisando código escrito por un humano.

¿Dónde está la diferencia? Bueno, el humano a veces comenta algo 😁 y lo que escribe está basado en cosas que puede entender otro y, algo que es fundamental: aunque parezca mentira, sabe que es imperfecto.

Uno de los mayores problemas que vi con todos los sistemas de AI para generación de resultados es que la modestia no es una de sus cualidades. No duda, afirma.

Si le preguntás de qué color es el caballo blanco de San Martín y justo su algorimo falló te va a afirmar que era negro. Con total certeza y cero margen de error. No puede admitir duda y posible error, por ende no te va a advertir jamás con un "revisá esto que creo que funciona pero no tengo idea por qué". No puede.

Es el error más común de todo algoritmo de AI, no saben que existe una tercer opción, todo es blanco y negro, absolutos.

Buscando el ahorro en el peor lugar posible

Los únicos interesados en eliminar programadores son los gerentes, quieren reducir personal en un área que, como hay mucha demanda, se paga mucho.

El rol de programador es caro, entonces quieren usar un sistema que requiera menos programadores. Así nacieron opciones como no-code, 4GL, low-code, serverless, CASE, que se yo, mil cosas que prometían reducir la existencia de programadores.

¿Qué hizo falta? Pues bien, alguien tenía que saber usar todas esas herramientas nuevas, no había suficiente gente, entrenaron nuevos, ahora cobran lo mismo o más que un programador y las empresas quedaron encerradas en frameworks totalmente cerrados y obtusos, lentos, ineficientes y carísimos.

Con la AI es lo mismo, uno cree que reemplazará el costo pero en realidad reemplaza la estructura programador-tester-qa por la de query master-tester-qa, un tipo que sea tan capo para pedirle algo a una inteligencia artificial que tenga que teclear durante horas un pedido tan detallado como preciso que la AI entienda todo y produzca un resultado fantástico.

Es decir... van a necesitar un programador 😁

Y ese es el punto, desde un tipo que redacta una ley hasta un tipo que define el proceso para operar a un paciente, todos son, de alguna forma, programadores y quienes usan esos programas los usuarios, toda creación de reglas y estandarización de procedimientos son programas, la gente sigue programas. Sólo replicamos lo que ya conocemos y nos sale bien.

No importa si escribimos código de máquina, Assembler, C++ o Javascript, el nivel de abstracción no hará que seas menos programador. De hecho, tendrás que aprender un framework nuevo pero seguirás pensando de la misma forma, haciendo prácticamente lo mismo para obtener el mismo resultado.

El manager que cree que podrá reemplazar costosos programadores por baratos "Query masters" (me gusta este término inventado para definir al que le pregunta a una AI) se dará con una pared cuando conseguir al mejor "preguntador" sea tan caro como un programador porque, en realidad, sea tan sólo un buen programador que aprendió la nueva herramienta de moda.

Pero AI cambiará cómo programamos, de eso no hay ninguna duda, los algoritmos adaptativos e incrementales que se están creando ahora serán la norma dentro de algunos años (o meses) y quien aprenda a "domarlos" será el nuevo "programador", un perfil que no escribirá código directamente sino órdenes precisas para generar un resultado.

Lo ridículo es decir que el programador desaparecerá, ESE será el programador. Así como nadie escribe unos y ceros en una tarjeta perforada hoy en día, el avance nunca reemplazó al rol porque... nadie quiere hacer ese trabajo salvo los programadores 😁


Volver al inicio Ver original

copyright©2025 Fabio Baccaglioni - Fabio.com.ar - Versión simplificada Old School