En Indra Group, estamos buscando valor diferencial para nuestras soluciones tecnológicas, uniendo tecnologías digitales modernas con software de alto rendimiento y robustez.
Buscamos un perfil de desarrollador senior para desarrollar aplicaciones distribuidas, fomentar buenas prácticas, mentorizar y guiar al equipo técnico bajo el criterio sólido de una amplia experiencia .
Si estás cansado de dar soporte operativo o simplemente resolver tickets, este rol requiere de capacidad para anticiparse a las necesidades del área, proponiendo mejoras, impulsando nuevas ideas y participando de forma activa en la evolución de nuestras soluciones.
Apúntate con nosotros a fabricar el futuro digital de la defensa.
Requisitos técnicos
Lenguajes de programación de bajo nivel: Dominio de C, C++ o Rust.
Programación de sistemas embebidos:
Experiencia con microcontroladores (ARM Cortex-M, RISC-V, ESP32) y microprocesadores (ARM Cortex-A, i.
MX)
System on Chip (SoC):
Diseño e integración de soluciones basadas en SoC, BSP (Board Support Package), boot loaders (U-Boot), configuración de periféricos
Desarrollo de drivers:
Drivers de kernel Linux (character devices, platform drivers, I2C, SPI, USB), device tree, módulos del kernel
Linux embebido:
Yocto Project, Buildroot, customización de kernel, root filesystem, systemd, optimización de boot time
RTOS:
FreeRTOS, Zephyr, RT-Thread o similar. Diseño de aplicaciones multi-tarea, gestión de prioridades y recursos
Protocolos de comunicación:
I2C, SPI, UART, CAN, USB, Ethernet, protocolos industriales (Modbus, Profibus)
Herramientas de desarrollo:
GDB, JTAG/SWD debugging, toolchains cross-compilation (GCC ARM, LLVM), análisis de consumo energético
Control de versiones y build systems: Git, integración continua para embebidos
Optimización y buenas prácticas:
Profiling, optimización de memoria y rendimiento, código crítico en tiempo real, coding standards (MISRA C)
Deseable conocimiento básico de contenedores y orquestación.
Cualificaciones
Grado en Ciencias de la Computación (o campo relacionado)
Más de 10 años de experiencia laboral relevante
Experiencia con metodologías de desarrollo de software Agile o Scrum
Capacidad para realizar múltiples tareas, organizar y priorizar el trabajo