39 puntos por spilist2 2025-03-25 | 11 comentarios | Compartir por WhatsApp
  • Con el auge del Vibe Coding, también se ha vuelto muy activo el debate entre “ya no se necesitan desarrolladores” vs “todavía falta mucho”
  • Ambas posturas tienen algo de razón. Estuve observando el avance de la IA y ordené algunas ideas que he tenido trabajando como product engineer
  • Aun así, no soy experto en IA, solo soy desarrollador. También tengo poca experiencia con Vibe Coding. Pero escribí esto porque quería escuchar las opiniones de otras personas y porque espero que les sirva a los desarrolladores junior que se sienten inquietos

El Vibe que probé por mí mismo: hasta este punto vs apenas hasta este punto

Probé hacer durante el fin de semana un juego de canicas con Vibe Coding. Lo hice para jugarlo con mi hija de 7 años. El 90% del código lo avancé solo con prompts, y el tiempo de implementación se redujo de forma drástica (quedó terminado en 4 horas con una calidad nada mala)

En ese proceso fui alternando entre la decepción de “¿ni algo tan simple puede hacer?” y la sorpresa de “¿con un nivel de requisitos así puede construirme algo tan bueno?”. En especial, lo primero pesó mucho porque no fue fácil lograr que la IA “siguiera mis instrucciones”

Pero, de todos modos, si se refinan los prompts y la tecnología sigue avanzando, creo que la proporción de “sorpresa” será muchísimo mayor, y que eso claramente provocará una fuerte caída en la contratación de desarrolladores junior

Quiero hablar de esta sensación usando el principio de Pareto y el concepto de madurez del producto

La parte pesimista: tal vez la IA escriba el 96% del código

Si dividimos la madurez del producto en 3 etapas (zero-to-one, one-to-ten y más allá), me impactó darme cuenta de que la mayor parte del código de nivel zero-to-one ya se puede reemplazar con IA

Visto con la ley de Pareto, pienso que quizá el 80% del código que los desarrolladores producían para crear un producto era justamente resultado orientado a ese zero-to-one.

  • El código que aparece al implementar ideas y buscar PMF. Y también el código que incluso personas no desarrolladoras pueden crear fácilmente con Vibe Coding.

Y si además asumimos que el 80% necesario en one-to-ten se puede definir y dividir bien para tratarlo como trabajo de nivel zero-to-one...

  • Llevándolo al extremo, me hace pensar que cerca del 96% de la producción de código (= 0.8 + 0.2 * 0.8) podría ser reemplazable por IA
  • En el video de Y Combinator que presentó Vibe Coding, al parecer algunos fundadores dijeron que “el 95% del codebase del producto fue escrito por IA”, así que curiosamente los números coinciden

Espero que esto eleve el estándar esperado tanto de la capacidad de los desarrolladores como del nivel esperado para productos tipo MVP.

  • Algo parecido a cómo, después de Bootstrap y TailwindCSS, “un nivel decente de estilado UI” pasó a ser prácticamente un requisito básico para los desarrolladores frontend

Si es así, parece natural que se reduzcan los puestos de contratación para desarrolladores que antes habrían sido valorados solo por su capacidad de construir productos en la etapa zero-to-one. Por eso, la frase “ya no se necesitan desarrolladores” deja de sonar como una exageración....

...¿pero de verdad será así?

La parte optimista: aun así, sigue habiendo mucho trabajo para desarrolladores

1) El mercado se hace mucho más grande y habrá más cosas por hacer

La mayor relevancia del Vibe Coding está en bajar la barrera de entrada para desarrollar productos

  • La mayoría de las tareas que antes un desarrollador tenía que hacer a mano para zero-to-one ahora pueden ser sustituidas por agentes de código con un costo extremadamente bajo (tiempo/dinero/personas).
  • Es decir, ahora se puede hacer girar rápidamente el ciclo de ejecutar-validar ideas incluso sin desarrolladores

Por lo tanto, van a aparecer de forma explosiva muchísimos productos de nivel zero-to-one (o incluso menor) que antes no podían surgir, y también aumentará mucho la cantidad de personas que piensen “yo también quiero implementar mi idea”.

