Resumen
Build modern software in a world where AI makes writing code easier—but designing great systems still takes skill. This program helps you strengthen core software engineering practices, including architecture patterns, system design, and test-driven development, while learning how to use AI tools thoughtfully and effectively.
You'll learn to design systems that are robust, reliable, modular, and scalable, and to evaluate AI-generated code with confidence. By the end, you won’t just ship working software—you'll think like an experienced engineer, ready to design, evolve, and own complex systems in real-world environments.
Programa
- Desarrollo Guiado por Pruebas
Gana confianza en tu software con el Desarrollo Guiado por Pruebas (TDD). Practica el ciclo rojo-verde-refactor con Python y pytest—escribiendo pruebas antes de escribir tu código. Aprende cómo se combinan las pruebas unitarias, de integración y de extremo a extremo para proporcionar una red de seguridad integral. Organiza suites de pruebas limpias utilizando técnicas avanzadas: fixtures, mocking y parametrización. Despliega con confianza a gran escala incorporando pruebas en CI/CD y listas de verificación previas al vuelo. Aprovecha TDD para usar herramientas de IA de la manera correcta—codifica tus requisitos como pruebas, luego deja que la IA ayude a implementar el código que las pasa. Al final de este curso, podrás refactorizar con confianza, detectar regresiones tempranamente y enviar características más rápido con menos riesgo.
- Patrones de Diseño
Construye una base sólida en el diseño orientado a objetos aplicando patrones de diseño de software probados en Python. Explora patrones creacionales, estructurales y de comportamiento, y ve cómo cada categoría aborda desafíos comunes al construir sistemas flexibles, reutilizables y escalables. Aprende por qué estos patrones van más allá del "sentido común" y representan décadas de conocimiento acumulado de ingeniería. Practica traduciendo ideas abstractas en código claro y mantenible. Al final de este curso, comprenderás cómo los patrones de diseño se conectan con los principios SOLID, la inyección de dependencias y los flujos de trabajo modernos de desarrollo asistido por IA.
- Patrones de Arquitectura de Software
Diseña sistemas que escalen más allá de una sola base de código. Aprende a pensar como un arquitecto de software explorando patrones arquitectónicos probados, diseño nativo de la nube y compensaciones de sistemas del mundo real. Modela aplicaciones usando arquitecturas monolíticas y dirigidas por eventos, diagrama sistemas complejos y entiende las bases de la microservicios y la computación sin servidor. Diseña rutas de datos y estrategias de almacenamiento, razona sobre la arquitectura de sistemas de aprendizaje automático y toma decisiones informadas sobre el almacenamiento en caché, CDNs, IoT y sistemas blockchain. Al final, estarás equipado para pasar de "código funcional" a arquitecturas bien diseñadas y resilientes adecuadas para sistemas modernos de software.
- Ingeniería de Vibe
Domina las habilidades profesionales para desarrollar software de calidad de producción con asistentes, agentes y herramientas de IA. Aprenderás a revisar código generado por IA en busca de riesgos de calidad, seguridad y fiabilidad, y dominar la comunicación estructurada para prevenir errores comunes como alucinaciones y sobreingeniería. Al integrar la IA en todo el ciclo de desarrollo, desde la planificación y codificación hasta las pruebas y la documentación, construirás software más rápido manteniendo los estándares de ingeniería y la responsabilidad profesional.
Impartido por
Liam Stevens, Laura Morinigo, Afreen Aliya and Bruce Cantarim
Materias
Computer Science