00:00:00Hoy me desperté con una publicación interesante de Guillermo Rauch, el CEO de Vercel, sobre
00:00:06lo que quiero hablar y también sobre las implicaciones y mis pensamientos sobre el papel del código y cuán
00:00:11importante es el código real, hoy y en el futuro.
00:00:16Ahora, en este post Guillermo dice: "El código es un resultado, la naturaleza se está curando.
00:00:21Durante demasiado tiempo tratamos el código como una entrada.
00:00:23Lo glorificamos, le dimos formato a mano, lo embellecimos, nos obsesionamos con él.
00:00:28Construimos interfaces gráficas sofisticadas para escribir en ellas, los IDE.
00:00:31Resaltamos la sintaxis, usamos tree-sitter, minimapas, activadores de teclado, autocompletados integrados,
00:00:37texto fantasma.
00:00:38¿Qué esquema de colores es ese?
00:00:40Nos quedamos despiertos debatiendo la longitud ideal de las API y de los cuerpos de las funciones.
00:00:44¿Se verá esta API lo suficientemente bien como para que otro humano la lea?
00:00:48Ahora estamos centrando nuestra atención en las verdaderas entradas: requisitos, especificaciones, feedback, diseño,
00:00:54inspiración y, fundamentalmente, las entradas de producción.
00:00:58Nuestros agentes de programación necesitan entender cómo experimentan los usuarios tu aplicación, con qué
00:01:04errores te encuentras, y convertir eso en código.
00:01:07Inevitablemente glorificaremos menos el código, así como a los programadores.
00:01:12Los mejores ingenieros con los que he trabajado siempre vieron el código solo como un medio para un fin, un resultado
00:01:17que pronto volverá a transformarse".
00:01:20¡Vaya, hay mucho contenido en esta publicación!
00:01:23Bueno, tengo muchas reflexiones al respecto.
00:01:27Ahora, obviamente, y creo que todos podemos verlo, todo el rol o todo el mundo de
00:01:35la programación está cambiando rápidamente.
00:01:38Están pasando muchas cosas y, especialmente yo, y supongo que muchos en la industria, podemos
00:01:46sentir que desde diciembre se aceleró de nuevo con Opus 4.5 y Cloud Code y ahora también
00:01:53Codex; tenemos nuevos modelos y herramientas surgiendo casi cada semana.
00:01:58Las cosas están cambiando rápido.
00:02:01Y en lo personal, por supuesto, intento mantenerme al día también respecto al contenido
00:02:06que creo, a los cursos que desarrollo y, lógicamente, a cómo trabajo, que es la base
00:02:10de todo ello, y por eso lancé nuevos cursos sobre Cloud Code y Codex y, por cierto,
00:02:16estoy haciendo una gran promoción ahora mismo donde puedes obtener mi membresía anual, que te da
00:02:21acceso a todos los cursos por un precio súper bajo.
00:02:24Pero esto nos está impactando a todos.
00:02:27Ese es mi punto aquí.
00:02:28Está cambiando lo que hacemos, qué contenido creo y, por supuesto, cómo construimos software.
00:02:35Sin embargo, no estoy tan seguro de si realmente nos estamos alejando del código, y para mí este post se lee
00:02:42como si el código ya no importara, y creo que discrepo bastante con eso.
00:02:50Ahora, admitiré, y obviamente es cierto, que en el pasado, sí, nos obsesionamos con el
00:02:58diseño de las API, con el nombre de las variables y funciones, y con la estética del código.
00:03:07E incluso sostendría que partes de esto siguen siendo importantes hoy y muy probablemente también
00:03:15en el futuro.
00:03:17Porque aunque el rol de los humanos pase de escribir el código a revisarlo,
00:03:24¿qué es más fácil de revisar: una base de código desordenada con 10,000 líneas de código parcialmente
00:03:33redundantes o innecesariamente complejas con funciones mal nombradas o estructuradas, o una base de código limpia?
00:03:41¿Qué será más fácil de revisar?
00:03:44E incluso si partes o grandes porciones de ese proceso de revisión pasan a las máquinas y a la IA
00:03:50en el futuro, lo cual es posible, aun así no estoy convencido de que la calidad del código
00:03:59deje de importar por completo en ese mundo.
00:04:02Y aunque solo sea porque estás pagando por todos esos tokens que se generan y revisan,
00:04:09si algo se puede construir de forma más limpia, probablemente consumirá menos tokens tanto para generar
00:04:17ese código como para revisarlo.
00:04:19Y el costo por token parece que será muy, muy importante en el futuro porque ahora
00:04:25mismo todos estamos bajo esos planes subsidiados por Anthropic o por OpenAI.
00:04:30No estamos pagando el costo real del token; las suscripciones de $20 o $200 que tú o yo
00:04:37podamos tener.
00:04:39Estas no son suscripciones con las que esos proveedores necesariamente ganen dinero.
00:04:44El costo real del token es más alto que eso.
00:04:47Y es muy probable que suba en el futuro, o que lo que pagamos suba en el futuro cuando
00:04:54esas empresas necesiten ganar dinero en algún momento.
00:04:57Obviamente, tal vez debido al progreso técnico, eso solo ocurra cuando el costo del token
00:05:02haya bajado un poco, pero aún no lo sabemos con certeza.
00:05:07No sabemos cómo se verá ese mercado en el futuro.
00:05:10E incluso si bajara teóricamente, si las empresas pueden cobrarte un precio determinado,
00:05:16que puede estar muy por encima del precio real, bueno, se quedarán felices con ese
00:05:22margen de beneficio.
00:05:23Pero bueno, ese es un tema totalmente diferente.
00:05:25Pero los tokens y la eficiencia de tokens importan hoy y probablemente también en el futuro.
00:05:31Y eso, por supuesto, está relacionado con la calidad del código porque, en general, el buen código, el código limpio,
00:05:39es código al que no se le permite crecer sin fin y volverse infinitamente complejo y complicado.
00:05:47Ahora, se puede argumentar que los programadores en el pasado también tenían a veces
00:05:55la tendencia a escribir demasiado código, quizás en ciertos puntos, para lograr una
00:06:02API limpia y tal vez algunas abstracciones innecesarias que realmente no necesitaban en el momento
00:06:08en que se implementaron.
00:06:09Probablemente todos hemos pasado por eso: trabajar en un proyecto personal con cero usuarios y
00:06:15decidir que queremos implementar nuestro acceso a la base de datos para poder cambiarla fácilmente,
00:06:22aunque nunca tuvimos la intención de hacerlo.
00:06:24Y por eso escribimos algún adaptador que, por supuesto, era mucho más complejo de lo que
00:06:29debía ser.
00:06:30Todos hemos pasado por ahí.
00:06:31¿Y fue genial?
00:06:32No, no lo fue, y no lo será hoy ni en el futuro, sin importar si es código escrito
00:06:37por ti o por una IA.
00:06:39Y ahora mismo, y esto puede cambiar, pero en mi experiencia, estos modelos de IA
00:06:45y herramientas como Codex o Cloud Code tienen tendencia a sobrecomplicar las cosas, a introducir
00:06:54complejidad innecesaria, a sugerir cambios que realmente no tienen mucho sentido
00:07:02o que son innecesariamente complejos; Codex especialmente tiene ahora la tendencia a no eliminar
00:07:10nunca código, solo a añadir más y más código, código de respaldo y manejo de legado.
00:07:15Y tienes que obligarlo casi explícitamente a borrar código y a abandonar APIs antiguas.
00:07:22Así que, claro, todo eso puede cambiar, pero son cosas por las que tienes que luchar hoy.
00:07:30Y eso es precisamente lo que este post dice que ya no importa.
00:07:35Pero yo digo que sí importa.
00:07:37Tú, como desarrollador, tienes que dar esas batallas y preocuparte por el código real
00:07:43y por la calidad del código hoy y muy probablemente también en el futuro.
00:07:49Obviamente, nadie sabe qué depara el futuro, pero siempre será importante tener
00:07:56una base de código que no crezca innecesariamente compleja por muchas razones, siendo la eficiencia
00:08:01de los tokens una de ellas.
00:08:02Otra razón, por supuesto, y también la parte de la revisión, por cierto, otra razón
00:08:08es que el código, lógicamente, tiene un impacto en el rendimiento de una aplicación.
00:08:18Ahora, no estoy compartiendo ninguna verdad o noticia revolucionaria aquí, pero por supuesto esto es
00:08:26algo que es fácil de pasar por alto.
00:08:28Podrías decir que con la IA generando código, el código real no importa demasiado
00:08:34porque es fácil de refactorizar, regenerar o reemplazar.
00:08:38Y eso es cierto si ignoras de nuevo la parte del costo de los tokens.
00:08:43Pero el código que se está generando tiene un impacto, o podría tener un impacto, en el
00:08:51rendimiento de tu aplicación.
00:08:53Hay múltiples formas de consultar una base de datos.
00:08:56Podrías ejecutar consultas anidadas o innecesariamente muchas consultas porque, oye, el resultado
00:09:03es el mismo.
00:09:04Tienes los datos que necesitas.
00:09:05Sí, pero una consulta de base de datos mal optimizada puede mostrar su costo real en cuanto
00:09:12tengas una cantidad significativa de usuarios.
00:09:15Lo mismo ocurre, por supuesto, con bucles anidados o todo tipo de cosas que pueden colarse en
00:09:20tu base de código y que llevan a un peor rendimiento.
00:09:23Y es por eso que la calidad del código y su optimización siguen importando.
00:09:30Definitivamente puedes decir que los futuros modelos y herramientas de IA serán muy buenos en eso y
00:09:37serán capaces de hacerlo, que los futuros modelos podrán producir mejor código desde el
00:09:43principio y también evaluar y luego mejorar el código.
00:09:47Y eso es absolutamente posible.
00:09:50Aun así, eso no invalida mi punto de que la calidad del código importa, sin importar si un
00:09:55modelo futuro lo genera o tú como desarrollador.
00:09:58Ahora, la gran diferencia es que en un mundo donde la IA es capaz de
00:10:04hacer todo eso, los humanos quedamos fuera del proceso.
00:10:08Y supongo que ese es el punto que Guillermo está planteando aquí.
00:10:13Pero, por supuesto, no sabemos exactamente cómo se verá ese futuro.
00:10:16Lo que diré sobre este post es que lo entiendo, así es internet hoy en día.
00:10:23Tienes que ser provocativo.
00:10:24Tienes que ser algo extremista para que gente como yo cree un video al respecto.
00:10:25Lo entiendo perfectamente.
00:10:30Pero claro, en este post parece que todas esas cosas que hacíamos en el pasado eran
00:10:31bastante estúpidas, ¿verdad?
00:10:37Construir herramientas dedicadas, interfaces que faciliten escribir código, discutir el diseño de APIs.
00:10:38¿Es eso estúpido?
00:10:39Bueno, no, eso demuestra que te importa.
00:10:45Y como humano, quieres preocuparte por tu oficio, por tu trabajo.
00:10:46Eso es como decir: "Oh, qué estúpido que los diseñadores solieran primero bocetar en un trozo
00:10:51de papel y luego usar software dedicado como Photoshop para convertirlo en arte
00:10:56digital real".
00:11:02No, eso no es estúpido.
00:11:07Eso es exactamente lo que diferencia a un humano que se preocupa por su oficio y su trabajo de
00:11:08alguien que no lo hace.
00:11:10Y presentar esto como algo estúpido o raro, o algo que se ha ido para siempre, es simplemente
00:11:17una mala opinión.
00:11:19Simplemente no es nada acertado.
00:11:29Y por supuesto, ahora estamos construyendo nuevo software, por cierto.
00:11:30Estamos construyendo software para el mundo de la ingeniería basada en agentes, algo como la
00:11:32aplicación Codex y todos estos agentes de IA y aplicaciones de agentes e interfaces que tenemos hoy.
00:11:36Ese es el nuevo tipo de software que estamos construyendo y seguiremos haciendo cosas así.
00:11:43E inventaremos nuevas formas de discutir sobre cómo debería ser una habilidad bien escrita para
00:11:49los agentes o cómo configurar un buen archivo agents.md o lo que sea.
00:11:54Seguiremos debatiendo hasta que estemos totalmente fuera del proceso y los humanos no necesitemos
00:12:01hacer nada más.
00:12:07Un punto que no creo que llegue y que ciertamente espero que no llegue.
00:12:14Pero hasta ese momento, es bueno tener opiniones sobre lo que haces y preocuparte por
00:12:16aquello en lo que trabajas.
00:12:22Y creo que eso es realmente importante.
00:12:29Así que sí, creo que el código, su estructura, seguirá siendo importante.
00:12:31La única pregunta es si la IA puede hacerlo todo por sí sola y producir un código perfecto.
00:12:33Y no lo sé, nadie puede saberlo ahora mismo.
00:12:41No se puede predecir el futuro.
00:12:47Pero en general, como humano, deberías preocuparte por lo que haces.
00:12:50Eso es lo que diferencia a las personas que pueden tener mucho éxito y divertirse en su trabajo
00:12:53de las personas que no lo hacen, creo.
00:12:57Eso es lo que diferencia a las personas que pueden tener mucho éxito y divertirse en su trabajo
00:13:03de las personas que no lo hacen, creo.