.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.TareasPrecisamos 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.RequisitosLas 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