Descripción de la oferta
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. 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. 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). Estándares de calidad/seguridad: static analysis, sanitizers, MISRA/CERT (si aplica al dominio). #J-18808-Ljbffr