domingo, 28 de septiembre de 2025

Si sabes programar no vivecodeás, pairprogramás


Vivimos un momento extraño en el mundo del software. La inteligencia artificial generativa irrumpió en nuestra práctica profesional y, con ella, un fenómeno que muchos llaman vibe coding. Y conviene decirlo con claridad: el vibe coding está mal visto.

¿Por qué?

  • Porque el vibe coding no te enseña.

  • Porque el vibe coding no tiene criterio.

  • Porque los productos vibecodeados suelen ser desprolijos, faltos de diseño y, lo peor de todo, sin pruebas ni garantías de calidad.

Y sí, mal que nos pese, en muchísimos casos eso es cierto. Pero la pregunta importante no es si está bien o mal, sino por qué pasa.

La ilusión de crear sin saber

La respuesta es sencilla y brutal: porque personas con poco o ningún conocimiento de programación empezaron a usar estas herramientas para generar productos que entienden como “finales”. Una web aquí, una app allá, un script para resolver algo rápido.

El problema es que la IA no hace magia. Como dijo Albert Einstein: “La imaginación es más importante que el conocimiento, pero el conocimiento es el que nos permite darle forma a la imaginación”.

Cuando no hay conocimiento, la IA no amplifica nada. Solo replica carencias. Una mala pregunta, una mala dirección o una mala interpretación del resultado llevan inevitablemente a un mal producto.


La diferencia está en el oficio

El contraste con un programador experimentado es enorme. El buen coder que suma IA a su caja de herramientas no se degrada, se potencia. Como el carpintero que un día escubre la agujereadora eléctrica: de golpe lo que ya sabía hacer lo hace más rápido, más fino y con menos esfuerzo.

Ahora bien, si le das esa misma herramienta a alguien sin oficio, lo más probable es que arruine la madera. No porque la agujereadora sea mala, sino porque no sabe qué está haciendo.

La IA generativa funciona exactamente igual. En manos de alguien que conoce fundamentos, arquitectura, testing y buenas prácticas, es un multiplicador de eficiencia. En manos de un vibecoder, es un arma de destrucción masiva de calidad.


La IA como junior superpoderoso

Un LLM (Large Language Model) es como un junior con superpoderes. Puede responder a cualquier cosa, conoce frameworks, sintaxis, patrones de diseño y hasta rarezas históricas. Pero no tiene criterio. No sabe qué conviene ni por qué.

Y sin criterio, el conocimiento se vuelve un ruido ensordecedor. Como decía Sócrates: “La sabiduría comienza en la reflexión sobre lo que no se sabe”.

Ahí entra el rol del programador. Es su raciocinio, su experiencia y su capacidad de análisis de negocio lo que convierte ese ruido en música. No es magia, es dirección. Y, como todo buen líder de proyecto sabe, dirigir nunca es más sencillo que “hacer”.


El miedo a perder habilidad

Aquí aparece otro de los grandes fantasmas: el miedo a perder la capacidad de pensar por uno mismo. Muchos dicen: “Si uso demasiado la IA, voy a desaprender como programar”.

Ese temor tiene lógica en apariencia, pero es engañoso. Nadie acusa a un arquitecto de “haber perdido habilidad” por no cargar ladrillos. Nadie dice que un cirujano dejó de ser médico porque ya no cose a mano cada vena: simplemente cambió el foco de sus habilidades.

Pasó de ejecutar a supervisar, de improvisar a planificar, de resolver en soledad a coordinar con herramientas cada vez más poderosas.

Como escribió Bruce Lee: “No temo al hombre que ha practicado 10.000 patadas una vez, sino al que ha practicado una patada 10.000 veces”. La IA no te quita práctica, te obliga a profundizar en aquello que realmente importa: criterio, visión y capacidad de guiar.


De vivecodear a pairprogramar

La clave está en cómo usamos la herramienta. El vibe coding es la actitud de delegar ciegamente, de aceptar el primer output que el modelo te tira. Es como dejar que el GPS te lleve a un callejón sin salida sin siquiera levantar la vista del parabrisas.

En cambio, el buen programador no vivecodea: pairprograma con la IA. Le da contexto, revisa lo que produce, corrige, pide alternativas, compara enfoques y lo integra a su propia lógica.

Es un diálogo, no una delegación. Es un sparring partner, no un reemplazo. Y eso cambia todo.


Un salto en eficiencia, no una pérdida de esencia

El programador con IA se hace más rápido y más preciso, siempre y cuando ya fuera bueno. No hay truco oculto: la IA no sustituye talento, lo amplifica.

