.Somos una empresa líder en nuestro sector, fabricante de productos tecnológicos para instaladores y para el sector de gran consumo, precisa incorporar en su equipo, dentro del departamento de I+D a un Desarrollador senior de software embebido en sistemas Linux. Tareas Precisamos incorporar a un profesional apasionado, con experiencia, con gusto por trabajar en equipo, que contribuya al diseño e implementación de estas prácticas y que ayude a construir sistemas tecnológicamente avanzados, seguros y confiables. En el equipo de I+D desarrollan sus sistemas de manera integral, abarcando desde el diseño mecánico hasta las aplicaciones de usuario, incluyendo la electrónica y el software embebido. Hay un esfuerzo constante por alcanzar el objetivo principal: ofrecer valor a los clientes y usuarios finales. DESEMPEÑO PRINCIPAL: ¿Qué tareas debe desempeñar el candidato? Desarrollo, verificación y revisión de aplicaciones de SW embebido en sistemas Linux y en microcontroladores:Protocolos de comunicaciones de baja latencia, streaming de audio, gestión de memoria y optimización del uso de los recursos del microcontrolador, protocolos de descubrimiento, gestión de usuarios, transferencia de archivos, diseño particiones, sistema de actualizaciones en remoto, drivers, seguridad funcional y ciberseguridad... JORNADA DE TRABAJO: (Información destacada por parte del responsable de I+D de la empresa:) "Nos gusta trabajar en equipo y de forma cercana, pero también la flexibilidad y la conciliación. Nuestro trabajo con la electrónica suele requerir el uso de los equipos de medición del laboratorio, por eso trabajamos con un formato híbrido de 2 días en remoto y 3 en nuestras instalaciones. Requisitos Las competencias que se precisan para esta candidatura son las siguientes: Capacidad de trabajo en equipo. Conocimientos avanzados en C y C++. Experiencia en desarrollo y depuración de SW embebido en sistemas Linux. Experiencia con microcontroladores y RTOS. Experiencia en programación concurrente/asíncrona, manejo de procesos, hilos, etc. Conocimiento en la aplicación de patrones de diseño. Conocimientos de seguridad a nivel de código. Experiencia en depuración a bajo nivel y ensamblador. Experiencia aplicando buenas prácticas de programación y TDD. Experiencia en refactorización de código existente. Experiencia en manejo de interfaces de comunicación (I2C, UART, SPI...). Experiencia con protocolos de red (UDP, TCP, FTP...). Experiencia en utilización de herramientas y metodologías DevOps: GIT, Jenkins... Generación de imágenes de flasheo. Creación de distribuciones personalizadas con Yocto. COMPETENCIAS RECOMENDABLES A TENER EN CUENTA: Bash scripting. Desarrollo de drivers en Linux. Desarrollos con DSPs y algoritmos de procesado de audio. Experiencia en IoT. Inglés técnico. La formación requerida es orientativa, lo más relevante es disponer de los conocimientos y de la experiencia que se describen en el conjunto de la oferta de empleo