Este artículo de Martin Fowler, derivado de sus observaciones en el Pragmatic Summit y un retiro de Thoughtworks, explora el impacto de los Modelos de Lenguaje Grandes (LLMs) en el desarrollo de software, particularmente en los roles de los desarrolladores. La principal conclusión es que, si bien los LLMs están transformando el panorama, no están reemplazando a los desarrolladores, sino redefiniendo sus roles y responsabilidades.
El papel de los desarrolladores senior se está desplazando hacia la arquitectura y la gestión de sistemas, liberándolos de tareas de codificación más repetitivas. Los LLMs pueden actuar como asistentes, incluso permitiendo que desarrolladores con menos experiencia reciente se re-involucren en la programación. La resistencia inicial a los LLMs a menudo se disipa con la experiencia práctica, demostrando la importancia de la experimentación directa para comprender su valor. Se observa que la preocupación por el reemplazo de los desarrolladores junior es exagerada; su familiaridad con las nuevas tecnologías los hace valiosos, mientras que los desarrolladores de nivel medio enfrentan el desafío de adaptarse a un entorno transformado.
Un concepto clave introducido es la 'deuda cognitiva', que describe la falta de comprensión compartida de un sistema, incluso si el código es técnicamente funcional. Esto es análogo a la deuda técnica, donde el código desordenado acumula costos a largo plazo. La deuda cognitiva surge cuando las decisiones de diseño y la lógica del sistema no están documentadas ni comprendidas por todos los miembros del equipo, paralizando la capacidad de realizar cambios.
La mejora de la experiencia del desarrollador (DevEx) resulta crucial. Sorprendentemente, las optimizaciones que facilitan el trabajo de los desarrolladores también benefician a los LLMs, ya que les permiten comprender y generar código de manera más eficiente. Los IDEs (Entornos de Desarrollo Integrados) evolucionarán para integrar LLMs, no reemplazándolos, sino orquestando su uso junto con las herramientas tradicionales. Por ejemplo, un IDE podría usar un LLM para identificar y coordinar refactorizaciones complejas en todo el código.
Finalmente, el artículo plantea preguntas sobre el tamaño de los equipos de desarrollo y la dinámica del 'pair programming', sugiriendo que la colaboración humana sigue siendo esencial, incluso en un mundo impulsado por la IA. Un estudio reciente en Harvard Business Review destaca que la IA no reduce la carga de trabajo, sino que la intensifica, llevando a un ritmo de trabajo más rápido y una mayor extensión de la jornada laboral.
