
Restate ofrece una plataforma de ejecución duradera para desarrolladores que crean agentes de IA, flujos de trabajo y servicios backend resilientes. Su runtime ligero conserva el progreso de las aplicaciones y reanuda las tareas interrumpidas tras los fallos, reduciendo la necesidad de desarrollar lógica de recuperación e infraestructura personalizada. Los equipos pueden definir pasos duraderos en TypeScript, Python, Go, Java/Kotlin o Rust, y ejecutarlos en entornos autogestionados o plataformas en la nube. Basado en un runtime de Rust de alto rendimiento, Restate está diseñado para aplicaciones de larga duración, impulsadas por eventos y distribuidas, incluida la orquestación de agentes de IA.
Ingeniero de Backend, Sistemas Distribuidos — Remoto en Estados Unidos
Construye el runtime de ejecución durable de Restate para aplicaciones confiables y escalables. Trabaja con sistemas distribuidos, almacenamiento, mensajería e infraestructura tolerante a fallos.
220.000 $ – 260.000 $ / año
RemotoTiempo completoIntermedioSeniorIdioma Obligatorio: inglésIngeniero de blockchainDescripción
- Desarrollar componentes centrales de backend y sistemas distribuidos
- Desarrollar capacidades de ejecución durable, gestión de estado, mensajería, almacenamiento, concurrencia y tolerancia a fallos
- Crear sistemas confiables y de baja latencia que operen a gran escala
- Mejorar el rendimiento, la escalabilidad y la resiliencia del runtime de Restate
- Definir la arquitectura y el desarrollo continuo de la plataforma central de Restate
- Diseñar sistemas para un funcionamiento confiable en entornos de producción reales
- Investigar y resolver problemas complejos de sistemas distribuidos y producción
- Avanzar en observabilidad, pruebas, recuperación ante fallos y fiabilidad operativa
- Contribuir tanto al software de aplicaciones como a la infraestructura
- Colaborar con equipos de ingeniería que desarrollan sistemas de producción sobre Restate
- Convertir desafíos técnicos del mundo real en mejoras del producto
- Crear implementaciones de referencia, integraciones y herramientas de apoyo según sea necesario
- Participar en debates técnicos, revisiones de diseño y decisiones arquitectónicas
- Transformar problemas técnicos recurrentes en sistemas, herramientas y documentación reutilizables
- Ayudar a establecer prácticas de ingeniería a medida que crecen el equipo y el producto
Requisitos
- Experiencia sólida en ingeniería de backend y desarrollo de sistemas de producción
- Experiencia con sistemas distribuidos, arquitecturas orientadas a eventos o sistemas que involucren concurrencia, estado, mensajería y gestión de fallos
- Dominio sólido de al menos un lenguaje de backend; Rust, Go, Java, C++ u otros lenguajes comparables son especialmente relevantes
- Experiencia diseñando, desarrollando y operando software de producción a escala
- Amplios conocimientos de fiabilidad, rendimiento y diseño de sistemas
- Se valorará la experiencia con bases de datos distribuidas, motores de workflows, sistemas de mensajería o software de infraestructura
- Se valorará la experiencia con Rust u otro lenguaje de programación de sistemas
- Se valorará la experiencia con Kubernetes e infraestructura en la nube
- Se valorará la experiencia con motores de almacenamiento, redes o sistemas de bajo nivel
- Se valorará la experiencia rediseñando o migrando sistemas de producción
- Se valorarán las contribuciones al código abierto o la experiencia desarrollando infraestructura para desarrolladores
- Capacidad para comunicar ideas técnicas con claridad mediante documentos de diseño, debates de arquitectura y código
- Gran sentido de la responsabilidad y capacidad para tener éxito en un entorno en fase inicial
- Capacidad para trabajar directamente con ingenieros a fin de comprender y resolver problemas técnicos prácticos
Beneficios
- Participación accionaria