Desarrollador Senior de C++ para Algoritmos de Corrección de Errores | Remoto
Remoto
Jornada completa
Buscamos un desarrollador C++ de alto nivel para incorporarse a nuestro prestigioso equipo de ingeniería especializado en sistemas embebidos. En este desafiante rol, será responsable de implementar el algoritmo de corrección de errores "Polar Codes" para una plataforma embebida armv7m. Este proyecto estratégico requiere profundos conocimientos de C/C++, dominio de estructuras de datos avanzadas y capacidad para optimizar algoritmos en entornos con recursos limitados.
Responsabilidades Principales
- Seleccionar parámetros óptimos para algoritmos "Shortened Polar Codes" basados en requisitos específicos del proyecto y métricas de rendimiento establecidas.
- Desarrollar una implementación eficiente y de alto rendimiento en C/C++ sin utilizar aritmética de punto flotante, garantizando un procesamiento ágil de datos.
- Adaptar código existente de bibliotecas disponibles, analizando su funcionamiento y modificándolo según las especificaciones técnicas requeridas.
- Optimizar el rendimiento algorítmico para maximizar la eficiencia en el procesamiento de paquetes de datos en sistemas con recursos limitados.
- Ejecutar pruebas exhaustivas para verificar la precisión, robustez y eficiencia del algoritmo implementado bajo diversas condiciones de operación.
- Documentar meticulosamente el código, decisiones arquitectónicas y parámetros de implementación para facilitar el mantenimiento futuro.
- Colaborar estrechamente con el equipo técnico para integrar el algoritmo en el ecosistema del sistema embebido existente.
- Resolver problemáticas complejas relacionadas con la implementación de codificadores y decodificadores en entornos con restricciones de recursos.
Requisitos Técnicos
- Mínimo 5 años de experiencia demostrable en desarrollo con C/C++ (C++11/14/17/20), con énfasis en optimización de código.
- Conocimiento profundo de estructuras de datos y algoritmos, con capacidad para analizar complejidad computacional y optimizar rendimiento.
- Experiencia sólida en desarrollo para sistemas embebidos, preferiblemente en arquitecturas ARM Cortex-M.
- Familiaridad con algoritmos de procesamiento de señales digitales y técnicas de corrección de errores en comunicaciones.
- Comprensión avanzada de principios de teoría de información, codificación y técnicas de corrección de errores.
- Experiencia comprobada en optimización de código para entornos con recursos limitados y restricciones de rendimiento.
- Habilidad para analizar, comprender y adaptar eficientemente código de bibliotecas existentes a nuevos requisitos.
- Dominio de herramientas de desarrollo, depuración y perfilado para sistemas embebidos.
Competencias Valoradas
- Experiencia previa implementando algoritmos Polar Codes u otros códigos de corrección de errores avanzados.
- Conocimiento práctico de GNU Radio y sus implementaciones de algoritmos de codificación para comunicaciones.
- Experiencia significativa en procesamiento digital de señales (DSP) y su implementación eficiente.
- Familiaridad con estándares modernos de comunicación que utilizan técnicas sofisticadas de corrección de errores.
- Dominio de C++ moderno (C++17/20) y técnicas de optimización avanzadas para sistemas con recursos limitados.
- Sólidos conocimientos de matemáticas aplicadas, particularmente álgebra lineal y teoría de probabilidad.
- Experiencia en desarrollo de software para sistemas de comunicación inalámbrica y protocolos de transmisión de datos.
Especificaciones del Proyecto
- Tamaño del paquete de datos: 27 bytes (32 bytes, de los cuales se acortan 5 bytes).
- Cantidad de datos útiles en el paquete: 18 bytes.
- La variante específica del algoritmo de decodificación es negociable según los requerimientos de rendimiento.
- Se proporcionarán recursos especializados para la selección de parámetros del algoritmo y simulación de rendimiento.
- Se facilitará acceso a bibliotecas con implementaciones de codificador y decodificador (posiblemente sin soporte para códigos acortados).
- Modalidad: Tiempo completo, 100% remoto con flexibilidad horaria.
- Incorporación: Inmediata.
¿Por Qué Incorporarse a Nuestro Equipo?
Ofrecemos la oportunidad de trabajar con tecnologías de vanguardia en el campo de la corrección de errores y sistemas de comunicación avanzados. Como integrante de nuestro equipo técnico, dispondrá de autonomía para innovar y aportar soluciones creativas a problemas algorítmicos complejos. Valoramos la excelencia técnica y fomentamos un entorno colaborativo donde podrá desarrollarse profesionalmente mientras contribuye a proyectos de alto impacto que definen el futuro de los sistemas de comunicación de próxima generación.