Agentes de codificación aceleran el desarrollo de software en diversas áreas

Queridos amigos,

Los agentes de codificación están acelerando diferentes tipos de trabajos de software en distintos grados. Cuando formamos equipos, comprender estas diferencias nos ayuda a tener expectativas realistas. Clasificando las funciones de más aceleradas a menos, mi orden es: desarrollo frontend, backend, infraestructura e investigación.

Desarrollo Frontend y Backend

El desarrollo frontend, por ejemplo, la creación de una página web para mostrar descripciones de productos en un sitio de comercio electrónico, se acelera drásticamente porque los agentes de codificación son competentes en lenguajes frontend populares como TypeScript y JavaScript, así como en frameworks como React y Angular. Al examinar lo que han construido mediante el uso de un navegador web, los agentes son muy buenos cerrando el ciclo y mejorando sus propias implementaciones. Es cierto que los modelos de lenguaje actuales son aún débiles en diseño visual, pero cuando se proporciona un diseño (o si un diseño pulido no es importante), la implementación es rápida.

El desarrollo backend, como la creación de APIs para responder a consultas de datos de productos, es más complicado. Requiere más trabajo por parte de los desarrolladores humanos para guiar a los modelos modernos a pensar en casos extremos que pueden llevar a errores sutiles o fallos de seguridad. Además, un error de backend puede tener efectos secundarios no intuitivos, como una base de datos corrupta que ocasionalmente devuelve resultados incorrectos, lo que puede ser más difícil de depurar que un error típico de frontend. A pesar de que las migraciones de bases de datos pueden ser más fáciles con agentes de codificación, siguen siendo complicadas y deben manejarse con cuidado para evitar la pérdida de datos. Aunque el desarrollo backend es mucho más rápido con los agentes, su aceleración es menor, y los desarrolladores expertos aún diseñan e implementan backends mucho mejores que los inexperimentados que utilizan agentes de codificación.

Desarrollo de Infraestructura y Investigación

La infraestructura es un área donde los agentes son aún menos efectivos, como escalar un sitio de comercio electrónico a 10,000 usuarios activos mientras se mantiene una fiabilidad del 99.99%. El conocimiento de los LLM es relativamente limitado respecto a la infraestructura y los complejos compromisos que deben realizar los buenos ingenieros, por lo que rara vez confío en ellos para decisiones críticas. Construir una buena infraestructura a menudo requiere un período de pruebas y experimentación, y los agentes de codificación pueden ayudar con eso, pero en última instancia, es un embotellamiento significativo donde la codificación rápida de IA no aporta mucho. Además, encontrar errores de infraestructura, como una sutil mala configuración de red, puede ser increíblemente difícil y requiere una profunda experiencia en ingeniería. Por lo tanto, he encontrado que los agentes de codificación aceleran la infraestructura crítica aún menos que el desarrollo backend.

La investigación es el área donde los agentes de codificación aceleran el trabajo aún menos. La investigación implica pensar en nuevas ideas, formular hipótesis, realizar experimentos e interpretarlos para potencialmente modificar las hipótesis, iterando hasta llegar a conclusiones. Los agentes de codificación pueden acelerar el ritmo a través del cual podemos escribir código de investigación. (Yo también utilizo agentes de codificación para ayudarme a organizar y hacer un seguimiento de los experimentos, lo que facilita a un solo investigador gestionar más experimentos). Pero hay mucho trabajo en investigación que no se refiere a la codificación, y los agentes de hoy ayudan en investigación solo marginalmente.

Reflexiones Finales

Categorizar el trabajo de software en frontend, backend, infraestructura e investigación es una simplificación extrema, pero tener un modelo mental simple sobre cuánto se han acelerado las diferentes tareas ha sido útil para organizar equipos de software. Por ejemplo, ahora pido a los equipos de frontend que implementen productos mucho más rápido que hace un año, pero mis expectativas para los equipos de investigación no han cambiado tanto.

Me fascina cómo organizar equipos de software para utilizar agentes de codificación y lograr velocidad, y seguiré compartiendo mis hallazgos en futuras cartas.

¡Sigue construyendo!

Andrew

Ilustración de un hombre mayor con auriculares y chaqueta