Reflexiones sobre la ingeniería de software en la era de la IA

Flujos de trabajo acelerados por IA y productividad

  • Varios desarrolladores describen flujos de trabajo de extremo a extremo en los que los LLM ayudan con la redacción de requisitos, decisiones de diseño, esquemas, maquetas, pruebas, codificación y refactorización.
  • Beneficios reportados: crear en solitario productos que antes requerirían un equipo, comprimir semanas de trabajo en días y usar IA para refactorizaciones a gran escala y búsqueda de errores en bases de código enormes.
  • Otros limitan la IA a la creación de prototipos, la detección de errores o la documentación, y luego reescriben a mano por calidad y mantenibilidad.

Calidad del código generado por IA

  • Fuerte desacuerdo: algunos dicen que los LLM son “programadores terribles” y que deberían usarse principalmente como analizadores o patitos de goma; otros afirman que el código escrito por IA es rápido, sólido y ya domina gran parte de su código en producción con revisión humana.
  • Muchos señalan que la IA alcanza aproximadamente entre el 90 y el 95 % de su nivel de calidad; pulir el último 5–10 % (casos límite, estilo, coherencia) es mentalmente agotador y puede anular las ganancias de velocidad.
  • Hay consenso en que el resultado de la IA debe revisarse y en que los modelos olvidan restricciones, malinterpretan la retroalimentación y pueden proponer soluciones peligrosas.

Límites de alcance y problemas difíciles

  • Varios comentarios destacan dominios en los que los LLM actuales tienen dificultades: motores de juegos (por ejemplo, mapeo avanzado de oclusión), simulaciones complejas, algoritmos de vanguardia y decisiones de arquitectura no bien representadas en los datos de entrenamiento.
  • La IA tiende a elegir pilas y patrones “promedio” o populares (por ejemplo, frameworks web comunes) incluso cuando son subóptimos.

Roles, carreras y erosión de habilidades

  • Una postura: la mayoría de los ingenieros de software tradicionales que “implementan funciones” quedan obsoletos; los roles restantes se agrupan en:
    • Una pequeña élite que crea bibliotecas, herramientas y software de código abierto que alimentan los datos de entrenamiento.
    • Profesionales que “canalizan” y restringen el código generado por IA dentro de las organizaciones.
    • Roles tipo QA que verifican y ponen a prueba el resultado de la IA.
  • Otros sostienen que la buena arquitectura, la mantenibilidad y el diseño siguen siendo esenciales en el software comercial y no pueden ser reemplazados por generadores de código.
  • Preocupación continua por que los desarrolladores junior pierdan práctica de implementación y que se atrofie la habilidad a largo plazo.

Experiencia, disfrute y oficio

  • Para algunos, trabajar con LLM resulta frustrante: los modelos alucinan, ignoran instrucciones y se comportan como colaboradores olvidadizos y demasiado confiados.
  • Otros se sienten liberados de tareas aburridas y disfrutan concentrándose en la arquitectura, la definición de problemas y el diseño de nivel superior.
  • Varios comentaristas enfatizan la programación como construcción personal de modelos mentales y como un oficio, y predicen un futuro en el que los humanos cada vez más “moldearán” vastos flujos de código de IA —más parecido al cultivo de bonsáis que a la construcción desde cero.

Debates económicos y sociales

  • Desacuerdo sobre si realmente estamos en una “Era de la IA”:
    • Postura a favor de la IA: enormes ganancias de productividad, analogía con tractores y líneas de ensamblaje.
    • Postura escéptica: hype, beneficio social limitado hasta ahora, problemas éticos con los datos de entrenamiento y un cambio desde el aprendizaje abierto y democratizado hacia herramientas de IA centralizadas y tras paywall.