Senior Frontend & Mobile Engineer

Descripción del Rol

Buscamos un/a Senior Frontend & Mobile Engineer para liderar la arquitectura e implementación de nuestro portal web y aplicaciones móviles.

El rol se enfocará en construir experiencias de usuario escalables, seguras y de alta calidad usando React, React Native y TypeScript, trabajando en estrecha colaboración con los equipos de backend, producto, UX/UI, QA y DevOps. El candidato ideal tiene fuerte experiencia entregando aplicaciones web y móviles en producción, y comprende arquitectura de aplicaciones, integración de APIs, state management, seguridad, testing y procesos de release móvil.

Responsabilidades Principales

  • Liderar la arquitectura frontend del portal web y las aplicaciones móviles.
  • Construir aplicaciones web usando React y TypeScript.
  • Construir aplicaciones cross-platform Android e iOS usando React Native y TypeScript.
  • Definir arquitecturas frontend modulares con clara separación de responsabilidades y componentes reutilizables.
  • Establecer patrones de diseño frontend y estándares de desarrollo.
  • Diseñar y mantener componentes reutilizables y un design system consistente.
  • Implementar experiencias responsive en desktop, tablet y mobile web.
  • Integrar las aplicaciones frontend y mobile con APIs REST usando contratos OpenAPI definidos.
  • Implementar manejo consistente de errores de API, loading states, retries, cancellation y escenarios de falla.
  • Implementar flujos seguros de autenticación y autorización usando OAuth 2.0, OpenID Connect, JWT, PKCE y MFA.
  • Integrar las aplicaciones cliente con proveedores de identidad como Microsoft Entra ID o soluciones equivalentes.
  • Aplicar reglas de autorización a rutas, componentes, features e interacciones del usuario.
  • Gestionar de forma segura tokens e información sensible en plataformas web y mobile.
  • Implementar almacenamiento mobile seguro usando soluciones apropiadas para cada plataforma, como iOS Keychain y Android Keystore.
  • Aplicar mejores prácticas de seguridad OWASP web y mobile.
  • Diseñar estrategias de state-management y sincronización de datos usando tecnologías como React Query, Zustand, Redux, Context, o equivalentes.
  • Implementar estrategias efectivas de client-side caching e invalidación de cache.
  • Manejar escenarios de concurrency, incluyendo acciones duplicadas, cancelación de requests y race conditions de UI.
  • Diseñar experiencias de usuario que manejen de forma elegante fallas temporales de backend o de red.
  • Integrar push notifications para Android e iOS.
  • Gestionar la integración de React Native con el lifecycle y los build systems de Android e iOS.
  • Dar soporte al signing, releases y publicación de builds mobile a través de Apple App Store y Google Play Store.
  • Definir e implementar estrategias de testing frontend/mobile.
  • Desarrollar tests unitarios, de integración y de integración de APIs.
  • Participar activamente en code reviews y discusiones de diseño técnico.
  • Colaborar con equipos de DevOps en pipelines de build, test y release web/mobile.
  • Colaborar con QA para definir flujos de UI testeables y escenarios end-to-end.
  • Contribuir en decisiones de UX/UI y traducir requerimientos de producto en experiencias de usuario de alta calidad.
  • Mantener la documentación de arquitectura e implementación frontend/mobile.

Requisitos Excluyentes (Must Have)

  • Experiencia avanzada en TypeScript.
  • Fuerte experiencia en producción con React para aplicaciones web.
  • Fuerte experiencia en producción con React Native para aplicaciones Android e iOS.
  • Sólido conocimiento de arquitectura de aplicaciones frontend, modularidad, componentes reutilizables y separación de responsabilidades.
  • Experiencia implementando patrones comunes de diseño de software y componentes.
  • Fuerte experiencia consumiendo e integrando APIs REST.
  • Experiencia trabajando con contratos de API OpenAPI / Swagger.
  • Sólido conocimiento de Promises, async/await, manejo de errores asincrónicos y fundamentos del event loop de JavaScript.
  • Experiencia implementando flujos de autenticación seguros usando OAuth 2.0, OpenID Connect, JWT y PKCE.
  • Experiencia implementando MFA e integraciones con proveedores de identidad.
  • Entendimiento de autorización basada en claims y comportamiento seguro de autorización client-side.
  • Sólido conocimiento de seguridad de aplicaciones web y mobile, incluyendo prácticas OWASP.
  • Experiencia almacenando de forma segura tokens e información sensible en aplicaciones mobile.
  • Fuerte experiencia con soluciones modernas de state-management y server-state.
  • Experiencia implementando data fetching, sincronización e invalidación de cache.
  • Experiencia construyendo librerías de componentes reutilizables o design systems.
  • Fuertes habilidades de responsive design.
  • Experiencia integrando push notifications para Android e iOS.
  • Conocimiento funcional del lifecycle y los procesos de build de aplicaciones Android e iOS.
  • Experiencia con signing de aplicaciones mobile, release management y publicación en App Store / Google Play.
  • Experiencia diseñando e implementando UX/UI de alta calidad.
  • Conocimiento avanzado de Git y experiencia trabajando dentro de development workflows estructurados.
  • Experiencia con testing automatizado unitario y de integración.
  • Sólido entendimiento de calidad y testability frontend/mobile.
  • Experiencia documentando decisiones de arquitectura e implementación frontend/mobile.
  • Capacidad de colaborar efectivamente con equipos de backend, QA, DevOps, producto y UX.

Deseables (Nice to Have)

  • Experiencia mejorando performance de aplicaciones web, incluyendo bundle size, eficiencia de rendering, lazy loading, caching y Core Web Vitals.
  • Experiencia mejorando performance de aplicaciones React Native, incluyendo startup time, eficiencia de rendering, uso de memoria, networking e impacto en batería.
  • Experiencia implementando deep links y universal links en aplicaciones React Native.
  • Experiencia con testing end-to-end de browser y mobile.
  • Entendimiento de conceptos de sistemas distribuidos y procesamiento asincrónico desde la perspectiva del cliente.
  • Experiencia manejando operaciones de backend asincrónicas o demoradas en la UI.
  • Familiaridad con versionado de APIs y estrategias de backward-compatibility.
  • Familiaridad con Infrastructure-as-Code y conceptos de cloud deployment.
  • Experiencia con entornos de desarrollo o build basados en Docker.
  • Experiencia implementando client-side error e incident reporting.
  • Experiencia contribuyendo a decisiones de arquitectura y liderazgo técnico frontend/mobile.

Job Type: Remote
Allowed Country: Argentina

Solicitar este puesto

Maximum allowed file size is 50 MB. Allowed type(s): .pdf