El desarrollo de software está viviendo un cambio de paradigma histórico. La conferencia organizada por O’Reilly, presentada por Tim O’Reilly y Addy Osmani, reunió a una destacada selección de gurús, directores técnicos, programadores y académicos para analizar cómo la Inteligencia Artificial está interactuando con ellos y transformándolo todo.
A continuación, resumimos las ideas clave compartidas por cada uno de los ponentes:
1. Vibe coding: más experimentación, más cuidado
- Por Kent Beck: Introdujo el concepto de "el genio" para referirse a la IA que ayuda a escribir código. Basándose en su postulado de desarrollo software de las 3X, Beck señala que la IA es sumamente buena en la fase de Explore (exploración), pero todavía no rinde igual de bien en las fases de Expand (expansión) y Extract (extracción).
2. Desarrolladores junior e IA generativa
- Por Camille Fournier, Avi Flomban y Maxi Ferreira: Coinciden unánimemente en que la IA mejora significativamente la productividad general. Sin embargo, lanzaron una advertencia: la IA es una herramienta mucho mejor para desarrolladores senior que para juniors, y subrayaron la necesidad absoluta de controlar rigurosamente todo lo que la IA genera.
3. Mi flujo de trabajo codificando con LLM
- Por Harper Reed: Compartió sus flujos de trabajo actuales distinguiendo entre código nuevo y código heredado. Destacó que ahora las especificaciones deben ser extremadamente detalladas para acotar bien el problema. Además, propuso un método original para la fase de gestación de un nuevo proyecto: iniciar una conversación con la IA donde esta le haga preguntas de "sí o no" y una a una. Con esto se consigue, según Reed, que la IA haga un trabajo más ajustado a los requerimientos del humano que la está manejando. Para el código heredado, aconseja suministrar contexto e ir haciendo cambios incrementales, sabiendo que en el desarrollo con IA es normal tener que echarse hacia atrás muchas veces.
4. Herramientas, agentes y creatividad
- Entrevista a Jay Parikh (por Gergely Orosz): Jay Parikh, vicepresidente de coreAi en Microsoft, enfatizó que la IA debe usarse en todas las fases del desarrollo y que es vital estar al tanto de los avances de los demás. Sostiene que, al desarrollar más rápido, los programadores liberan tiempo para la creatividad. Entre sus propuestas clave destaca la necesidad de reemplazar las herramientas de desarrollo actuales y enfocarse en la creación de agentes específicos para tareas concretas.
5. El papel de los desarrolladores en el mundo asistido por IA
- Por Birguitta Bockeler: Aportó una dosis de realidad analizando las cosas que pueden salir mal. Comparó la IA con una "máquina tragamonedas" donde a veces pones monedas y no obtienes nada. Expuso fallos comunes como que a la IA le cuesta reconocer cuando no sabe algo, o errores técnicos como un fallo de Out Of Memory porque la IA ejecutaba
npm installrepetidamente en un proceso para instalar el mismo paquete, o que al pedirle juntar dos funciones las junte pero no actualice el código de las pruebas. También advirtió que, cuando hay un error, la IA tiende a querer modificar la función, aunque el error esté en el código de la prueba.
6. Cómo los agentes están reviviendo la web programable
- Por Angie Jones: Subrayó la enorme importancia de MCP (Model Context Protocol). Explicó que este estándar abierto, creado por Anthropic, permite conectar los modelos de IA de forma segura con bases de datos, archivos y aplicaciones externas sin la necesidad de programar integraciones desde cero.
7. Inclinando la generación de código de IA hacia su lado
- Por Craig McLuckie: Explicó el concepto de los "modelos frontera" (los modelos más avanzados de IA). McLuckie argumenta que, en lugar de diseñar modelos masivos que intenten encargarse de todo, la ventaja competitiva está en desarrollar soluciones horizontales para problemas específicos, tales como la orquestación, el middleware (seguridad, contexto) o el acceso a recursos mediante protocolos como MCP o A2A (agent to agent).
8. Ingeniería de Prompts como centro de las tareas de desarrollo
- Por Patti O’Callaghan: Propuso que la ingeniería de prompts sea el eje central del flujo de trabajo. Para ello, recomienda darle siempre contexto a la IA sobre la arquitectura de software que se está utilizando, proporcionarle ejemplos de código reales y diseñar prompts muy específicos dependiendo de la tarea exacta que se realice (implementación, debug o refactorización).
9. Ingeniería de IA
- Por Chip Huyen y Shawn Wang (Swix): Ambos defendieron la emergencia de esta nueva disciplina de ingeniería. Chip Huyen utilizó el ejemplo de un robot repartidor de comida para ilustrar por qué las IA deben comunicarse entre sí (el robot necesita interactuar con los semáforos de la ciudad para solicitar luz verde y cruzar). Por su parte, Swix propuso que la estrategia correcta debe ser centrarse primero en construir buenos agentes individuales y, posteriormente, ver cómo comunicarlos entre ellos.
10. Ensenando a los desarrolladores a pensar con IA
- Por Andrew Stellman: Hizo una distinción crítica: una cosa es "preguntar a la IA para obtener respuestas" y otra muy diferente es "trabajar con la IA para resolver problemas". Para esta segunda vía (la correcta), Stellman establece un proceso claro: dar contexto, investigar y enmarcar el problema, para luego aplicar refinamiento y un pensamiento crítico riguroso.
11. Lecciones aprendidas con Vibe Coding y Vibe Debugging
- Por Iyanuoluwa Ajao: Detalló el drástico contraste entre el desarrollo tradicional y el actual asistido por IA. En el pasado, el flujo implicaba investigar manualmente en Stack Overflow, resolver y documentar la solución por cuenta propia. Ahora, utilizando herramientas como la extensión de Windsurf para Chrome por ejemplo, la IA da soporte a todas estas actividades, transformando el rol del desarrollador principalmente en un revisor de los resultados.
12. Diseñando IA para que realice acciones autónomas
- Por Nicola Balic: Sentenció que en el futuro "ya no escribiremos código, lo cultivaremos". Defiende que todo ha cambiado de forma radical, recomendando herramientas de sandbox como Daytona. Balic propone una visión sugerente: que en la conversación "susurrada" entre humanos y máquinas emergerá una nueva clase de inteligencia colectiva nacida de la resonancia entre ambos.
13. Asegura la IA: Protegiendo a la oveja eléctrica
- Por Brett Smith: Manifestó su preocupación por la seguridad del código cuando se delega la escritura a la IA. Para mitigar estos riesgos, propuso iniciativas concretas como asegurar directamente el código generado, utilizar la herramienta SAIF (Secure AI Framework) para proteger las pipelines y apoyarse en Mitre Atlas, una base de conocimiento pública que recopila las tácticas y técnicas de ataque reales dirigidas contra sistemas de IA.
14. Productividad basada en evidencia científica
- Por Chelsea Tray: Aportó rigor académico al debate presentando varios papers e investigaciones científicas que evalúan el impacto real de la IA, entre ellos estudios sistemáticos sobre la generación de código con LLMs, las limitaciones de contexto (Lost in the middle) y experimentos de campo sobre los efectos de la IA generativa en el trabajo altamente cualificado. Los papers recomendados son:
- A systematic evaluation of large language models for generating programming code
- Lost in the middle: How language models use long context
- Evaluating the performance of Large Language Models in competitive programming: A multi-year, multi-grade analysis
- The effects of generative AI on high skilled work. Evidence from three field experiments with software developers
15. Ingeniería de evaluación: El fin del “machine learning” como lo conocemos
- Por Lili Jiang: Explicó mediante tres casos reales cómo la ingeniería de Machine Learning se está transformando en Eval Engineering. En este nuevo escenario, las métricas fijas se convierten en algoritmos de evaluación dinámicos y complejos. Jiang propone un cambio fundamental de enfoque: en lugar de revisar estáticamente el rendimiento frente a un Ground Truth inamovible, la clave actual de los proyectos de IA radica en analizar de forma continua el Delta (la variación o cambio respecto a un estado anterior).
Conclusiones generales
La conferencia de O'Reilly deja claro que la Inteligencia Artificial no viene a reemplazar al desarrollador, sino a redefinir por completo su profesión. Al analizar las ponencias en su conjunto, se pueden extraer cuatro grandes conclusiones sobre el futuro de la industria:
- El desarrollador como director y revisor: La escritura mecánica de líneas de código está pasando a un segundo plano. El nuevo rol del programador exige un fuerte pensamiento crítico, habilidades de diseño arquitectónico y una gran capacidad de abstracción. La IA "ejecuta", pero el humano debe "orquestar" y, sobre todo, auditar los resultados para evitar fallos de lógica o de diseño.
- De herramientas aisladas a ecosistemas de agentes: El futuro técnico no pertenece a un único modelo masivo y aislado, sino a redes de agentes especializados y conectados. El auge de protocolos abiertos como MCP demuestra que la industria se está moviendo hacia un estándar donde las IA puedan comunicarse de forma segura con bases de datos, aplicaciones y entre ellas mismas para resolver tareas complejas de forma autónoma.
- La brecha de experiencia (Senior vs. Junior): Existe una preocupación transversal sobre la formación de los nuevos talentos. Dado que la IA es una aliada excelente para optimizar la productividad de perfiles experimentados, pero un riesgo si se usa sin supervisión, la industria se enfrenta al reto de enseñar a los desarrolladores junior a pensar con la IA y no simplemente a delegar en ella de forma ciega.
- Una nueva metodología: Seguridad y Evaluación Continua: El desarrollo moderno asistido por IA requiere nuevas disciplinas de control. Frameworks de seguridad como SAIF o metodologías como la Ingeniería de Evaluación (Eval Engineering) se vuelven indispensables. Ya no basta con que el código funcione una vez; los equipos deben implementar sistemas automatizados para medir constantemente el impacto de los cambios (Delta) y blindar el software ante vulnerabilidades específicas de los modelos de lenguaje.
En definitiva, la programación ya no se trata de dominar la sintaxis de un lenguaje, sino de saber comunicar el contexto, estructurar los problemas y evaluar rigurosamente los resultados generados por la máquina.