El auge de los modelos de lenguaje de gran tamaño y los asistentes de codificación con IA ha alterado fundamentalmente la economía del desarrollo de software. En un entorno profesional, donde el objetivo principal es producir valor comercial de manera eficiente, la necesidad de escribir cada línea de código a mano está disminuyendo. Este cambio ha desatado un debate sobre el papel del programador: algunos lo ven como una pérdida de oficio, mientras que otros lo consideran una transición hacia la resolución de problemas de mayor nivel. Sin embargo, para muchos, el atractivo central de la programación reside en el proceso de exploración más que en el resultado final.

Para muchos desarrolladores, el acto de programar sigue siendo un pasatiempo impulsado por la curiosidad y la satisfacción de superar obstáculos técnicos. Esto incluye la exploración de temas de nicho, como forzar la seguridad de tipos en Java utilizando conceptos de lenguajes con tipos dependientes como Agda, o el estudio de estructuras matemáticas complejas como los monoides para comprender mejor la corrección de los programas. Incluso cuando estos esfuerzos no resultan en un valor comercial inmediato o incluso en un producto terminado, el proceso de 'cocinar' estas ideas en la mente proporciona una sensación de recompensa. Esta perspectiva sugiere que, si bien la IA puede generar en un solo paso un clon de juego simple o un script básico, no puede reemplazar el crecimiento personal y la satisfacción intelectual derivados de navegar manualmente por un problema difícil.

A pesar de esta alegría personal, el cambio hacia el 'vibe-coding' —el uso de IA para generar aplicaciones enteras sin mirar nunca el código fuente subyacente— presenta un nuevo conjunto de compensaciones. Si bien este método permite el prototipado rápido y la realización de ideas que de otro modo podrían no construirse, puede dar lugar a una falta de pulido o artesanía en el producto final. Además, existe una creciente preocupación con respecto a la próxima generación de ingenieros. A medida que los desarrolladores junior dependen cada vez más de la IA para generar propuestas de diseño y detalles de implementación, existe el riesgo de que las habilidades fundamentales de construcción, diseño y depuración de sistemas a mano puedan perderse, convirtiendo potencialmente el papel del programador en un intermediario entre el usuario y la producción de la IA.