YOUR NEXT CHAPTER
Backend Engineer
About the role
• Desarrollar y evolucionar servicios que controlan el flujo de llamadas en tiempo real, incluyendo originación, control de llamadas, entrega de eventos, webhooks, rate limiting, listas negras y métricas.
• Conectar el core de telefonía con la capa de aplicación manteniendo baja latencia, alta disponibilidad y comportamiento predecible bajo carga.
• Desarrollar APIs HTTP y WebSocket para orquestar llamadas en curso entre la aplicación y el core de voz, utilizando contratos OpenAPI y webhooks firmados con HMAC-SHA256.
• Trabajar con FreeSWITCH vía ESL para implementar originación, TRANSFER, BRIDGE, grabación, reproducción, streaming de audio, IVR y captura de DTMF.
• Trabajar con arquitecturas orientadas a eventos usando Kafka, ZeroMQ, Redis, distributed locks y transactional outbox.
• Implementar y evolucionar rate limits por carrier, listas negras, control de concurrencia, tarificación y métricas operativas.
• Desarrollar servicios de síntesis de voz integrando múltiples motores TTS, caché por contenido y streaming de baja latencia.
• Trabajar con detección de buzón de voz y voicebots con audio bidireccional.
• Desarrollar integraciones con LLMs mediante herramientas MCP para iniciar o finalizar llamadas, reproducir audio y controlar streams.
• Desarrollar pruebas automatizadas y asegurar la calidad de los servicios en producción.
• 3–6+ años de experiencia construyendo backends en producción, con responsabilidad real sobre los sistemas que desarrollaste y operaste.
• Dominio sólido de al menos uno de estos lenguajes y disposición real para trabajar con los otros: Go, Python (asyncio) o PHP/Laravel.
• Experiencia práctica con concurrencia, incluyendo async/await, goroutines, queues, workers y race conditions, entendiendo por qué un sistema se degrada bajo carga.
• Experiencia con arquitecturas orientadas a eventos, incluyendo brokers o colas en producción, idempotencia, retries, backpressure y entrega al menos una vez.
• Experiencia con WebSockets y comunicación bidireccional en tiempo real.
• Buen manejo de SQL y experiencia con MySQL 8, incluyendo índices, execution plans, connection limits y migraciones reversibles.
• Mentalidad orientada a performance y resiliencia, pensando en p99, modos de falla y comportamiento bajo carga, no solamente en el camino feliz.
• Inglés técnico funcional para documentación, herramientas y comunicación básica con vendors o soporte.
• Experiencia utilizando IA como parte del proceso de desarrollo, incluyendo asistentes de código, agentes, generación de pruebas o documentación.
• Será un plus contar con experiencia con FreeSWITCH, Asterisk, Kamailio, RTPEngine, SIP, RTP o WebRTC.
• Será un plus contar con experiencia con Kafka, ZeroMQ, Redis Streams u otras tecnologías de mensajería distribuida bajo carga sostenida.
• Será un plus contar con experiencia integrando LLMs en productos reales, incluyendo APIs de modelos, agentes, RAG, MCP o automatizaciones como n8n.
• Será un plus contar con experiencia con STT/TTS o pipelines de audio, incluyendo FFmpeg, transcodificación, streaming o normalización a PCM.
• Será un plus contar con experiencia con ClickHouse u otros almacenes columnares para analítica de alto volumen.
• Será un plus contar con conocimientos suficientes de Kubernetes para depurar servicios en producción.
• Será un plus contar con experiencia con React, TypeScript o Inertia.
• Será un plus contar con experiencia con OpenTelemetry y prácticas de observabilidad.
• Salario competitivo en USD.
• Trabajo 100% remoto en todo LatAm.
• Ambiente de trabajo dinámico y colaborativo.
• La oportunidad de trabajar sobre sistemas de voz en tiempo real, arquitecturas distribuidas y aplicaciones de IA en producción.