Desarrollador C
3 days ago
Madrid
🎯 Tu misión Diseñar, desarrollar y evolucionar componentes en C con foco en calidad, rendimiento y mantenibilidad, participando activamente en decisiones técnicas y liderando mejoras de arquitectura, refactorizaciones y estándares de desarrollo. ✅ Responsabilidades • Desarrollar y mantener software en C (C99/C11 según aplique), asegurando robustez y rendimiento., • Diseñar soluciones con enfoque de arquitectura: modularidad, separación de responsabilidades, interfaces claras y mantenibles., • Aplicar buenas prácticas: gestión de memoria, manejo de errores, concurrencia si aplica, y estándares de código., • Depurar problemas complejos (crashes, memory leaks, race conditions, issues de rendimiento) usando herramientas de diagnóstico., • Participar y liderar code reviews, definición de guidelines, refactorizaciones y reducción de deuda técnica., • Colaborar con otros equipos (QA, producto, DevOps/Infra) para asegurar entregas consistentes., • Mentoring y acompañamiento técnico a perfiles mid/junior cuando sea necesario. Requisitos imprescindibles (Must-have) • +5 años de experiencia profesional programando en C (C “real”, nivel senior)., • Dominio de fundamentos: punteros, estructuras, memoria dinámica/estática, ownership, alignment, etc., • Experiencia diseñando software mantenible en C: diseño modular, APIs internas, abstracciones razonables, reutilización., • Conocimientos sólidos de patrones/principios de diseño aplicables a C (modularidad, desacoplo, responsabilidad única) y nociones de arquitectura de software., • Experiencia con herramientas de desarrollo y depuración (según entorno): GDB/LLDB, sanitizers, Valgrind u otras., • Capacidad para liderar iniciativas técnicas (proponer soluciones, priorizar, ejecutar y mejorar el estándar del equipo)., • Trabajo con control de versiones (Git) y buenas prácticas de colaboración. Deseables (Nice-to-have) • Experiencia con CI/CD (automatización de builds, tests, releases)., • Docker y Kubernetes (especialmente si el software se empaqueta/despliega en contenedores)., • Experiencia en Azure (VMs, contenedores, pipelines, observabilidad, etc.)., • Desarrollo de herramientas internas (CLI, utilidades, automatizaciones para el equipo)., • Experiencia con microservicios y diseño/consumo de APIs REST y/o GraphQL (si el producto expone/consume servicios)., • Conocimientos de networking (TCP/IP, sockets), multithreading (pthreads) o IPC (según el producto)., • Build systems: CMake/Make, GCC/Clang, cross-compilation (si aplica)., • Estándares de calidad/seguridad: static analysis, sanitizers, MISRA/CERT (si aplica al dominio).