Es un poco como tener superpoderes. Puede dar miedo, porque el salto de velocidad y alcance es enorme. Pero como recordaba Peter Parker (o más bien su tío Ben): “Un gran poder conlleva una gran responsabilidad”.

El desafío no es evitar el poder, sino aprender a manejarlo.


De vivecodear a pairprogramar con IA: prácticas que funcionan

Peairprogramar con IA no es delegar; es iterar con control. Algunas prácticas concretas:

  1. Briefing técnico y de negocio
    Especificá objetivo, restricciones, entorno, stack, SLOs y criterios de aceptación. La IA rinde lo que rinde tu contexto.

  2. Diseño antes que código
    Pedí alternativas de arquitectura con pros/cons y supuestos. Elegí conscientemente y registrá la decisión.

  3. Testing primero (TDD/BDD)
    Solicitá tests primero: unit, property-based, end to end. Después pedí la implementación que haga pasar esos tests.

  4. Iteraciones cortas
    Pedí cambios incrementales y diffs explicados. Nada de megaparches de 800 líneas.

  5. Seguridad y performance
    Incluí threat modeling básico, rate limits, sanitización, límites de memoria/tiempo y presupuestos de latencia.

  6. Verificación automática
    Integrá linters, formatters, type-checkers y CI con cobertura mínima.

    “In God we trust; all others must bring data.” — W. Edwards Deming

  7. Prompts reproducibles

  8. Guardá plantillas de prompts y system messages junto con tu código. La reproducibilidad es ingeniería.

  9. Roles claros
    Tratá a la IA como navigator cuando vos sos driver, y alterná en tareas de refactor, documentación y generación de casos de prueba.


Antipatrones del vibe coding (evitalos)

  • Aprobar el primer output. Accidentalmente asumís que “si compila, está bien”. Falso.

  • Prompt sin contexto. Resultado genérico, spaghetti, anti‑patrones.

  • No leer lo que pegás. Rápido ahora, lento para siempre.

  • Tests al final (o nunca). Difícilmente lleguen.

  • Sin feature flags ni rollbacks. Te quedás sin paracaídas.

  • No medir. Si no medís, opinás. Si medís, decidís.


Qué medir cuando pairprogramás con IA

Traé métricas para salir del “me parece”:

  • Lead time de idea a merge y a producción.

  • Tasa de bugs post‑release y MTTR (tiempo medio de recuperación).

  • Cobertura útil (tests que fallan cuando deben fallar).

  • Frecuencia de despliegue y cambio fallido (DORA).

  • Complejidad ciclomática y hotspots de deuda.

Con datos, la conversación cambia de “veloz vs. prolijo” a “rápido y confiable”.


¿Perdemos esencia o ganamos alcance?

El programador que ya era bueno se vuelve más veloz y más preciso con IA. La esencia no se pierde; se depura. Lo difícil —y valioso— es pensar mejor, no teclear más.

La IA te devuelve horas si sabés dirigirla. El tiempo que ganás, invertilo en diseño, validaciones y trade‑offs que una herramienta, por sí sola, no ve.


Hacia dónde vamos

El futuro cercano de la programación no es un mundo lleno de vibecoders generando basura digital. Es un mundo donde los programadores que saben pairprogramar con IA serán más valiosos que nunca.

Porque no se trata solo de producir código: se trata de comprender problemas, traducirlos en soluciones y asegurar que esas soluciones escalen, sean seguras y aporten valor real al negocio.

Henry Ford lo resumió de manera brutal: “Si le hubiera preguntado a la gente qué quería, me habrían dicho caballos más rápidos”. El programador con IA no pide caballos, diseña el automóvil.


Conclusión: el oficio sigue importando

La IA no elimina la necesidad del oficio, lo hace más evidente. Lo que diferencia a un producto sólido de un desastre vibecodeado no es la herramienta, sino la mente que la guía.

El futuro pertenece a quienes entienden que la IA no es reemplazo, sino extensión. Que la clave no está en vibe coding, sino en pair programming con una máquina que puede ser tanto un martillo como un misil.

Porque al final del día, como escribió Séneca: “No es que tengamos poco tiempo, sino que perdemos mucho”. Y el programador que sabe cómo usar la IA no pierde: gana.

Autor: Fabian Mesaglio 

No hay comentarios:

Publicar un comentario

Si sabes programar no vivecodeás, pairprogramás

Vivimos un momento extraño en el mundo del software. La inteligencia artificial generativa irrumpió en nuestra práctica profesional y, con e...