Reflexiones sobre el futuro del desarrollo de software

Creatividad y capacidades de la IA

  • Hay desacuerdo sobre si la IA es realmente “creativa” de forma significativa.
    • Posición a favor: “Creatividad” = producir resultados interesantes o sorprendentes; los LLMs claramente hacen esto más que hace unos pocos años.
    • Posición en contra: los modelos recombinan estadísticas sobre datos previos, carecen de razonamiento real o invención; la sorpresa también puede venir del azar.
  • Algunos sostienen que los sistemas actuales ya pueden pedir más información o hacer preguntas de seguimiento, mientras que otros dicen que siguen fallando gravemente ante preguntas sin sentido o mal especificadas.

Cómo encaja la IA en el desarrollo de software

  • Muchos ven a los LLMs como asistentes potentes: escribir código repetitivo, pruebas, refactors, glue code y documentación; reemplazar a Google para consultas rápidas y servir como un “patito de goma”.
  • Existe un fuerte escepticismo sobre los “desarrolladores de IA” completos: los experimentos muestran que tienen dificultades con la integración no trivial, la depuración, los casos límite y la evolución de grandes codebases.
  • El conocimiento de dominio, la arquitectura, el rendimiento y las decisiones de compensación se citan repetidamente como cosas que los LLMs actuales no pueden hacer de forma fiable.
  • Algunos imaginan que los sistemas multiagente, el uso de herramientas, los métodos formales y mejores bucles de retroalimentación podrían ampliar significativamente las capacidades.

Impacto laboral y mercado de trabajo

  • Hay posturas divididas:
    • Optimista: como los IDEs y la nube, la IA aumenta la productividad, amplía dónde se usa el software y, en última instancia, incrementa la demanda de desarrolladores.
    • Pesimista: el trabajo junior y el CRUD rutinario se automatizan primero; se contrata a menos personas, bajan los salarios, especialmente a medida que las grandes plataformas se consolidan.
  • Varios informan enormes mejoras personales de productividad, lo que genera preocupaciones sobre menos nuevas contrataciones; otros dicen que los PRs generados por IA rara vez superan una revisión seria.
  • Ansiedad de que los puestos restantes se conviertan en “prompting, integración y supervisión” de alto nivel, eliminando las partes divertidas de programar.

Calidad, mantenibilidad y corrección

  • A muchos les preocupa que el código escrito por IA “funcione” a corto plazo pero sea frágil, incoherente o erosione la arquitectura, haciendo más difícil el mantenimiento y los refactors a largo plazo.
  • A menudo se califica a las pruebas y demostraciones de LLM como de poco valor o engañosas; la corrección es difícil de juzgar y no puede solucionarse solo con RLHF.
  • Contrapunto: gran parte del código humano ya es malo; algunas empresas pueden aceptar una calidad al nivel de la IA si es barata y rápida.

Responsabilidad, ética y regulación

  • Las discusiones legales sobre responsabilidad del software y “safe harbor” sugieren que los humanos tendrán que revisar la salida de la IA en dominios de alto riesgo.
  • Preocupación por usar AGI como un esclavo de facto; debates sobre cuándo la sentiencia de las máquinas o las mentes copiables merecerían derechos.
  • Es posible que las empresas sigan impulsando la IA a pesar del riesgo, trasladando la culpa al “sistema” hasta que la regulación o las demandas se pongan al día.

Naturaleza cambiante del software y las UIs

  • Algunos esperan que los agentes de IA reemplacen muchas apps y UIs a medida con interacciones en lenguaje natural, incluso reemplazando gran parte de la lógica de backend.
  • Otros dudan de que dar instrucciones alguna vez sea más fácil o más fiable que escribir código para sistemas complejos y precisos.