Knock, knock, Embedded Developer...
Wake up

... and follow the Red, Green, Refactor Test-Driven Development cycle

Agilidad y XP para Embebidos

Artesanía e Ingeniería de Software Embebido

¿Puedes evolucionar tu firmware de manera sostenida?

Introducción a 'Desembebiendo' sistemas embebidos con TDD

Software Embebido Portable y Multi-platforma

Debemos ser capaces de migrar nuestro producto con un esfuerzo mínimo, prácticamente inexistente

Para ser rentables, las soluciones embebidas deben estar desacopladas de aspectos volátiles, como:

  • La PCB y sus compomentes internos y externos

  • El procesador o microcontrolador usado

  • Cualquier librería de terceros, incluyendo frameworks, herramientas y librerías de fabricante

ADC reading Processor Abstraction Layer

Lectura de una variable analógica a través de la capa PAL (Processor Abstraction Layer) implementada mediante static Template Method

Saber cómo

Debug-on-Hardware prácticamente eliminado del proceso de desarrollo software

El uso del hardware debería ser innecesario para desarrollar nuestra aplicación embebida

  • Desde las Entidades de Negocio hasta las tareas relacionadas con los Registros Especiales de Función (SFRs)

  • Capacidad para desarrollar desde cualquier lugar del mundo

  • Caras herramientas propias del desarrollo hardware (osciloscópios, generadores de señal, etc) innecesarias durante el 99% del tiempo

  • Mayor competitividad gracias a soluciones portables y multi-plataforma

  • Escapa del desarrollo tipo Plug & Pray

  • ¡Abraza un desarrollo Plug & Play real!

Hardware and microcontroller
Saber más

Dual-target Embedded Test-Driven Development

Absolutamente todo cambia cuando aseguramos que nuevo código funciona bajo propósito mientras que el código antiguo continua funcionando como lo hacía un minuto antes

  • Software Embebido desarrollado incrementalmente a través de un bucle de feeedback de duración menor de un minuto
  • 100% comprobado al menos sobre dos arquitecturas de procesador diferentes
  • Exhaustivas especificaciones automatizadas
  • Mejores patrones de sueño y menor burn out en todo el equipo
  • Herramientas Out-of-the-Box: mutation testing, analizadores estáticos y dinámicos
Saber cómo

¿Puedo ayudar?

Experiencia Contrastada

 

Sobreviviendo entre el hardware y el software desde 2005. 

¿Horas extras, estrés, plazos incumplidos,  sensación de no tener el control sobre tu código? 

¡Deja atrás el modo superviviencia y aprende como gobernar (de nuevo) el desarrollo de tu sistema embebido!

 

Ligando Artesanía e Ingeniería del Software

¿Todavía no desarrollas bajo el soporte de un bucle de feedback menor del minuto?

Si no es así, posiblemente aún no conozcas tu mejor versión como desarrollador.  

Utiliza prácticas técnicas avanzadas (SOLID, TDD, Design Patterns, Mutation testing...) incluso en pequeños microcontroladores bare-metal

 

Cursos articulados bajo C/C++ 

Diseña y desarrolla software embebido portable en lugar de firmware ligado a un hardware específico

Utiliza técnicas de desarrollo de software que facilitan una arquitectura desacoplada, evolutiva y portable.

Proceso de aprendizaje práctico a través de ejemplos que se ejecutan en sistemas embebidos reales 

 

 

  • Principios SOLID y Patrones de Diseño
  • Architectura, Test-Driven Development, dobles de prueba y manejo controlado de acoplamiento y cohesión
  • Tests Unitarios, Integración y de Sistema, ejecutados tanto en el Host de desarrollo (Linux PC) como en el microcontrolador destino
  • Ejemplo práctico real desarrollado siguiendo TDD desde cero
  • Refactoriza código embebido siguiendo pasos pequeños: la regla del Boy Scout

¿Qué opinan quienes han asistido?

 

 

¡Excelente curso! Su punto de vista sobre las buenas prácticas de desarrollo en general y en embebidos en particular son realmente interesantes. Los aistentes al curso terminaron con gran motivación, una buena colección de recomendaciones prácticas y muy satisfechos en general. ¡Lo recomiendo sin duda alguna!

Iván Gómez Rodríguez

Lead Software Developer at ThoughtWorks

Nuestro equipo de desarrollo Firmware ha internalizado una manera más rápida y mejor de crear productos de largo recorrido con mayor calidad. Excelente curso, profesional y formador. Muy recomendable

Elías García García

Director R&D en Fermax Technologies

Increíble formación sobre cómo desarrollar firmware siguiendo la metodología TDD, compartiendo experiencias, mejoras y los beneficios que brinda a largo plazo. ¡Gracias por la pasión y motivación que transmites, y por compartir con nosotros tus conocimientos!

David Ferruz Garcia

Senior Software Manager en MaxLinear

¿Estás interesado en aplicar modernas prácticas de ingeniería de software al desarrollo embebido? ¡Este curso es lo que estabas buscando!

Mario Cervera

Software Craftsman en LIFULL Connect

Un enfoque mucho mejor para el desarrollo de software embebido: completamente probado, altamente reutilizable y de mayor calidad desacoplado del hardware

David Sanz Vidal

Principal Embedded SW en Power Electronics

Nos ha ahorrado meses de quebraderos de cabeza en el desarrollo de nuestros proyectos. Un gran curso de un excelente comunicador y mentor en el mundo de Embedded Software Craftmanship.

Pablo Martinez Crespo

CTO Firmware en Cecotec Innovaciones S.L.

Un curso muy interesante, ameno, útil y fácil de seguir para cualquier desarrollador de software, venga o no del contexto de embebidos. ¡Gran curso y experiencia!

José María Martínez Martínez

CTO of Artificial Intelligence en Cecotec Innovaciones S.L.

¡Curso revelador! Aprenderás como desarrollar guiado por pruebas con el objetivo de lograr un código limpio, aplicaciones de mayor calidad, mientras evitas largas fases de depuración

Pablo Soriano

Embeded Systems & Hardware Engineer en Abervian | Energy Solutions