Santex busca un Desarrollador Senior React Native con experiencia en Node.js, Typescript y AWS para unirse a su equipo de POS Engineering. El rol implica el desarrollo full-stack de aplicaciones para restaurantes, incluyendo sincronización local y en la nube.
Si sos desarrollador React Native con experiencia full-stack y te interesa trabajar remoto en una empresa global con un gran compromiso social y ambiental, este puesto en Santex es para vos. Sumate a un equipo que potencia el desarrollo de apps para restaurantes.
Santex es una compañía global de tecnología certificada B Corp y una de las empresas de más rápido crecimiento en Norteamérica, según el Inc. 5000. Tiene presencia en 18 países y más de 100 ciudades, con sede en Argentina y oficinas en Estados Unidos, México y Perú. Sus dos líneas de servicio —AI Tech Consulting y AI-Optimized Engineering— ayudan a las organizaciones a adoptar tecnología de manera integral, expandir sus capacidades y mejorar los resultados comerciales a escala. El mismo enfoque define su cultura: Santex tiene un 80,4% de compromiso de los empleados (promedio global: 21%), una rotación anual del 8% (sector tecnológico: 20-25%), 9.369 horas de capacitación invertidas en 2025 —más del doble del promedio global— y una reducción interanual del 26,5% en su huella de carbono, logrando la neutralidad de carbono mediante compensación. Santex. Una empresa con propósito y criterio. Sí, es posible. Somos un Empleador que Ofrece Igualdad de Oportunidades y estamos comprometidos a fomentar un lugar de trabajo inclusivo y diverso. No discriminamos por motivos de raza, color, religión, sexo, identidad o expresión de género, orientación sexual, origen nacional, edad, discapacidad, condición de veterano, información genética o cualquier otra característica protegida por la ley aplicable. Todos los solicitantes calificados recibirán consideración para el empleo sin importar ninguno de estos factores. Alentamos encarecidamente a candidatos de todos los orígenes a postularse. Descripción del puesto Buscamos un Ingeniero de Software Senior con experiencia para unirse a nuestro equipo de POS Engineering, que desarrolla aplicaciones multiplataforma full-stack para entornos de restaurantes. Serás responsable de diseñar y entregar una plataforma moderna de POS Cloud + Edge + Mesh que abarque interfaces de usuario en tabletas con React Native, sincronización de malla de dispositivos locales, computación en el borde a nivel de restaurante e infraestructura de IoT conectada a la nube. Trabajando en estrecha colaboración con nuestro equipo de Producto, traducirás los requisitos en software robusto y bien probado, asumiendo la responsabilidad de la calidad de la ingeniería, la arquitectura y la entrega, mientras realizamos la transición de nuestro punto de venta de un cliente grueso heredado de Windows a una experiencia moderna en tabletas con capacidad offline. Aprovecharás herramientas de IA, incluidos flujos de trabajo de Spec-Driven Development (SDD), para acelerar y mejorar cada etapa del ciclo de vida del desarrollo. Funciones esenciales Desarrollo móvil y de tabletas - Crear y lanzar aplicaciones nativas multiplataforma para tabletas utilizando React Native 0.81+ y Expo SDK 54 (Nueva Arquitectura / TurboModules, Hermes runtime) dirigidas a iOS y Android. - Implementar la arquitectura Feature-Sliced Design (FSD) con aplicación de límites Steiger y alias de ruta. - Construir y mantener flujos de navegación con React Navigation v7 (stack, tabs, deep linking vía Branch.io). - Desarrollar componentes de UI utilizando React Native StyleSheet, Reanimated 4, Gesture Handler y Gorhom Bottom Sheet. Arquitectura Cloud + Edge + Mesh - Diseñar e implementar una topología Cloud + Edge + Mesh donde las tabletas de restaurantes, unidades KDS, impresoras de cocina y terminales de pago operen como una malla local coordinada. - Arquitectar sincronización de datos multicapa: almacenamiento local del dispositivo (MMKV / SQLite / WatermelonDB) al agregador de borde del restaurante y al backend en la nube. - Implementar sincronización de malla basada en CRDT utilizando AutoMerge (o Yjs) para un estado libre de conflictos en los dispositivos del restaurante. - Utilizar ElectricSQL para la sincronización en tiempo real y libre de conflictos entre PostgreSQL en la nube y SQLite en los dispositivos locales del restaurante, permitiendo un acceso a datos confiable y offline-first. - Aplicar patrones offline-first / local-first para que los datos permanezcan completamente funcionales cuando se pierda la conectividad a la nube o al borde. - Diseñar estrategias de resolución de conflictos: relojes vectoriales, last-write-wins, políticas de fusión y consistencia eventual. - Implementar event sourcing, CQRS y patrones Saga para la gestión de transacciones distribuidas (pedido a cocina, pago a recibo). - Usar WebSockets / pub-sub en tiempo real para la propagación de estado en vivo entre dispositivos. IoT - Local y en la nube - Arquitectar e implementar comunicaciones de dispositivos locales de restaurante para estados conectados y desconectados utilizando TCP/IP, Sockets, UDP y protocolos IoT. - Integrar con plataformas IoT en la nube (AWS IoT Core / Greengrass o Azure IoT Hub / IoT Edge) para la gestión de dispositivos, telemetría, configuración remota y actualizaciones OTA a escala. - Gestionar el ciclo de vida de los dispositivos IoT: aprovisionamiento, monitoreo, despliegue de computación en el borde y desmantelamiento. Hardware de cocina y restaurante - Integrar con sistemas de visualización de cocina (KDS), impresoras de cocina y dispositivos de restaurante con capacidad IoT. - Implementar el enrutamiento de pedidos, la propagación de actualizaciones de estado y la gestión del ciclo de vida de los dispositivos en la pila tecnológica de la cocina. Integración de pagos - Integrar el POS con terminales de pago físicas en la capa de dispositivo/hardware; mantener la conciencia de los requisitos PCI-DSS en un contexto QSR/retail. - La experiencia con plataformas de pago digital basadas en la nube (gateways, tokenización, billeteras digitales) es una gran ventaja. Onboarding Zero-Touch y Aprovisionamiento de Dispositivos - Diseñar e implementar onboarding zero-touch para nuevos dispositivos de restaurante utilizando la inscripción zero-touch de Google Mobile Services (GMS) para el aprovisionamiento de flotas de tabletas Android. - Automatizar la configuración del dispositivo, el despliegue de aplicaciones y el registro de red con mínima intervención manual. Desarrollo Asistido por IA y Spec-Driven Development - Practicar Spec-Driven Development (SDD): crear y mantener documentos de especificación estructurados y vivos que sirvan como contratos sin ambigüedades para la generación de código por IA, reemplazando el prompting ad-hoc con un flujo de trabajo disciplinado y repetible. - Utilizar Claude y GitHub Copilot como aceleradores de desarrollo: generar scaffolding de código, escribir y revisar pruebas, crear documentación y prototipar soluciones. - Contribuir y mantener flujos de trabajo de revisión de PR asistidos por IA (claude-ai-review, copilot-auto-resolve, sync-claude-skills). Gestión de estado - Gestionar el estado global del cliente con Redux Toolkit 2.x. - Gestionar el estado del servidor/asíncrono con React Query (TanStack) v5: caché, soporte offline y actualizaciones optimistas. - Utilizar react-hook-form para el estado de formularios; react-native-mmkv y AsyncStorage para persistencia local. Autenticación, Seguridad y Observabilidad - Implementar flujos de autenticación utilizando AWS Amplify v6 + AWS Cognito (OAuth/OIDC); almacenar tokens de forma segura en react-native-keychain. - Integrar autenticación biométrica a través de expo-local-authentication. - Instrumentar aplicaciones con LaunchDarkly (feature flags), Sentry (crash reporting), Quantum Metric (session replay), Adobe Analytics y expo-notifications (FCM/APNs). - Monitorear sistemas de producción utilizando Dynatrace para observabilidad full-stack: análisis de logs, tracing distribuido, insights de rendimiento y alertas en la pila cloud + edge. - Utilizar AWS CloudWatch para monitoreo a nivel de infraestructura, agregación de logs, alarmas de métricas y dashboards operativos en Lambda, DynamoDB, SQS y otros servicios de AWS. Calidad, Pruebas y CI/CD - Escribir código TypeScript 5.x strict limpio y bien probado; mantener una puerta de cobertura de lógica de negocio del 80% aplicada. - Crear pruebas unitarias/de integración con Jest + React Native Testing Library; flujos E2E con Maestro; pruebas de regresión de rendimiento con Reassure. - Utilizar Playwright para pruebas de automatización confiables multiplataforma y adyacentes a la web, scripting y flujos de trabajo de pruebas impulsados por agentes de IA que complementan la cobertura E2E nativa de Maestro en cualquier superficie de POS web o híbrida. - Mantener y extender una pipeline de GitHub Actions (más de 20 flujos de trabajo): CI, CD, perfiles de EAS Build, Maestro E2E, puertas de rendimiento y revisión asistida por IA. - Utilizar EAS Build (desarrollo / preview / producción) y EAS Update para lanzamientos OTA; aplicar gobernanza de ramas. - Aplicar hooks pre-commit (Husky), linting (ESLint), formateo (Prettier) y linting de arquitectura (Steiger / FSD). Servicios Cloud de AWS - Diseñar y consumir servicios serverless y de datos en AWS, incluyendo Lambda (cómputo basado en eventos), DynamoDB (persistencia NoSQL), SQS (cola de mensajes asíncronos) y S3 (almacenamiento de objetos). - Aplicar principios de AWS Identity & Access Management (IAM) para autorización segura de servicio a servicio y acceso de mínimo privilegio en toda la plataforma en la nube. - Familiaridad con servicios más amplios de la plataforma de datos de AWS como Kinesis, RDS y Glue a medida que la arquitectura evoluciona. Propiedad de la ingeniería - Ser responsable del ciclo de vida de la ingeniería para tus funcionalidades: arquitectura, implementación, pruebas, CI/CD y monitoreo en producción. - Depurar, solucionar problemas y resolver defectos de software y problemas de producción. - Participar en prácticas de entrega Ágil, incluyendo planificación de sprints y retrospectivas. - Aprender y aplicar nuevas tecnologías para mejorar la calidad del sistema y la efectividad del equipo. Habilidades y aptitudes requeridas Núcleo - Requerido - Dominio de TypeScript (modo estricto), JavaScript, React Native y Expo (SDK 54+, Nueva Arquitectura). - Experiencia con Redux Toolkit, React Query v5 y patrones de gestión de estado offline-first. - Profundo conocimiento de la arquitectura de dispositivos locales y protocolos de red: TCP/IP, Sockets, UDP, IoT. - Experiencia con sincronización basada en CRDT (AutoMerge o Yjs) y ElectricSQL para sincronización de bases de datos cloud-to-edge offline-first. - Familiaridad con la sincronización de bases de datos multicapa entre niveles locales, de borde y en la nube. - Integración de terminales de pago a nivel de restaurante (capa de hardware/dispositivo, conocimiento de PCI-DSS). - Familiaridad con KDS, impresoras de cocina y dispositivos de restaurante con capacidad IoT. - Experiencia con inscripción zero-touch de GMS para el aprovisionamiento de flotas de dispositivos Android. - Dominio