Humai Blog
Publicado el

¿Vale la pena aprender a programar en tiempos de IA?


cover
date
Jun 24, 2025
tags
Programación
Vibe Coding
Inteligencia Artificial
Ingeniería de Software
summary
El "vibe coding" —término acuñado por Andrej Karpathy— promete revolucionar la programación: crear software simplemente describiendo lo que queremos a modelos de IA como ChatGPT o Claude. Pero existe una diferencia crucial entre delegar completamente el código a la IA versus mantener análisis crítico para evaluar seguridad y mantenibilidad. Este artículo explora cuándo funciona el vibe coding versus cuándo se necesita expertise real, examina si la IA acelera o frena el aprendizaje de desarrolladores junior, y responde la pregunta crucial: ¿realmente vale la pena seguir aprendiendo a programar en la era de los modelos de lenguaje?
slug
vibe-coding
status
Published
type
Post
author
Julio Santirachi
Con la llegada de modelos de lenguaje como ChatGPT, Claude o Gemini, la forma de programar está cambiando rápidamente. El “vibe coding” representa la tentadora tesis de que cualquiera puede crear software simplemente describiendo lo que quiere. "Simplemente veo cosas, digo cosas, ejecuto cosas y copio-pego cosas, y en su mayoría funciona", explicó Andrej Karpathy, co-fundador de OpenAI y ex-director de IA en Tesla, en su publicación viral en X, donde introduce el concepto de vibe coding. El proceso se desarrolla como una conversación. Karpathy mencionaba incluso que es posible “olvidar que el código siquiera existe”.
notion image

Vibe coding vs AI-assisted coding

Pero no es lo mismo “dejar que la IA haga lo suyo” que prestarle atención para corregirla. Por ejemplo, Simon Willison, co-creador del reconocido framework web Django, distingue el vibe coding de la programación asistida por IA. En otro tweet, Karpathy acepta la distinción de Willison e incluye su flujo de trabajo para “código que realmente le importa a nivel profesional”.
Un desarrollador, según Willison, lee el código generado por IA, lo comprende y considera el rendimiento, la accesibilidad, la seguridad, la mantenibilidad, la eficiencia de costos. La ingeniería de software, explica Willison, se basa en trade-offs: elegir entre docenas de soluciones posibles, equilibrando todo tipo de requisitos, tanto explícitos como implícitos.
Si un LLM escribió el código, y luego lo revisaste, lo probaste a fondo y te aseguraste de entender cómo funciona, eso no es vibe coding, es desarrollo de software asistido por IA.
En un tweet más reciente, Karpathy atiende el problema de la verificación en el código generado por IA, y menciona “el mayor malentendido que tienen los no programadores sobre la programación”. Piensan que programar se trata de escribir código, cuando en realidad se trata de mirar fijamente el código. Cargarlo todo en la memoria de trabajo. Caminar de un lado a otro. Pensar en todos los casos límite.

¿Cualquiera puede crear software?

notion image
Sí, cualquiera puede crear algo de software hoy, pero no cualquiera puede crear buen software sin expertise. La pregunta ya no es quién puede programar, sino qué tipo de problemas están al alcance de cada persona.
El código generado por IA puede ser más extenso, menos mantenible y propenso a errores en tareas complejas, aunque es competitivo en problemas simples. La duplicación de código y la generación de funciones innecesarias también contribuyen a una mayor deuda técnica.
notion image
Además, la IA puede introducir vulnerabilidades de seguridad, incluso en tareas simples: desde no aplicar rate limiting en intentos de login, hasta dejar claves de API expuestas, o permitir manipulación directa de bases de datos desde el frontend.
notion image
Estos errores no siempre son evidentes para principiantes, por lo que aprender a escribir y auditar código sigue siendo fundamental.

Casos de uso: Vibe Coding vs Programación Asistida por IA

