1. El nuevo paradigma del desarrollo de software [0]

thumbnail El sector del desarrollo de software ha cambiado para siempre con la llegada de la inteligencia artificial, lo que requiere que los desarrolladores se adapten y aprendan a dirigir la IA con criterio.

1.1. El impacto de la inteligencia artificial en el desarrollo de software [4]

  1. La inteligencia artificial (IA) ha transformado el sector del desarrollo de software, y es crucial comprender su impacto actual [4].
  2. La IA ofrece muchas oportunidades, ya que la educación ha cambiado, facilitando el aprendizaje de nuevas habilidades [24].
  3. En el desarrollo de software, la IA genera cada vez más código, lo que significa que los desarrolladores deben convertirse en "el nuevo eslabón" que dirige a los agentes de IA [26].
  4. El mercado laboral busca un nuevo perfil profesional, ya que el sector y la educación han evolucionado [28].
  5. La IA ya ha cambiado todo en el presente, y los desarrolladores deben superar el miedo a ser reemplazados, ya que la IA los hace evolucionar y los lleva al siguiente nivel [32].

1.2. Estadísticas y tendencias del uso de la IA en el desarrollo [34]

  1. El uso de la IA en el desarrollo es generalizado, con un 84% de los desarrolladores utilizándola a principios de año, cifra que ha aumentado al 90% [36].
  2. El código nuevo generado por IA también ha crecido, pasando del 41% al 46% [37].
  3. A pesar del aumento en el uso y la generación de código, la confianza en la IA ha disminuido, lo que indica una maduración del sector y la necesidad de supervisar el código generado [39].
  4. El mercado laboral del desarrollo de software, aunque sufrió un cambio, está repuntando y creciendo a un ritmo mayor que otras ofertas de trabajo, según datos de Estados Unidos que suelen reflejarse en el mercado hispano [52].
  5. El sector del desarrollo de software ha cambiado de forma irreversible, y los desarrolladores deben entender esta realidad en lugar de simplemente aprender lenguajes o frameworks [58].

1.3. Claves para el nuevo programador en la era de la IA [62]

  1. El nuevo enfoque implica mantener el control, conocer los fundamentos y añadir las capacidades que la IA ha traído al sector [64].
  2. Crear software no es solo programar; copiar y pegar código de un chat sin entenderlo no es comparable al desarrollo profesional [65].
  3. Los fundamentos son más importantes que nunca, ya que una base sólida es esencial para construir y evolucionar en el sector [67].
  4. Los desarrolladores deben dirigir la IA, que se encarga del trabajo "bruto" y la generación de código, para construir proyectos de software profesionales, escalables y seguros [71].
  5. Utilizar la IA no es opcional, ya que el mercado ya no paga por "teclear", sino por dirigir y revisar la IA [75].
  6. La IA facilita el aprendizaje y la productividad, lo que beneficia tanto a desarrolladores senior (que ya tienen bases sólidas) como a junior (que pueden adelantarse aprovechando la IA) [84].
  7. Las empresas están implementando la IA y contratando a profesionales que saben trabajar con ella de manera profesional, no a quienes la usan por intuición o con métodos antiguos [93].

1.4. Estructura del curso y el concepto de "criterio" [99]

  1. El curso se centrará en sentar las bases, delegar en agentes y utilizar conceptos y tecnologías que encajen en el flujo de desarrollo real [99].
  2. El último día se crearán agentes capaces de interactuar entre sí para desarrollar de forma profesional en 2026 [101].
  3. El programador profesional en 2026 fusiona los fundamentos de la programación con la inteligencia artificial, y su característica principal es el criterio [104].
  4. El criterio es esencial para estar presente en todo el flujo de desarrollo de software, más allá de aprender tecnologías o conceptos [105].
  5. El curso se estructura como una "cebolla" con el programador en el centro, evolucionando desde el programador clásico hasta el que comprende y aplica la IA con criterio [108].
  6. Al finalizar el curso, los participantes estarán por delante del 90% de las empresas a nivel conceptual y práctico, desarrollando proyectos reales con las nuevas bases de la IA [112].

2. Fundamentos de la Inteligencia Artificial e Ingeniería de Arneses [113]

thumbnail

Esta sección explica los conceptos básicos de la IA, cómo funcionan los modelos de lenguaje y la importancia de la ingeniería de prompts y harness para dirigir la IA de manera efectiva.

