- En los entornos de desarrollo asistidos por IA, están aumentando los casos en que ingenieros con poca experiencia envían PR enormes sin validar
- La misión principal de un desarrollador no es simplemente escribir código, sino entregar código con funcionamiento comprobado
- Para lograrlo, es indispensable realizar dos pasos: pruebas manuales y pruebas automatizadas
- También hay que configurar a los agentes de codificación para que verifiquen por sí mismos los cambios que generan
- Al final, la responsabilidad recae en el desarrollador humano, y solo tiene verdadero valor el código acompañado de evidencia de validación
El problema de enviar código sin validar
- Se menciona el caso de ingenieros junior que, usando herramientas con LLM, envían PR gigantes sin validar y dependen del code review
- Esto se señala como algo descortés e ineficiente, además de una renuncia a la responsabilidad propia del desarrollador
- El rol de un ingeniero de software no es simplemente producir código, sino entregar código con funcionamiento comprobado
- El código no validado se considera una forma de trasladarle la carga al revisor
Dos pasos para demostrar que el código funciona
- El primer paso es la prueba manual, donde hay que confirmar directamente que el código funciona correctamente
- Se requiere preparar el sistema en un estado inicial, aplicar el cambio y luego verificar el resultado
- Se puede demostrar adjuntando comandos de terminal y sus resultados en los comentarios del code review, o con una grabación de pantalla
- Después de confirmar el funcionamiento normal, hay que buscar problemas mediante pruebas de casos límite
- El segundo paso es la prueba automatizada, que se enfatiza como un procedimiento esencial gracias al avance de las herramientas basadas en LLM
- Los cambios deben incluir pruebas automatizadas, y si se revierte la implementación, esas pruebas deben fallar
- Escribir pruebas sigue el mismo procedimiento que la prueba manual, y la capacidad de integrar un test harness es clave
- Se señala que asumir que las pruebas automatizadas por sí solas son suficientes y omitir las pruebas manuales es un enfoque equivocado
El rol y la validación de los agentes de codificación
- Una de las principales tendencias del mundo LLM en 2025 es el rápido crecimiento de los agentes de codificación, como Claude Code y Codex CLI
- Estos pueden ejecutar código y corregir problemas por su cuenta
- Los agentes de codificación también deben demostrar sus propios cambios, realizando pruebas manuales y automatizadas
- En el caso de herramientas CLI, se les puede entrenar para que ejecuten las verificaciones directamente, o automatizarlo con sistemas como CLIRunner de Click
- En cambios de CSS, es posible configurarlos para verificar el resultado mediante capturas de pantalla
- Si el proyecto ya tiene pruebas existentes, el agente puede ampliarlas o reutilizar sus patrones
- La estructura y la calidad del código de pruebas afectan directamente la calidad de las pruebas que genera el agente
- Se menciona que el sentido estético aplicado al código de pruebas es una capacidad clave que distingue a los ingenieros senior
La responsabilidad humana y el valor del código
- Las computadoras no pueden asumir responsabilidad, así que ese papel debe recaer en los humanos
- Que un LLM genere parches grandes ya no es, por sí solo, algo valioso
- El verdadero valor está en entregar código con funcionamiento comprobado
- Al enviar un PR, es indispensable incluir evidencia de que el código funciona correctamente
4 comentarios
Estoy muy de acuerdo. En la forma actual de trabajar con PR, la responsabilidad del código termina trasladándose a los maintainers y reviewers. Quien envía código generado por LLM sin revisarlo no tiene ninguna desventaja.
Al contribuir al codebase de Google, parece que miden cosas como el crédito de cada contributor; creo que otros proyectos open source y empresas también terminarán adoptando algo así. Da la impresión de que la confianza se volverá un activo todavía más importante.
Oh, así que Google usa ese concepto.
> Ingeniería vibe
Comentarios de Hacker News
Últimamente se ve mucho una anécdota deprimente: ingenieros junior potenciados por herramientas LLM que le avientan PR enormes y sin probar a sus colegas o a maintainers de proyectos open source, esperando que el code review resuelva el resto. Lo peor es que este comportamiento no solo viene de juniors, sino también de desarrolladores senior
Cómo escribir un buen PR aplica no solo al código generado por IA, sino a cualquier caso. Cuando escribo la descripción de un PR, organizo en orden cómo funciona actualmente, por qué se hace el cambio y qué se modificó. También incluyo cómo probarlo, screenshots e incluso comandos de pruebas E2E para reducir la carga del reviewer. Esto también ayuda en colaboración asíncrona o en equipos con diferencia horaria
La esencia de un ingeniero es entender los requisitos, convertirlos en un flujo lógico, ajustar los trade-offs y hacerse responsable del resultado. Generar código o aventar PRs al azar es síntoma de que faltan esos fundamentos. Los agentes de coding más bien están sirviendo para volver a recordarnos la esencia de la ingeniería
Las pruebas son necesarias, pero no suficientes. El código también debe validarse lógicamente. Las pruebas solo demuestran que funciona correctamente bajo ciertas entradas y ciertos entornos
Yo no hago pruebas por obligación. Las hago simplemente porque quiero ver que el código realmente funciona. Si no te emociona ver correr tu código, este trabajo no es para ti
He escuchado historias de juniors aventando PRs enormes gracias a LLM, pero en nuestra organización todavía no pasa eso
No estoy de acuerdo con eso de que “tu trabajo es entregar código en estado probado”. El trabajo real es resolver problemas de negocio. Claro, en la mayoría de los casos eso termina en código, pero la distinción es importante
En un trabajo anterior estuve en un fabricante japonés de hardware de alta calidad, y si el departamento de QA encontraba un bug, se detenía el lanzamiento del producto. Por eso cada departamento de desarrollo armó su propio equipo de QC para reforzar las pruebas previas. Como resultado, el software se validaba de forma muy exhaustiva
Hoy en día la esencia del trabajo se volvió cerrar tickets. Como la calidad del código no aparece en las métricas, deja de importar. Yo no participo en ese sistema. Ya desapareció la artesanía; ahora todos quieren madera contrachapada barata y pegamento
El problema está en qué significa “código probado”. También hay casos donde pegan pruebas hechas por LLM y entregan un PR enorme. Yo también hago vibe coding en proyectos personales, pero hacerlo así en equipo es un mal hábito. La razón por la que contratan ingenieros es para comprar su experiencia