En resumen, puede decirse que el vibe coding es viable para problemas simples y de bajo riesgo que ya han sido resueltos en el pasado:
  • Aplicaciones web simples
  • Landing pages, formularios de recolección de datos y herramientas básicas
  • Prototipos rápidos de ideas antes de invertir en desarrollos completos
Mientras que se requiere expertise para:
  • Aplicaciones que requieren lógica compleja o algoritmos avanzados
  • Proyectos que necesitan seguridad rigurosa (procesamiento de pagos, datos sensibles)
  • Aplicaciones a nivel empresarial con necesidades de gran escala
  • Funcionalidades altamente personalizadas o únicas que no se pueden describir fácilmente
  • Proyectos que requieren integración con múltiples servicios externos

Juniors: ¿La IA impide o acelera el desarrollo de expertise?

Explicación del meme aquí.
Explicación del meme aquí.
Se podría argumentar que solo los desarrolladores senior pueden extraer valor de la IA debido a que saben qué quieren de la IA y cómo validar resultados. Y que si la IA maneja la implementación y sintaxis, los estudiantes o juniors pueden nunca desarrollar comprensión profunda de los fundamentos de la ingeniería de software.
También puede decirse lo contrario. Al eliminar la carga cognitiva de sintaxis y boilerplate (código necesario y repetitivo), los juniors pueden acelerar su aprendizaje al enfocar su energía en arquitectura, diseño, y análisis crítico.
Una forma de decirlo es que la parte difícil e importante de la ingeniería de software no es recordar o googlear por enésima vez cómo escribir una regex en python. O volver al código para agregar un import que se me olvidó. Y así sucesivamente.
Si un junior puede resolver todas esas tareas tediosas un 80% más rápido porque no se queda atascado en decenas de trabas, ¿no se convertiría en un gran ingeniero de software mucho más rápido?
Por supuesto, esto ocurriría siempre que se mantenga la atención y el análisis crítico, en lugar de caer en una completa delegación cognitiva. Matías Grinberg, director de Humai, advierte sobre este problema en el podcast "Sherpas" de El Gato y La Caja, señalando que es fundamental que la intención sea aprender o que el mismo sistema esté diseñado para que la persona aprenda, a modo de tutor socrático. "Es fácil simplemente copiar y pegar, e ignorar lo que está detrás", comenta Grinberg en relación al uso de estos sistemas para escribir código.

¿Vale la pena aprender a programar?

notion image
Andrew Ng, reconocido profesor e investigador de IA y cofundador de Coursera, advirtió: “En el último año, algunas personas han estado aconsejando a otros que no aprendan a programar con el argumento de que la IA va a automatizar la programación. Creo que en el futuro veremos eso como uno de los peores consejos profesionales jamás dados.”
Aún se necesita aprender al menos un lenguaje de programación y, junto a él, los fundamentos de la ingeniería de software. Aunque la IA facilite la generación de código, entender cómo funciona ese código, cómo funcionan los algoritmos, cómo se estructuran los proyectos, las buenas prácticas de desarrollo y seguridad sigue siendo clave. En este nuevo paradigma, saber programar es menos sobre memorizar sintaxis y más sobre saber qué pedir a la IA, cómo evaluar lo recibido, y cómo mejorar lo que ya existe.
¿La proliferación de vibe coders agotará los empleos en tecnología? Una respuesta muy popular invoca la paradoja de Jevons, que sugiere que cuando una tecnología se vuelve más eficiente y barata, su uso se expande tanto que el consumo total aumenta. Aplicado al software, esto implicaría que la accesibilidad y el bajo costo podrían disparar la demanda de soluciones digitales en sectores que antes no podían permitírselo, generando nuevos tipos de trabajo en lugar de eliminarlos.
David Autor, un economista del MIT que estudia los efectos de la IA en el empleo, dice que el vibe coding puede generar un incremento masivo en la producción de software a bajo costo, similar al impacto de Uber en el transporte.
 

Compartir este artículo