2.1. Conceptos básicos de la IA y modelos de lenguaje [113]

  1. Es fundamental entender qué es la IA y qué la hace potente antes de utilizarla [114].
  2. La IA es indeterminista, lo que significa que puede dar resultados diferentes cada vez que se le pregunta lo mismo [116].
  3. Para que la IA desarrolle de manera profesional, es necesario guiarla con el concepto de harness (arnés o guardarraíles) [120].
  4. Un gran modelo de lenguaje (LLM) está entrenado con mucha información y funciona de manera probabilística, fragmentando el texto en tokens para predecir la siguiente palabra [130].
  5. Los fundamentos de los modelos de lenguaje incluyen:
    1. Parámetros: valores internos aprendidos que el modelo usa para inferir resultados de forma inteligente [142].
    2. Tokens: cómo el modelo procesa la información (texto, audio, imágenes) para generar resultados [144].
    3. Ventana de contexto: la memoria finita del modelo; cuando se llena, el modelo puede "alucinar" (dar respuestas incorrectas) [146].
  6. Existen modelos de pesos abiertos (código fuente disponible para instalar localmente) y modelos de pesos cerrados (utilizados a través de APIs sin acceso al código fuente) [151].
  7. Es importante usar los modelos con sentido, entendiendo su potencia, coste y velocidad, ya que no siempre se necesitan los modelos más caros o lentos [156].

2.2. Herramientas y rankings de modelos de IA [159]

  1. Existen sitios web como Artificial Analysis y mstats.com que ofrecen rankings de modelos de IA, lo que ayuda a elegir el modelo adecuado según las necesidades del proyecto [161].
  2. El curso será agnóstico en cuanto a herramientas, lo que significa que se pueden usar diferentes plataformas como Cloud Code, OpenAI Codex, GitHub Copilot o Cursor [170].
  3. Todas estas herramientas tienen interfaces similares (chats con histórico), y lo más importante son los fundamentos: si se comprende cómo desarrollar con una herramienta, se sabrá con todas [175].
  4. El instructor utilizará OpenAI Codex por ser de código abierto y muy valorado por la comunidad (200.000 estrellas en GitHub en poco tiempo) [226].
  5. OpenAI Codex permite usar modelos gratuitos y conectar con proveedores de pago como OpenAI o Anthropic, ofreciendo flexibilidad en la elección del modelo [233].
  6. La instalación de herramientas como OpenAI Codex o Cloud Code es sencilla, generalmente a través de una línea de comandos en la terminal [246].

2.3. Ingeniería de prompts y de software [188]

  1. La ingeniería de prompts ha evolucionado: antes se estructuraban los prompts con roles y contextos, pero ahora los modelos son tan inteligentes que pueden estructurar ideas no organizadas [188].
  2. Esto no significa que se pueda lanzar texto "a lo loco", sino que hay una diferencia entre bycoding (programar por intuición para proyectos puntuales) e ingeniería de software (diseñar y construir software de forma sistemática para proyectos profesionales) [194].
  3. El curso se centrará en la ingeniería de software, enseñando a los participantes a convertirse en ingenieros de software actuales que utilizan la IA de manera profesional [201].

3. Ingeniería de Arneses: Agentes y Guardarraíles [207]

thumbnail

Esta sección profundiza en el concepto de agentes de IA, cómo interactuar con ellos, la importancia de la ingeniería de contexto y el uso de Markdown para estructurar las instrucciones.

3.1. Introducción a los agentes de IA [207]

  1. Un agente es un sistema que utiliza un modelo de IA para realizar tareas, y es el siguiente nivel más allá de un simple chatbot [208].
  2. La diferencia clave es que un agente puede interactuar con todo el sistema, planificar, consultar información, tomar acciones, evaluar y ajustar [213].
  3. Los agentes pueden realizar tareas reales como crear, leer archivos o buscar en la web, actuando como un "empleado" al que se le delega trabajo [216].
  4. Para que un agente alcance el desarrollo profesional, es necesario aplicarle "arneses" o "guardarraíles" que lo guíen [219].
  5. Las herramientas de desarrollo actuales, como OpenAI Codex, Cloud Code o Cursor, ya incorporan agentes [220].