Todo esto tendrá el efecto de ampliar el tamaño del mercado en el que “los desarrolladores pueden ganar dinero”. Personas que antes no eran clientes de los desarrolladores pasarán a convertirse en una nueva capa de clientes. Por ejemplo:

  • Enseñanza de Vibe Coding para que personas no desarrolladoras, PMs o diseñadores puedan materializar sus propias ideas
  • Trabajos freelance cortos para ayudar a terminar productos que ya están hechos al 90% con Cursor, pero que no logran llegar hasta el final
  • Consultoría para operar productos que de algún modo ya fueron creados y convertirlos en ingresos sostenibles
  • Desarrollo de distintas herramientas de pago que ayuden a hacer mejor y más fácil el Vibe Coding

Ya sea obteniendo ingresos extra fuera de la empresa con este tipo de trabajos, o mediante empresas que nazcan para hacer estas cosas, creo que quienes más se beneficiarán de este cambio de mercado serán los desarrolladores

2) Los desarrolladores pueden y deben hacer muchas cosas además de programar

Aunque la IA reemplace el 90% de la “programación”, no se puede despedir al 90% de los desarrolladores

  • Porque el peso que tiene programar dentro del desarrollo de producto, y más aún dentro del product engineering, no es tan grande como se suele pensar

Solo viendo de forma aproximada por cuántas etapas pasa la incorporación de una sola funcionalidad al producto, ya hay un montón de pasos.

  1. Identificación del problema
  2. Generación de ideas de solución
  3. Estimación de impacto esperado y costo, y decisión de prioridades de desarrollo
  4. Definición del plan para convertirlo en una funcionalidad del producto
  5. Diseño UI/UX
  6. Diseño de arquitectura
  7. Implementación de backend + frontend + infraestructura
  8. Code review, pruebas automatizadas y QA
  9. Despliegue, monitoreo, difusión de la funcionalidad y A/B testing
  10. Recolección de feedback de usuarios, operación y mejora

Aquí el Vibe Coding solo reemplaza el 7 y una parte del 8.

  • Un product engineer sobresaliente debería intervenir en todos estos pasos al menos en cierto nivel
  • Como la IA se encarga de programar, el valor de quienes hacen bien todo lo demás aumenta todavía más

3) Incluso viendo solo la programación, sigue habiendo bastante trabajo valioso por hacer

Ni siquiera hace falta ir hasta product engineering para ver que todavía hay mucho por hacer

  • Queda mucho por terminar en ese último pequeño porcentaje del código one-to-ten
  • Si los desarrolladores ayudan con el diseño de especificaciones, el diseño estructural y la división de tareas, también se reducirá el costo de usar Vibe Coding

Y en productos que van más allá de one-to-ten, Vibe Coding tiene muchas limitaciones

  • El codebase crece -> ventana de contexto limitada
  • Para mantener un alto nivel de seguridad y mejorar el rendimiento hace falta intervención directa de especialistas
  • Lo mismo pasa cuando se programa con librerías o lenguajes con los que la IA probablemente no entrenó bien
  • https://es.news.hada.io/topic?id=19923 también habla de problemas parecidos

Entonces, ¿qué pasa ahora con los desarrolladores junior?

Ya sea que el mundo vaya hacia la parte pesimista o hacia la optimista, está claro que todo está cambiando demasiado rápido. En especial, en una situación donde la puerta de la contratación se está estrechando de forma brusca, ¿cómo deberían aprender y crecer los juniors?

Después de leer el paper <¿Qué hace sobresaliente a un gran desarrollador?>, traté de definir así las 5 capacidades clave de un desarrollador sobresaliente

  • Escribe buen código
  • Practica la toma de decisiones basada en evidencia
  • Ayuda a sus colegas a tomar decisiones efectivas
  • Maximiza el valor actual del trabajo
  • Aprende de forma efectiva y constante

Esto sigue siendo importante en la era de la IA. Y se puede conectar con la parte optimista

1) Aprovechar activamente el mercado que está creciendo

Si fuera yo, probaría cosas como estas

  • Estudiar prompt engineering
  • Ir probando una por una las nuevas apps de IA que van apareciendo
  • Estudiar y experimentar cómo dividir el trabajo para que los agentes de código entiendan bien mis requisitos
  • Implementar con Vibe Coding una app que resuelva un problema pequeño mío y publicarla
  • Si algún conocido no desarrollador quiere hacer Vibe Coding, darle clases particulares (cobrando)
  • Ayudar también a ese conocido a terminar la implementación, desplegar y operar el producto (también cobrando)

2) Desarrollar capacidades como product engineer

