Estamos reclutando un Desarrollador de software en lenguaje C++ para trabajar en proyectos innovadores en xGMobile en Redes 5G y 6G, en el área de Radio Definido por Software, o Software Defined Radio (SDR), para una de las instituciones más influyentes en el ecosistema de telecomunicaciones, con fuerte participación en investigación avanzada, proyectos estratégicos y desarrollo de nuevas soluciones.
Responsabilidades y atribuciones:
- Diseñar, desarrollar, optimizar, probar y validar algoritmos de procesamiento de señales digitales (DSP) en C++ para sistemas de radio definido por software;
- Desarrollar algoritmos de comunicación digital, incluyendo modulación, demodulación, códigos de corrección de errores, filtrado, estimación y ecualización de canal;
- Trabajar con plataformas de desarrollo de software SDR como GNU Radio;
- Analizar y optimizar código C++ para mejorar el rendimiento en procesadores de múltiples núcleos;
- Utilizar técnicas de perfilado, paralelización y SIMD (Single Instruction, Multiple Data) para la optimización del procesamiento de señales;
- Desarrollar software con requisitos de baja latencia y alta confiabilidad;
- Crear y ejecutar pruebas unitarias y de integración para la validación de algoritmos;
- Integrar y probar soluciones con hardware SDR y redes reales;
- Documentar especificaciones técnicas, arquitecturas de software y algoritmos implementados;
- Participar en revisiones de código y garantizar el cumplimiento de los estándares de desarrollo de software para sistemas críticos;
- Liderar técnicamente el desarrollo de actividades de investigación y desarrollo;
- Elaborar propuestas de nuevos proyectos;
- Apoyar el desarrollo de Proyectos de Iniciación Científica en su área de conocimiento, actuando en la orientación de estudiantes, en la escritura y en la revisión de artículos, whitepapers y informes con los resultados obtenidos.
Requisitos y calificaciones:
- Formación superior completa en Ingeniería Eléctrica, Ingeniería de Telecomunicaciones, Ingeniería de Computación o áreas afines;
- Experiencia en el área de desarrollo de software;
- Inglés avanzado.
Domínio en:
- Lenguaje C/C++ con desarrollo orientado a objetos;
- Sistema operativo Linux, compilador gcc, cmake, directivas de compilación;
- Herramientas de control de versiones de código, como Git;
- Uso de hilos (std::thread, std::mutex, std::future, std::condition_variable) para procesamiento paralelo;
- Conocimientos en: Sistemas multi-hilo, semáforos, mutex, directivas de optimización de procesamiento de datos.
Sería interesante si tuvieras:
- Experiencia en Python y MATLAB;
Conocimientos en:
- Técnicas de procesamiento digital de señales y algoritmos de comunicación, como sincronización, modulación/demodulación, códigos correctores de errores, estimación de canal y ecualización,
- Rendimiento y baja latencia: diseño de pipelines concurrentes con colas SPSC/zero-copy; vectorización SIMD (AVX2/AVX-512/NEON).