Puesto: Ingeniero de Firmware Senior – Sistemas Embebidos con RTOS
Resumen del puesto
Buscamos un Ingeniero de Firmware Senior con más de 10- 12 años de experiencia desarrollando software embebido sobre microcontroladores de 32 bits, con un sólido dominio de RTOS y programación en C/C++. Será responsable del diseño, implementación y mantenimiento de sistemas firmware robustos, eficientes y seguros, en productos electrónicos destinados a entornos críticos como movilidad urbana, tráfico o industria.
Responsabilidades principales
Diseño e implementación de firmware en C/C++ sobre microcontroladores ARM Cortex-M u otros MCUs de 32 bits.
Integración de RTOS (FreeRTOS, Zephyr, ThreadX, etc.) y diseño de arquitecturas multitarea.
Desarrollo de controladores de dispositivos y stacks de comunicación (UART, SPI, I2C, CAN, Ethernet, BLE…).
Gestión de interrupciones, timers, watchdogs, bajo consumo, y actualización remota (FOTA).
Validación funcional del firmware mediante simulaciones, pruebas unitarias y pruebas en hardware real.
Colaboración estrecha con los equipos de hardware, QA, software y gestión de producto.
Documentación técnica del firmware (diagrama de estados, estructuras, APIs, logs…).
Contribución a la mejora continua de la arquitectura de software embebido.
Requisitos
Formación:
Ingeniería en Electrónica, Telecomunicaciones, Informática o afines.
Experiencia:
Más de 10 - 12 años desarrollando firmware embebido en entornos industriales o de alta disponibilidad.
Experiencia profunda trabajando con RTOS y arquitecturas multitarea.
Conocimientos técnicos imprescindibles:
Programación en C y conocimientos de C++ (opcional pero valorado).
Microcontroladores de 32 bits (ARM Cortex-M preferido).
Protocolos de comunicación: UART, SPI, I2C, CAN, BLE, TCP/IP, MQTT.
Control de versiones (Git), depuración con JTAG/SWD, uso de osciloscopios y analizadores lógicos.
Buen conocimiento de ciclo de vida del firmware: especificación, diseño, validación, mantenimiento.
Se valorará positivamente
Conocimiento de seguridad en firmware embebido (boot seguro, cifrado, autenticación).
Experiencia con herramientas como STM32Cube, SEGGER, PlatformIO, o similares.
Experiencia con CI/CD para firmware y pruebas automáticas.
Conocimientos básicos de diseño electrónico (lectura de esquemáticos, datasheets).
Inglés técnico (capacidad de leer y redactar documentación técnica con fluidez).
Recuerda que ningún reclutador puede pedirte dinero a cambio de una entrevista o un puesto. Asimismo, evita realizar pagos o compartir información financiera con las empresas.