El desarrollador Carson Gross sostiene en un ensayo reciente que la inteligencia artificial ha abarató la generación de código, pero ha encarecido la comprensión del mismo, lo que obliga a redefinir el rol del ingeniero de software.
Gross parte de una observación directa: los modelos de lenguaje (LLM) producen grandes volúmenes de código funcional a gran velocidad, un hecho que ya nadie puede ignorar. Frente al argumento de que «programar nunca fue el problema», el autor replica que escribir código sí era parte del problema, y que precisamente esa parte se ha reducido de forma drástica con las herramientas de IA.
El primer corolario es que entender el código se ha vuelto más caro. Cuando un LLM genera código no hay comprensión humana incorporada; cualquier entendimiento tiene que llegar después, leyéndolo. Gross recuerda que la sabiduría convencional considera más difícil leer código ajeno que escribir el propio, y rebate a quienes equiparan los LLM con los compiladores: los primeros no son deterministas por diseño, no conservan el código fuente original y generan software general, no instrucciones de máquina. Para sistemas de misión crítica, el desarrollador debe seguir entendiendo el código que produce la IA, lo que justifica un uso incremental de los modelos, en lugar de aceptar cambios masivos imposibles de revisar.
El autor recurre a la escena del Aprendiz de Brujo de la película Fantasia, de Disney, para ilustrar el riesgo: una escoba que limpia sin control hasta inundar el taller. La moraleja es que el programador debe actuar como hechicero, no como aprendiz, manteniendo el dominio sobre el código.
Gross advierte además que la complejidad sigue siendo el peligro central, porque tiende a crecer de forma geométrica o exponencial con el tamaño de un sistema. Los LLM son programadores prolíficos sin miedo a esa complejidad. Frente a esta dinámica, propone la figura del «ingeniero sustractivo y restrictivo»: alguien que dice «no», revisa de cerca el output del modelo, sugiere simplificaciones y se enorgullece del código que elimina o impide que entre al sistema, más cercano a un escultor que a un constructor. Esa mentalidad, concluye, es la forma productiva de relacionarse con los LLM sin perder el oficio de programar.