Si fuera yo, probaría cosas como estas

  • Interesarme por todo el producto: detección de problemas, ideas, planificación, diseño, pruebas, operación, etc.
  • Si haces una app y la operas como fundador en solitario, tus capacidades de product engineering crecerán de forma natural
  • Intentar mejorar habilidades de colaboración y product engineering trabajando en equipo para mejorar un producto

Cuando contrataba desarrolladores y escribía la offer letter, siempre solía incluir algo como “quiero que trabajes pensando que eres un mini CTO”

  • Al menos en el proyecto que te toca, tú eres la persona finalmente responsable de las decisiones técnicas
  • Intervén en todas las etapas necesarias para que ese proyecto tenga éxito
  • Ayuda a tus colegas, ya sea en lo técnico o en lo no técnico, a que puedan tomar decisiones efectivas y actuar de forma adecuada

3) Entender cada tecnología en profundidad y desarrollar criterio de código

Los desarrolladores que entienden profundamente tecnologías específicas siguen teniendo demanda. Porque para pasar del PMF a empresas unicornio o decacorn, es indispensable Make it Right & Fast.

Aquí no hay atajos. Hay que invertir tiempo y esfuerzo (con ayuda de IA)

  • Explorar el interior de frameworks/librerías, entender el contexto histórico, contribuir a open source, crear librerías propias, rastrear/corregir bugs, mejorar estándares web/rendimiento, etc.

Al mismo tiempo, será todavía más importante construir tus propios criterios sobre qué es buen código y desarrollar ese “criterio de código” para reconocerlo. Porque hay que detectar cuándo la IA agarró un Vibe equivocado, detenerse e intervenir.

Para desarrollar ese criterio de código hace falta práctica deliberada. También aquí hay que dedicar tiempo y esfuerzo

  • Ver mucho buen código, pedir mucho feedback sobre el código que escribes ya sea a la IA o a desarrolladores senior, mirar el código escrito por la IA o por colegas e intentar anticipar “qué problemas podrían aparecer si seguimos así”, y luego compararlo con lo que realmente pasa

11 comentarios

 
ethanhur 2025-03-27

De todos modos, el trabajo práctico de la ingeniería de software va a cambiar mucho. Las máquinas de código perderán competitividad, pero yo apostaría a que los ingenieros que realmente pueden crear un producto end-to-end sobrevivirán.

 
bichi 2025-03-26

Se redujo el trabajo de teclear, pero se agregó la tarea de encontrar el código trampa que creó la IA.

 
j2sus91 2025-03-25

¡Muchas gracias por este texto tan valioso y bueno!

 
spilist2 2025-03-25

Cometí un error tipográfico. T_T

En particular, esto último se debió en gran parte a que no fue fácil lograr que la IA "siguiera mis instrucciones" -> lo primero

 
origolucis 2025-03-25

Creo que está bien profundizar en la ingeniería de producto que necesitan las startups, pero también pienso que sigue siendo valioso elegir el camino de llevar la tecnología al límite y pulirla al máximo. El desarrollo para crear aplicaciones web simples será reemplazado por la IA, pero alguien tendrá que idear Kubernetes y diseñar ElasticSearch.

 
doolayer 2025-03-25

Como la cantidad de quienes diseñan esos componentes clave es limitada, al final sí creo que la demanda del puesto de "desarrollador" va a disminuir.

 
spilist2 2025-03-25

Mientras respondía comentarios, siento que se me fue ordenando el mensaje que quería expresar en el texto.

Yo pensaba que, dentro de cada empresa individual, la demanda de desarrolladores de una forma u otra probablemente va a disminuir, pero que la cantidad de empresas —o de negocios/personas equivalentes— que necesitarán "trabajo de desarrollo" va a aumentar mucho más, así que seguirá habiendo mucho por hacer para los desarrolladores.

Claro, la IA también podría reemplazar todo eso, pero para ese punto probablemente no quedaría ninguna profesión que no pudiera ser reemplazada...

 
kakasoo 2025-03-25

¡Muy cierto!

 
nowdoit7 2025-03-25

Estoy de acuerdo. De ahora en adelante, parece que se va a dividir entre lo que hará la codificación con IA y lo que harán los humanos en diseño y revisión, y creo que coexistirán hasta que aparezca una IA que entienda el proyecto completo.

 
spilist2 2025-03-25

¡Estoy de acuerdo! Claro, también ahí la IA ayudaría, pero no creo que sea fácil hacerlo solo con vibra.

 
spilist2 2025-03-25

Como referencia, este es el juego hecho con vibe coding: https://www.stdy.blog/vibe-go-stone/