Lo que harás
- Construir servicios backend en Rust para ingestión, sincronización y procesamiento de operaciones.
- Implementar endpoints y contratos HTTP versionados con validaciones, errores estables y límites explícitos.
- Procesar lotes y eventos con entrega al menos una vez, deduplicando antes de aplicar efectos.
- Implementar idempotencia por mensaje, evento y operación mediante claves estables y restricciones de persistencia.
- Gestionar secuencias por productor, detectar huecos y soportar reanudación desde el último punto reconocido.
- Construir lógica de conciliación para reunir evidencia proveniente de participantes independientes y detectar inconsistencias.
- Modelar operaciones, eventos, evidencia, conflictos y reversiones conservando un historial auditable y de solo agregado cuando corresponda.
- Diseñar y mantener modelos y migraciones en PostgreSQL con transacciones y restricciones que protejan invariantes del dominio.
- Implementar proyecciones de lectura para APIs, reportes y panel sin convertirlas en la fuente de verdad del sistema.
- Construir reintentos, timeouts y recuperación frente a fallas parciales de dependencias.
- Agregar logs estructurados, métricas y trazabilidad por operación para facilitar diagnóstico y operación.
- Crear pruebas de integración para duplicados, concurrencia, sincronización tardía, conflictos, reversión y migraciones.
- Participar en code reviews, CI/CD y documentación de contratos y decisiones de implementación.
Lo que buscamos
- Experiencia desarrollando servicios backend, idealmente con Rust o con capacidad demostrable para trabajar productivamente en Rust.
- Experiencia con sistemas distribuidos u orientados a eventos: idempotencia, reintentos, concurrencia y consistencia eventual.
- PostgreSQL y SQL a nivel sólido: modelado, índices, transacciones, constraints y migraciones.
- Diseño e implementación de APIs HTTP y contratos versionados.
- Experiencia construyendo procesos de sincronización, ingestión o procesamiento asíncrono.
- Capacidad para diseñar operaciones atómicas y razonar sobre condiciones de carrera y efectos duplicados.
- Experiencia con testing de integración y bases de datos reales dentro de pipelines de CI.
- Docker y fundamentos de CI/CD.
- Capacidad para instrumentar servicios con logs, métricas y trazas útiles para producción.
Puntos extra
- Experiencia directa con Rust async / Tokio y Serde.
- Sistemas financieros, transaccionales, conciliación o ledgers.
- Transactional outbox, event sourcing o modelos append-only.
- Sincronización offline-first o clientes que reenvían eventos después de periodos sin conexión.
- Seguridad aplicada a APIs, autenticación de productores y aislamiento multi-tenant.
- Experiencia operando servicios en nube y bases de datos administradas.
- Property-based testing, fault injection o pruebas de resiliencia.
Sueldo: A partir de $15,538.13 al mes
Pregunta(s) de postulación:
- ¿Cuántos años de experiencia tienes desarrollando servicios backend en producción?
- ¿Has trabajado con sistemas distribuidos o procesamiento asíncrono donde existan reintentos, mensajes duplicados, idempotencia o consistencia eventual?
- ¿Qué nivel de experiencia tienes con PostgreSQL y SQL?
- ¿Has desarrollado procesos de sincronización, ingestión o procesamiento de eventos/lotes que deban recuperarse después de fallas, desconexiones o mensajes repetidos?
- Cuéntanos brevemente sobre el sistema backend más complejo que hayas desarrollado. ¿Qué problema resolvía, qué tecnologías utilizaste y qué parte diseñaste o implementaste tú?
- ¿Cuál es tu expectativa económica mensual libre?
Lugar de trabajo: Empleo presencial