¿ChatGPT reemplazará a los programadores?
Tags: chatgpt, programacion, developer, codenewbie
Published: 2023-06-14 12:51:37

El surgimiento de ChatGPT y otros LLMs (Modelos de Lenguaje Avanzado) ha despertado temor por la posibilidad de que pueda reemplazar varios trabajos, incluyendo el de los programadores.


**¿Cómo funcionan los LLMs como ChatGPT?**
Un LLM (Large Language Model) se alimenta de una gran cantidad de información (p.e. la información pública que existe hoy en Internet) para crear un modelo estadístico que dada una entrada (p.e. una pregunta) genere una salida (una respuesta).

Por ejemplo, al ingresar el texto “Había una vez” en ChatGPT recibí la siguiente continuación: “Había una vez una pequeña aldea en lo profundo del bosque. Esta aldea estaba rodeada de exuberante vegetación y habitada por personas amables y trabajadoras …”. Y ahí continúa.

Como es un modelo estadístico la respuesta puede cambiar así usemos el mismo texto. Por ejemplo, la segunda vez generó el siguiente texto: “Había una vez una historia.”. Y ahí terminó.

Ignorando lo aburrido de la última respuesta, es increíble que el concepto funcione y que genere respuestas coherentes.

Muchos LLMs también son capaces de generar código y ¡lo hacen muy bien!

Sin embargo, debemos tener en cuenta que los LLMs dependen de la información de la que se alimenten y del modelo estadístico que genere. Se necesitan enormes cantidades de datos y un gran poder computacional para generar estos modelos.


**¿Qué hace un(a) programador(a)?**
Hay muchos tipos de programadores. Algunos trabajan aplicaciones Web, otros en aplicaciones móviles, otros en crear herramientas para otros programadores, etc. En este post nos vamos a centrar en programadores Web y móvil Juniors, que son los que más nos interesan en esta discusión.

Generalmente, cuando una persona termina el programa TOP de Make It Real y empieza a trabajar en una empresa como desarrollador Web y/o móvil, el primer paso es descargar el código de la aplicación que le hayan asignado y hacerlo funcionar en su propia máquina. Cada aplicación es diferente así que la instalación puede tomar desde algunas horas hasta algunos días.

Luego le asignarán tareas para desarrollar nuevas funcionalidades y solucionar errores o problemas. Esto requiere entender el contexto del problema, identificar el código que se necesita escribir o cambiar, investigar cómo hacerlo, escribir o modificar el código (idealmente escribir algunas pruebas automatizadas) y seguir el proceso que tenga la empresa para desplegarlo en producción para que los usuarios finales lo puedan utilizar.

La programación es un proceso que requiere personas creativas y recursivas que puedan entender el contexto de la aplicación (cómo está la aplicación estructurada, qué tecnologías se están usando, cómo afectan el código que estamos escribiendo, qué es realmente lo que quiere el cliente, qué restricciones existen, etc.) y generen una solución.

Escribir código es sólo una fracción del trabajo.



**¿Los LLMs reemplazaran a los programadores?**
La programación es de las disciplinas más documentadas en Internet y de las comunidades más abiertas a compartir conocimiento.

Incluso antes de ChatGPT se podían encontrar respuestas a la mayoría de problemas a las que uno se puede enfrentar en programación en sitios como StackOverflow o en la infinidad de blogs de programación.

Esto ha permitido que la productividad de los programadores haya crecido de forma exponencial desde la llegada de la Web en los noventas. Pero ese incremento en productividad no desaceleró la demanda de programadores, al contrario, las aplicaciones se hicieron mucho más complejas y se crearon nuevas tecnologías como voz sobre IP, servicios de streaming, criptomonedas, entre muchas otras.

Mi predicción es que las empresas no van a requerir menos programadores, al contrario, van a requerir más, porque cada vez van a querer hacer cosas más interesantes y complejas, que les den una mayor ventaja competitiva y les permita aumentar sus ingresos.

**¿Reemplazará algún día la Inteligencia Artificial a los programadores?**
Los logros de los LLMs son impresionantes, pero son solo el inicio de la revolución hacia una automatización mucho más completa.

Se va a necesitar mucho más que LLMs para automatizar nuestro trabajo como programadores, pero ese debería ser nuestro objetivo a largo plazo, porque una vez lo logremos, lo más probable es que también hayamos automatizado el trabajo del resto de la humanidad y nadie más necesite un trabajo para sobrevivir.

Es muy temprano para predecir qué pasará pero lo único cierto es que los programadores tendremos una gran influencia en ese futuro.



**Conclusión**
No, los LLMs no reemplazarán a los programadores. Escribir código es sólo una fracción del trabajo de un(a) programador(a) y los LLMs son una herramienta que incrementará la productividad (o eso es lo que esperamos).

Un aumento en productividad no significa que las empresas dejarán de contratar programadores, al contrario, los avances en Inteligencia Artificial están creando nuevas oportunidades para que las empresas creen y actualicen sus soluciones, y aumenten su ventaja competitiva.

Sin embargo, a largo plazo, nuestro objetivo como programadores sí debería ser el de lograr reemplazarnos, porque es muy posible que cuando lo logremos nadie más tenga que volver a trabajar para sobrevivir.