3.2. Primeros pasos desarrollando con OpenCode [268]

  1. Para empezar a usar OpenAI Codex, se necesita una terminal (Windows, Linux, MacOS) y se instala con gestores de paquetes como npm o Brew [246].
  2. Una vez instalado, se puede iniciar OpenCode y se presenta una interfaz de chat [269].
  3. La configuración inicial implica elegir un modelo de IA (usando el comando /models) y conectar proveedores (con el comando /connect) si se desea usar modelos de pago o de otras plataformas [296].
  4. Se puede seleccionar la "variante" del modelo, que determina la cantidad de esfuerzo que dedicará a una tarea, afectando el consumo de tokens y el tiempo de respuesta [332].
  5. El primer paso para usar un agente es pasarle un prompt estructurado, que puede incluir el rol, contexto y tarea, para que empiece a construir la aplicación [342].
  6. OpenCode permite ver el estado de la ventana de contexto (tokens, gasto) y ofrece comandos para gestionar el desarrollo:
    1. /sessions: permite ver y retomar sesiones anteriores, manteniendo el contexto [385].
    2. /undo: revierte la última ejecución, volviendo el código y el mensaje al punto anterior [397].
    3. /redo: permite avanzar si se ha deshecho una acción [405].
    4. /diff: muestra los cambios realizados en el código en la última ejecución [407].
    5. !: cambia al modo Shell para ejecutar comandos de terminal sin salir de la interfaz del agente [415].

3.3. Ingeniería de contexto: AGENTS.md, reglas y memoria [422]

  1. La ingeniería de contexto es crucial para el programador profesional, ya que implica seleccionar, organizar y actualizar la información para que el agente reciba lo más relevante y se comporte como un desarrollador experto [428].
  2. Para comunicarse con los agentes, se recomienda usar Markdown, un formato de texto sencillo que permite estructurar la información (roles, contextos, listas) y facilita la comprensión por parte de la IA [434].
  3. El archivo agents.md es la primera capa de instrucciones que orienta a los agentes sobre cómo trabajar, conteniendo información que no deben olvidar [446].
  4. Este archivo debe ser conciso (30-40 líneas) y reflejar los principios básicos e inamovibles del proyecto, ya que los agentes lo leen automáticamente antes de cada ejecución [490].
  5. Se puede generar un archivo agents.md inicial con el comando /init, que el agente crea basándose en el contexto actual del proyecto [462].
  6. Además del agents.md, se pueden crear ficheros de reglas secundarios y un fichero de memoria (memory.md) para guardar información persistente que no es tan crítica como las reglas principales, pero que el agente no debe olvidar entre sesiones [496].
  7. La memoria debe ser actualizada continuamente por el agente al finalizar cada tarea, lo que se logra añadiendo esta instrucción en el agents.md [537].

4. El poder del modo plan y próximos pasos [541]

thumbnail

Esta sección explica la funcionalidad del modo plan en los agentes de IA, su utilidad para la planificación de tareas y los próximos pasos del curso.

4.1. El modo plan en los agentes de IA [541]

  1. Además del modo build (construcción), los agentes tienen un modo plan que les permite pensar y planificar antes de ejecutar una tarea [541].
  2. El modo plan es útil para tareas grandes, refactors o cuando se necesita supervisión, pero no para tareas pequeñas, correcciones obvias o prototipados rápidos [556].
  3. Para activar el modo plan en OpenCode, se usa Shift + Tab o el comando /agents para alternar entre los modos plan y build [553].
  4. Al usar el modo plan, el agente no modifica el código directamente, sino que presenta un plan de acción, aclara requisitos, detecta riesgos y plantea dudas al desarrollador [577].
  5. El desarrollador puede interactuar con el agente en modo plan para refinar el plan, tomar decisiones y, una vez satisfecho, cambiar al modo build para que el agente implemente los cambios [583].
  6. El modo plan también permite al agente actualizar el agents.md y el memory.md con los aprendizajes y decisiones tomadas durante la planificación y ejecución [595].

4.2. Ejercicio y próximos pasos del curso [605]

  1. Se propone como ejercicio practicar la metodología aprendida, añadiendo una nueva funcionalidad a la aplicación de diario de estudio, siguiendo los pasos de fundamentos de IA, agentes, memoria y modo plan [610].
  2. El curso continuará con las siguientes fases, que incluyen aprender a delegar con más confianza, aprovechar los beneficios de los agentes, integrar la IA en el flujo de trabajo y aplicar la metodología Spec Drive and Development [616].
  3. El objetivo final es que los participantes se conviertan en programadores actuales que utilizan la IA con control, conciencia y profesionalidad [621].