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 😁

Si te gustó esta nota podés...
Invitame un café en cafecito.app


Otros posts que podrían llegar a gustarte...

Comentarios

  • José Zanni     02/01/2023 - 11:23:09

    Yo en cambio quiero involucionar a programar en C64! :D

    • Danbat     02/01/2023 - 14:04:45

      Yo lo encontré programando Arduino, lo más bajo nivel que llegué en código. Debajo de eso hice circuitos con puertos lógicos AND, NAND y XOR e incluso llegué a hacer puertas lógicas con relays que fue lo más cercano que estuve de la mecánica cuántica.

      • Patricio     31/01/2023 - 09:34:48

        Me encantó lo de "...llegué a hacer puertas lógicas con relays que fue lo más cercano que estuve de la mecánica cuántica."

  • Gustavo V     02/01/2023 - 12:55:42

    Recuerdo la tapa de la revista Byte allá en los 90: Visual Basic, el fin de los programadores

    fue la peor mierda que existió y sobre todo como Microsoft hizo de las suyas te cambiaba todo con cada versión, ya sea con MSFC o con .NET y ahora net.Core.

    básicamente tenías un sistema hecho en la versión 2 y querías pasar a usar la versión 3 y había que reescribir el 50% del código con suerte

    el tema de github copilot (por poner un ejemplo que evaluamos) al basarse su IA de código público, el 98% de este código es de gente que recién empieza y de muy baja calidad.

    el otro 2% (con suerte) que serían la bibliotecas famosas, te sorprenderias lo horrendamente programadas que están muchas porque I´m hacker, i program like a hacker bulshit.

    y habló con conocimiento y porque lo evaluamos.

    básicamente te generaba código que no solo era de baja calidad, sino que tenia muchisimos bugs, tipo que te tiraba calidad de código inferior al 30% (de 100) en un analizador estático de código.

    que cometía bug básicos tipo de entrar en un loop infinito y cosas asi.

  • GAK     02/01/2023 - 13:10:45

    Recuerdo a un hacker español, que al ponerse algo nostálgico, escribió de su anhelo de juntarse para fumar y programar. Si, también se programa por placer, como quien va a pescar, o llena su casa de artesanías. Alguna vez yo también lo hice.
    Y también por esto, los programadores no desaparecerán.

    • Fabio Baccaglioni     02/01/2023 - 13:13:54

      este blog está progamado por placer, todo el sistema, cada pelotudez que tiene la hice porque se me cantó hacer, no uso wordpress ni nada. Yo todavía lo hago por el sólo hecho de aprender a hacer cosas y cada año le agrego funcionalidades al blog que por ahí nadie ve porque son del backend pero me re sirven Guiño

  • Danbat     02/01/2023 - 14:01:01

    "Query master" lo podríamos estar usando desde hace rato con Google.

    Por lo general las "tecnologías disruptivas" causan furor en gente no entendida. Ejemplo: el voto electrónico. Salvo escasos individuos, casi todo el espectro tecnológico lo rechazamos porque sabemos dónde y cómo puede fallar. Con las IA, son los programadores con GPT y los artistas con Midjourney (y otros) son los que se agarran la cabeza mientras el resto está encandilado por la novedad.

    Hablando de Midjourney, es interesante ver que hace teclados acordes a las manos.

  • Ale Sarco     06/01/2023 - 13:54:22

    Claro, mirá lo que me responde ChatGPT si le pregunto quién es el campeón del mundo.

    Actualmente, no hay un campeón de la Copa FIFA de fútbol. La Copa FIFA de fútbol es un torneo de fútbol internacional que se celebra cada cuatro años y que reúne a las mejores selecciones nacionales del mundo. La última edición de la Copa FIFA se celebró en 2022 y fue ganada por el equipo de Brasil. La próxima edición de la Copa FIFA se celebrará en 2026.

    No solamente se equivoca, sino que se contradice. No tiene manera de deducir que lo que está diciendo es contradictorio. Y si le decís que está equivocado, lo niega y repite lo mismo!

    • Fabio Baccaglioni     06/01/2023 - 14:16:19

      si, falla mucho en eso, encima afirma, y si afirmás tenés que poder defender con hechos y referencias, estaría mucho mejor si supiera investigar y citar referencias, algo imposible para GPT3, por ahí GPT4 lo hace, este seguro que no. Tampoco le podés pasar un link para que aprenda

  • Marcos     11/01/2023 - 09:07:06

    Veo que muchos se fijan en los bugs y algunos errores de codigo pero lo unico que importa es la solucion al problema.
    Si una empresa hoy en dia necesita un programa, tiene muchas opciones no code. Lo mismo pasa con el diseño y programacion web.
    Programadores va a haber siempre, pero hoy en dia esta llegando para que lo pueda hacer cualquier persona ordinaria, lo que antes era muy dificil.

    • Fabio Baccaglioni     11/01/2023 - 10:57:14

      el 99% de los problemas actuales con el software son los bugs y los engaños y estafas que proceden de estos, no es trivial, no es un problema menor, ES el problema

  • AndresPG     01/11/2023 - 06:05:29

    Con casi 30 años de carrera desde "operador de PC" (eso existía en los 90:D) hasta director de IT veo que estamos a las puertas de una crisis. Estás herramientas no van a reemplazar a los programadores pero los puede extinguir. Me explico. Muchos chicos están descubriendo que con un poco de chat gpt, copilot, un curso on line pueden "programar" y ganar muy bien dinero. "¿Para que estudiar una carrera entonces?" dicen, y se quedan ahí. Creyendo que son programadores pero sin idea de pensamiento crítico, estadísticas, bases de datos, de sistemas operativos, de optimización, de cybersecuiry, de data privacy, de usabilidad, de redactar una especificación funcional, de hacer una buena estimación de esfuerzo, entender un usuario, desafiar una idea y todas las cosas que aprendes en años de universidad..Solo picapiedras de código. Ojo, para algunas cosas vienen bien pero cuando necesitemos verdaderos programadores, en unos años vamos a sufrir.

    • Fabio Baccaglioni     02/11/2023 - 16:06:29

      si eso sucede, que es probable en el corto plazo, no extingue a los programadores sino que abre un hueco y necesidad cuando esos jóvenes encuentran el límite de capacidad y se ven por debajo de sus pares (lo bueno de tener un mercado tan diverso y heterogéneo). Si TODOS al mismo tiempo hicieran lo mismo, podrías tener un problema, pero nunca somos tan coordinados

Deje su comentario:

Tranquilo, su email nunca será revelado.
La gente de bien tiene URL, no se olvide del http/https

Negrita Cursiva Imagen Enlace


Comentarios ofensivos o que no hagan al enriquecimiento del post serán borrados/editados por el administrador. Los comentarios son filtrados por ReCaptcha V3.