Cardata
Octasic
Desarrollador de Software Embebido y Herramientas de Campo
Sobre el puesto
Buscamos un ingeniero de software C++ con mentalidad de sistemas para encargarse del diseño, desarrollo y mantenimiento de herramientas internas utilizadas para pruebas de modo RF, monitorización de sistemas en tiempo real y análisis de logs en toda nuestra cartera de productos.
Trabajarás en la intersección de protocolos de comunicación embebidos y pruebas de sistemas RF, creando herramientas en las que los equipos de producto confían a diario para evaluar y validar la calidad de nuestros productos. A medida que nuestras herramientas continúan expandiéndose a través de líneas de productos y despliegues de campo, desempeñarás un papel central en hacerlas escalables, mantenibles y adaptables con cada lanzamiento.
Colaborarás estrechamente con:
- Desarrolladores de software;
- Ingenieros de hardware y RF;
- Pruebas de sistemas y de campo.
Qué harás
Desarrollo y Arquitectura de Herramientas
- Diseñar, desarrollar y mantener el motor de herramientas principal y sus módulos, principalmente en C++ y PY, siguiendo estándares de codificación limpios y mantenibles;
- Construir y mantener capas de comunicación de cliente/servidor TCP socket y HTTP en C++ para interactuar con subsistemas embebidos y servicios backend;
- Desarrollar interfaces C++ para controlar y consultar instrumentos externos de laboratorio de RF (medidores de potencia, generadores de señales, analizadores de espectro) a través de protocolos estándar de control de instrumentos;
- Escribir scripts Python para soportar la automatización, lógica de pegamento y prototipado rápido donde sea apropiado — Python complementa, pero no reemplaza, a C++ como lenguaje de desarrollo principal.
Pruebas de Modo RF
- Implementar y soportar funcionalidades de prueba de modo RF, incluyendo pruebas de sensibilidad del receptor, generación de señales de modelos de prueba y pruebas de formas de onda;
- Extender el soporte de herramientas para pruebas de conformidad de transmisión/recepción e integración de REST API.
Monitorización en Tiempo Real y Dashboards
- Desarrollar y mantener un sistema de monitorización, análisis y gestión de datos para productos Octasic, respaldado por un FW C++ y PY que sirve estado del sistema en tiempo real;
- Construir pipelines de análisis de captura de paquetes en tiempo real para monitorización en vivo de campo;
- Soportar la evolución continua del análisis de datos y la monitorización, agregando telemetría y datos del sistema para soportar el análisis de rendimiento, la generación de informes de KPIs, la resolución de problemas y la validación de nuestros productos de comunicación inalámbrica;
- Soportar flujos de trabajo de análisis de logs offline y generación automatizada de informes (métricas de llamadas, métricas de escaneo, tasas de registro).
Integración de Pipelines de Datos y Análisis
- Integrar funcionalidades de herramientas con una plataforma de datos utilizando arquitectura de message broker, almacenamiento en base de datos relacional y visualización en dashboards;
- Soportar extensiones del pipeline de datos: geolocalización, posicionamiento y recopilación periódica de telemetría;
- Contribuir al rendimiento y la fiabilidad del pipeline: threading, manejo de errores, versionado de esquemas.
Cualificaciones
- Título de Grado en Ingeniería de Software, Ingeniería Informática, Ingeniería Eléctrica, Informática o experiencia práctica equivalente;
- Experiencia sólida y práctica en desarrollo C++ y Python — este es el lenguaje principal del puesto; los candidatos deben sentirse cómodos escribiendo código C++ de calidad de producción;
- Experiencia con programación de sockets TCP y comunicación cliente/servidor HTTP para integración hardware-software;
- Familiaridad con conceptos de pruebas RF o control de instrumentación de laboratorio (generadores de señales, analizadores de espectro, medidores de potencia);
- Experiencia práctica con captura de paquetes y análisis de red (Wireshark o equivalente);
- Experiencia con Git, entornos Linux, y flujos de trabajo de desarrollo colaborativo;
- Sólidas habilidades de depuración y análisis de causa raíz en sistemas integrados de hardware/software.
Se valorará
- Experiencia con aplicaciones C++ multihilo — programación concurrente, seguridad de hilos y optimización de rendimiento;
- Experiencia con conceptos de capa PHY LTE/5G — sensibilidad del receptor, modelos de prueba, pruebas de formas de onda, control de potencia, predistorsión;
- Experiencia con ingeniería de datos: message brokers (MQTT, Kafka), pipelines ETL, diseño de bases de datos relacionales (PostgreSQL), herramientas de dashboarding (Grafana, Prometheus);
- Familiaridad con pytest y Playwright para frameworks de automatización de pruebas;
- Experiencia con diseño e integración de REST API;
- Experiencia en sistemas de comunicación críticos, de defensa o aeroespaciales;
- Familiaridad con stacks de telecomunicaciones embebidos y software embebido en tiempo real.
