El Product Manager ha muerto. Larga vida al Product Developer.
La persona que entra a la reunión con mockups de Figma diciendo 'construyan esto' se quedó sin camino. La IA redujo l...
9 min de lectura
20.03.2026, Por Stephan Schwab
La mayoría de los desarrolladores usan IA como un autocompletado glorificado. El verdadero poder viene cuando dejas de pedir soluciones y comienzas a conversar sobre problemas. Una historia de migración muestra cómo la colaboración agéntica con IA transforma el trabajo técnico complejo de depuración en solitario a descubrimiento guiado.
Necesitaba migrar un servicio de newsletter de un namespace de Kubernetes a otro. Diferentes bases de datos, diferentes configuraciones de ingress, gestión de certificados, requisitos de cero tiempo de inactividad — el tipo de trabajo que normalmente implica leer documentación, cometer errores y corregirlos después.
En lugar de sumergirme, abrí una conversación con GitHub Copilot.
No “escríbeme un script de migración”. No “cómo muevo datos entre namespaces”.
Una conversación.
Yo: “Necesito enrutar newsletter.example.com a la app de newsletter en app-staging. Actualmente apunta a newsletter-prod. Diferentes namespaces, necesito fusionar bases de datos primero.”
Copilot: “Déjame entender el estado actual. ¿Qué hay en cada namespace?”
Esa pregunta lo cambió todo.
La mayoría de las interacciones con IA siguen un patrón: preguntas, responde, implementas. A veces funciona. A menudo estás de vuelta haciendo preguntas de seguimiento porque la respuesta perdió contexto.
La colaboración agéntica invierte esto. La IA hace preguntas aclaratorias. Sugiere enfoques. Señala riesgos que no has considerado. Te obliga a articular suposiciones que no sabías que estabas haciendo.
Copilot: “Antes de comenzar a mover datos, ¿cuál es el conteo de registros en cada base de datos? Necesitamos saber si hay conflictos.”
No había pensado en conflictos. Estaba enfocado en la mecánica de la migración.
sqlite3 production.db "SELECT COUNT(*) FROM subscribers"
# 343
sqlite3 staging.db "SELECT COUNT(*) FROM subscribers"
# 315
Yo: “Production tiene 343 suscriptores, staging tiene 315. Parece que hay superposición.”
Copilot: “La base de datos de staging es más nueva pero tiene menos suscriptores. Eso sugiere que production tiene los datos autoritativos. Pero staging tiene x_credentials y queued_posts que production no tiene. No estamos solo migrando — estamos fusionando dos conjuntos de datos divergentes.”
Ahora estamos llegando a algo.
Si hubiera pedido un script de migración, habría obtenido uno. Habría copiado datos. Probablemente habría funcionado. Podría haber perdido 28 suscriptores en el proceso.
La conversación sacó a la luz cuál era realmente el problema: dos bases de datos con diferentes propósitos, evolucionadas por separado, ahora siendo unificadas. Las tablas de newsletter pertenecían a production. Las tablas de redes sociales pertenecían a staging. La migración no movía todo — preservaba selectivamente los datos autoritativos de cada sistema.
Copilot: “Aquí está lo que estoy pensando:
Yo: “Tiene sentido. ¿Qué hay del intercambio real de la base de datos?”
Copilot: “Escalar deployment a cero, montar el PVC a través de un pod auxiliar, respaldar la base de datos existente, copiar la fusionada, eliminar el pod auxiliar, escalar de nuevo. Patrón estándar — pero deberíamos probar la base de datos fusionada localmente primero. Si algo está mal, lo atrapamos antes de que la producción se vea afectada.”
Este es el valor de la IA agéntica. No solo generar código. Sugerir un flujo de trabajo que incluye pasos de verificación. Anticipar modos de falla.
Una vez que el enfoque estuvo claro, la implementación fue directa. Copilot generó los comandos de exportación, el script de fusión, las operaciones kubectl. No porque sea un mejor generador de comandos que la documentación — porque la conversación había aclarado exactamente qué necesitaba suceder.
# Exportar desde production
sqlite3 production.db ".dump subscribers" | grep "^INSERT" > /tmp/export_subscribers.sql
sqlite3 production.db ".dump newsletter_send_log" | grep "^INSERT" > /tmp/export_send_log.sql
# Crear script de fusión
cat > /tmp/merge.sql << 'EOF'
DELETE FROM subscribers;
DELETE FROM newsletter_send_log;
EOF
cat /tmp/export_subscribers.sql >> /tmp/merge.sql
cat /tmp/export_send_log.sql >> /tmp/merge.sql
# Aplicar a copia local
cp staging.db merged.db
sqlite3 merged.db < /tmp/merge.sql
# Verificar
sqlite3 merged.db "SELECT 'subscribers', COUNT(*) FROM subscribers
UNION ALL SELECT 'x_credentials', COUNT(*) FROM x_credentials"
Salida esperada: 343 suscriptores, 4 x_credentials. Obtenido.
Yo: “Fusión local verificada. 343 suscriptores, 4 x_credentials. Listo para push al clúster.”
Copilot: “Bien. Ahora escalamos el deployment hacia abajo, montamos el PVC a través de un pod temporal, respaldamos la base de datos existente, copiamos la nueva, y escalamos de nuevo. Aquí está la secuencia.”
Sin adivinar. Sin prueba y error. La conversación había establecido confianza.
Con la base de datos migrada, el siguiente paso era cambiar el enrutamiento DNS. Eliminar el ingress de newsletter-production, crearlo en app-staging, actualizar la referencia del certificado TLS.
Yo: “La base de datos está viva en app-staging. Ahora necesito mover el ingress.”
Copilot: “Dos recursos de ingress — uno para HTTPS (entrypoint websecure), uno para redirección HTTP. La redirección necesita un middleware para forzar HTTPS. También actualizar la variable de entorno BASE_URL en el deployment para que la app genere enlaces correctos.”
Había olvidado el BASE_URL. La app habría funcionado, pero cada enlace de correo habría apuntado a la URL antigua de staging. Los usuarios habrían estado confundidos. La IA lo detectó.
Eso no es inteligencia. Eso es reconocimiento de patrones a través de miles de configuraciones similares. Pero en el momento, es indistinguible de un desarrollador senior revisando tu plan.
Copilot: “Antes de aplicar esos recursos de ingress, documentemos el procedimiento de rollback. Si algo se rompe, quieres tener los comandos listos.”
Inteligente.
# Rollback si es necesario
kubectl delete ingress newsletter-prod newsletter-prod-redirect -n app-staging
kubectl set env deployment/newsletter -n app-staging BASE_URL=https://newsletter-staging.example.com
kubectl scale deployment newsletter -n newsletter-prod --replicas=1
helm upgrade newsletter ./helm/newsletter -n newsletter-prod
No lo necesitamos. Pero tenerlo escrito antes de la migración redujo el riesgo. Si algo hubiera salido mal, la recuperación estaba a tres comandos de distancia.
La IA agéntica no se trata de agentes ejecutándose de forma autónoma. Se trata de IA que participa en la resolución de problemas en lugar de solo responder a solicitudes.
Hace preguntas aclaratorias. Sugiere pasos de verificación. Señala casos extremos. Mantiene el rastro del plan mientras te enfocas en la ejecución.
Todavía estás conduciendo. Pero en lugar de navegar solo, tienes a alguien leyendo el mapa, buscando salidas, recordándote a dónde vas.
La migración tomó 40 minutos. Sin errores. Sin rollback necesario. El newsletter salió al día siguiente a 343 suscriptores desde el nuevo namespace.
¿Lo habría descubierto sin IA? Por supuesto. ¿Habría tomado más tiempo? Probablemente. ¿Habría recordado actualizar el BASE_URL antes del despliegue? Tal vez no.
Si quieres que la IA sea un compañero de pensamiento en lugar de un generador de comandos:
Deja de pedir soluciones. Comienza a describir problemas.
No “escribe un script para migrar datos” — “Necesito fusionar dos bases de datos con esquemas superpuestos.”
Responde a las preguntas en lugar de ignorarlas.
Cuando Copilot preguntó sobre conteos de registros, podría haberlo descartado. Copilot ejecutó las consultas según lo solicitado. Ese contexto moldeó todo después.
Trata la conversación como una sesión de diseño.
No le darías una tarea a un colega y te irías. Discutirías enfoque, riesgos, casos extremos. Lo mismo aquí.
Verifica localmente antes de tocar producción.
La IA sugirió esto. Es una buena práctica sin importar si la IA está involucrada. Pero tenerlo sugerido en contexto significó que realmente lo hice.
Mantén la conversación enfocada en un problema.
Saltar entre temas confunde la ventana de contexto de la IA. Termina la migración antes de preguntar sobre infraestructura no relacionada.
Esto no era tecnología experimental. GitHub Copilot. En VS Code. Disponible para cualquiera con suscripción.
La diferencia no es la herramienta. Es cómo la usas.
La mayoría de los desarrolladores usan IA para autocompletado. Generar una función. Arreglar un bug. Escribir boilerplate.
Eso está bien. El autocompletado es útil.
Pero la colaboración agéntica — usar IA como compañero de pensamiento — cambia la naturaleza del trabajo técnico. Ya no estás programando solo. Estás trabajando con algo que tiene reconocimiento de patrones a través de millones de repositorios y puede articular lo que ve. Como escribí en Más allá del mito del desarrollador solitario, el mejor trabajo ocurre en colaboración. La IA simplemente agrega otra forma de hacerlo.
No reemplaza la experiencia. Pero hace la experiencia más accesible. El desarrollador experimentado descubre que la máquina no es competencia — es amplificación.
Un desarrollador junior con buenas preguntas puede obtener orientación de nivel senior. Un desarrollador senior puede moverse más rápido sin sacrificar minuciosidad.
La restricción no es la IA. Es si estás dispuesto a tener una conversación en lugar de solo pedir respuestas.
Las mejoras de productividad individual son agradables. Las implicaciones a nivel de equipo son más interesantes.
La distribución de conocimiento se vuelve más fácil.
¿Esa migración? Podría haberla hecho solo. Pero explicársela a Copilot significó articular el enfoque claramente. Esa claridad se traduce cuando necesito explicárselo a un colega.
La documentación se escribe sola.
La conversación se convirtió en el plan de migración. Guardé la transcripción. La próxima vez que alguien necesite fusionar bases de datos y cambiar ingress, el patrón está documentado — no como pasos abstractos, sino como una conversación real sobre trade-offs reales.
El onboarding se vuelve más rápido.
Los nuevos miembros del equipo pueden apuntar la IA al código y hacer preguntas. “¿Qué hace este servicio?” “¿Dónde ocurre la autenticación?” “¿Por qué hay dos conexiones de base de datos?” En lugar de buscar en wikis o esperar a que un desarrollador senior esté libre, obtienen respuestas inmediatas y contextuales basadas en el código real. No son respuestas perfectas. Pero lo suficientemente buenas para formular la siguiente pregunta.
La deuda técnica se vuelve más visible.
Cuando explicas un sistema a la IA, las inconsistencias surgen. “¿Por qué hay dos bases de datos?” se convierte en una pregunta que no puedes evadir.
Esto no está reemplazando a los desarrolladores senior. Está haciendo los patrones de desarrollo senior más accesibles para todos.
La restricción cambia de “¿tenemos a alguien que sepa cómo hacer esto?” a “¿podemos articular lo que estamos tratando de hacer?” Cuando programar ya no es el cuello de botella, la capacidad de pensar con claridad sobre los problemas se convierte en la ventaja competitiva.
Esa es una mejor restricción.
El newsletter salió el viernes por la mañana. 343 destinatarios. Sin rebotes. Sin tiempo de inactividad. Sin mensajes de emergencia.
Desde la perspectiva del usuario, nada cambió. Desde la perspectiva de infraestructura, todo cambió.
Ese es el objetivo.
La IA no hizo la migración. Yo lo hice. Pero la IA hizo más fácil pensarlo, más seguro ejecutarlo y más simple verificarlo.
La colaboración agéntica no se trata de automatización. Se trata de aumentación.
Todavía eres responsable. Todavía tomas decisiones. Todavía escribes código.
Pero ya no lo haces solo.
Y eso hace toda la diferencia.
Hablemos de tu situación real. ¿Quieres acelerar la entrega, quitar bloqueos técnicos o validar si una idea merece más inversión? Escucho tu contexto y te doy 1-2 recomendaciones prácticas. Sin compromiso ni discurso comercial. Confidencial y directo.
Empecemos a trabajar juntos