Comparto mucho esa idea. Yo viví la etapa en la que tenías que escribir código prácticamente todo el día. Muchas veces, después de semanas de trabajo, llegaban nuevos requisitos del cliente y gran parte de ese código tenía que cambiar. Yo disfrutaba programar, pero ese ciclo terminaba siendo agotador.
Algo que he notado es que muchas personas esperan que la IA, con un solo prompt, genere directamente algo de muy alta calidad. Cuando no ocurre, aparece una etapa de resistencia y rechazo hacia la herramienta.
Mi experiencia ha sido diferente. Trabajo mediante iteración. le voy dando a la IA instrucciones progresivamente más específicas sobre cómo debe construir el sistema. Defino la arquitectura, las reglas para los commits, lo que está prohibido hacer, el estilo de código, la semántica y principios como la programación funcional. Incluso muchos de estos documentos y reglas los construyo utilizando IA.
Cuando existe esta dirección, el resultado puede alcanzar una calidad muy alta. El valor ya no está únicamente en escribir cada línea de código, sino en saber definir qué se debe construir, cómo debe construirse y cómo validar el resultado.
Y creo que esto también está cambiando lo que se busca en un ingeniero. Ya no se trata solamente de cuánto código puedes escribir o cuánto conocimiento específico de una tecnología tienes. Se busca que seas capaz de construir sistemas estables, seguros, mantenibles, escalables y eficientes, y que puedas conseguirlo en el menor tiempo posible.
Para eso necesitas entender diferentes áreas: frontend, backend, infraestructura, seguridad, arquitectura y bases de datos. No necesariamente tienes que conocer cada detalle de implementación a bajo nivel. Lo importante es entender el problema, conocer las alternativas y poder justificar por qué una solución se adapta mejor a las necesidades del sistema.
En ese sentido, creo que el rol se está acercando cada vez más al de un arquitecto/jefe/lider técnico. y es donde muchos no estan hechos para esa responsabilidad y capacidad de dirigir cómo se construye un sistema y garantizar su calidad
Desde mi punto de vista, todos tienen un poco de razón, pero todos son extremistas que tienen un problema común: ignoran o no son capaces de ver la parte fuera de su propio entorno.
A mi me encanta programar más que a nadie, es algo que llevo haciendo años (y creo que continuaré haciendo durante mucho tiempo). Pero no como hasta ahora. La IA ha conseguido hacer algo muy bien: automatizar la escritura de código. Y es un paso muy interesante. Escribir código era un proceso divertido para muchos, que daba muchas satisfacciones (y frustraciones), pero inevitablemente consumía mucho tiempo (gran parte de la mayoría del tiempo de creación de un producto).
Ahora, con la IA, puedes seguir diseñando e ideando cosas técnicas (sigue formando parte de la región de programación) pero luego poner a la IA a escribirlo. Esto abre un maravilloso campo de posibilidades, como por ejemplo, implementar varias opciones para comprobar cuál se adapta mejor a nuestro caso y decidirnos por ella en base a la experiencia de prueba. Esto antes era inviable muchas veces por el tiempo.
Sin embargo, ahora tienes que ser aún más cuidadoso de asegurarte de que todo lo generado funcione, que cumpla tus requisitos, que no hayan problemas o efectos secundarios, etc. Puedes centrarte en mejorar el arnés que usas con tu IA para mejorar la forma en la que trabajas con ella, que lo que generas se adapte mejor a tus necesidades, centrarte en reducir los costes, etc. Creo que por esta razón, los perfiles técnicos que solían encargarse de múltiples cosas, ahora mismo ven el progreso con la IA de otra forma, mientras que los que estaban más «enamorados» de escribir código, suelen verlo todo con más pesimismo.
Todo esto sin mencionar el GRAN problema del aprendizaje en nuevos perfiles. La IA es una herramienta que puede ser maravillosa para hacernos aprender, pero acostumbramos a utilizarla de la forma más cómoda posible: «para darnos soluciones ya hechas en lugar de aprender o entenderlas» y esto puede ser un gran problema para perfiles que vienen SIN el conocimiento de la era PRE-IA. Pero bueno, esto es otro debate que no quiero abrir ahora.
Y no hay que olvidar que otro problema es que el concepto de «Inteligencia Artificial» es diferente para cada persona. Para una persona "IA" puede significar "generador de slop", para otra persona puede significar "ahorrador de tiempo/automatizador de tareas", para otra persona "problemas a futuro" y para otra persona "ahorro de costes".
En definitiva. Yo no creo que los perfiles de programación se estén perdiendo o sean menos relevantes. Pero si están cambiando. Debes tener en cuenta que si te gusta este sector y este mundo, debes abrir la mente, entender los entornos colindantes que están más allá de lo que haces y adaptarte y potenciar con IA la parte donde más puedes aportar (asegurándote de no ser un imbécil potenciado*)
* Contexto en el clip del siguiente tweet (2/3)