Vibe Coding — Una Reflexión Personal

En los últimos meses he estado desarrollando un proyecto personal utilizando IA. Tengo algo de conocimiento en programación — al fin y al cabo, fui programador Java al inicio de mi carrera. Conozco los fundamentos principales, tengo nociones de arquitectura de software, conceptos abstractos, esas cosas. Pero hoy soy DevOps. Todavía desarrollo, pero ya no las reglas de negocio de un software, ya no las queries SQL complejas, y nunca desarrollé frontend en mi vida. Solo lo básico.
TypeScript en el front y Golang en el backend — los lenguajes que elegí para el proyecto. Puedo decir que conozco un poco, que sé leer, analizar. Pero no codificar de verdad, no conocer los matices de los lenguajes.
Para este proyecto estoy utilizando IA. Es el famoso Vibe Coding.
Vibe Coding con Control
Obviamente no puedo dejar que la IA corra suelta, de lo contrario se vuelve insostenible de mantener. Adopté algunas estrategias que están ayudando mucho y el proyecto está progresando rápidamente.
Necesito controlar mucho lo que la IA está haciendo. Cuestionar todo. Lanzar problemas: "¿Y si esto pasa? ¿Y si aquello? ¿Cómo vas a resolver esto? ¿Por qué no así? ¿Por qué no de otra manera? ¿Y el rendimiento de esto? ¿Y si escala?"
Para ayudar en el proceso, también estoy usando SonarQube para analizar siempre la calidad del código escrito — y realmente está siendo un éxito. Me enfoco más en pensar en el diseño de los modelos, en el negocio, en cómo quiero que funcione. Hago preguntas sobre rendimiento, si vale la pena o no, hasta llegar siempre a algo que considero digno de mantener.
Básicamente, estoy haciendo el trabajo de 5 personas: PO, Frontend, Backend, DBA y DevOps.
El Sentimiento Contradictorio
A pesar de que todo está yendo bien, siento que estoy en control. El proyecto es mío. La idea es mía. Las decisiones son mías.
Pero no siento que conozco completamente lo que construí.
Es un sentimiento bueno y malo al mismo tiempo.
Cada día que me siento en la máquina para desarrollar un poco más, finalizo algo que tal vez tomaría una semana hacer. En tres horas. Es demasiado bueno, no voy a mentir.
Pero es como si estuviera conduciendo un carro que armé sin conocer todas las piezas del motor, sin saber si los tornillos están bien apretados.
El carro es mío. Yo lo diseñé. Yo decidí el color, el modelo, la potencia. Pero las manos que lo armaron no fueron las mías — entonces no conozco todo como me gustaría.
Por más que le digas a alguien que apriete el tornillo, ¿realmente lo apretó? Confías en el mecánico. Incluso verificaste después. Pero esa duda persiste: ¿realmente está firme?
A veces solo es necesario confiar. Y es exactamente eso lo que me da miedo.
La Conversación Que Me Hizo Escribir Esto
Le expliqué a un amigo sobre este sentimiento. Sobre esta sensación extraña de conquista incompleta. Y aún agregué: parece que no gané más conocimiento.
En realidad sí gané. Aprendí más sobre Go, sobre TypeScript, sobre arquitectura de sistemas. Pero claro que no es lo mismo que si hubiera desarrollado todo solo. No es el mismo tipo de aprendizaje.
Cuando escribes cada línea, te equivocas, depuras, sufres, entiendes. Cuando la IA escribe y tú revisas, entiendes — pero no de la misma forma. Es un entendimiento más superficial, más conceptual, menos visceral.
Entonces mi amigo me hizo una pregunta: "Si tomas un proyecto que hiciste hace 5 años, ¿recuerdas todo?"
Y eso me hizo reflexionar. Claro que no. Si tomo ese proyecto de nuevo, tendré que estudiar todo nuevamente. Releer el código, entender las decisiones, recordar por qué lo hice de esa manera.
Lo Que Necesitamos Entender
No se puede nadar contra la corriente. Si no puedes vencerla, únete a ella.
Vibe coding llegó para quedarse. ¿Nos embrutece? Tal vez. ¿Crea dependencia? Definitivamente. ¿Pero acaso no será así como las cosas se harán en el futuro?
Estoy empezando a dudar que existirán programadores de la vieja escuela de verdad dentro de algunos años. Tal vez solo aquellos que mantienen los lenguajes, los compiladores, los frameworks. El resto — y eso incluye a la mayoría de nosotros — estará en el mismo barco.
Será una herramienta necesaria para trabajar. Punto.
Piensa conmigo: si tu colega que usa IA entrega algo funcional en una hora, y tú necesitas un día para hacer lo mismo, ¿a quién preferirá la empresa? Él resuelve. O conoce a quien resuelve.
Me acordé de una frase que leí hace bastante tiempo: "No necesitamos saber todo. Solo necesitamos saber dónde encontrar lo que necesitamos."
Tal vez esa frase nunca haya tenido tanto sentido como ahora.
¿Y Ahora?
Continúo usando IA para desarrollar. Continúo impresionado con la productividad. Continúo con este sentimiento extraño de que algo no está completo.
Pero pensándolo bien — si fuera otra persona quien hubiera escrito el código, también dudaría. Entonces sigue el flujo.
Tal vez sea el precio de la eficiencia. Tal vez sea algo que aprenderemos a manejar con el tiempo. Tal vez estoy siendo demasiado exigente conmigo mismo.
O tal vez esta incomodidad sea exactamente lo que me mantiene alerta — cuestionando, validando, asegurándome de que los tornillos están apretados.
Porque al final, el carro está andando. Y está andando bien.
Solo no sé si sabría armarlo de nuevo solo. Y tal vez eso esté bien.