El Desarrollador Android será responsable de diseñar, construir y mantener módulos nativos en Android utilizando Kotlin y las librerías modernas del ecosistema Jetpack. Asegurará la calidad, seguridad, desempeño y accesibilidad de las aplicaciones, trabajando bajo principios de Clean Architecture y patrones de arquitectura modernos. Colaborará activamente con equipos de UX/UI, BFF y Backend para garantizar integraciones eficientes y una experiencia de usuario consistente.
Diseño y Desarrollo
- Diseñar, desarrollar y mantener módulos Android (pantallas, view models, repositorios) alineados a Clean Architecture y patrones MVVM/MVI.
- Consumir APIs expuestas por la capa BFF utilizando REST/JSON o GraphQL, implementando mapeo de modelos, manejo de errores, reintentos y timeouts.
Seguridad en Cliente
- Implementar buenas prácticas de seguridad:
- Almacenamiento seguro (EncryptedSharedPreferences, DataStore, Keystore).
- Ofuscación (ProGuard / R8).
- Validación de certificados (certificate pinning).
- Protección de datos sensibles y manejo seguro de tokens OAuth2/OIDC.
Desempeño, Resiliencia y Accesibilidad
- Garantizar desempeño óptimo: tiempos de carga, uso eficiente de memoria, manejo de listas paginadas.
- Implementar resiliencia offline mediante caché, Room, y estrategias de sincronización.
- Asegurar accesibilidad cumpliendo con estándares: TalkBack, tamaños, contraste, navegación.
Observabilidad y Analítica
- Integrar telemetría: trazas, métricas, logs estructurados.
- Implementar analítica de interacción conforme a la estrategia del equipo de datos.
- Utilizar Correlation IDs cuando aplique para trazabilidad distribuida.
Pruebas y Calidad
- Escribir pruebas:
- Unitarias (JUnit5, Mockito, kotlinx-coroutines-test).
- UI (Espresso, Robolectric).
- Pruebas de contrato contra ambientes del Gateway/BFF.
- Contribuir a pruebas de performance cuando se requiera.
Colaboración e Integración
- Trabajar estrechamente con UX/UI para aplicar el design system corporativo.
- Colaborar con BFF y Backend para optimizar contratos, mejorar flujos y asegurar desempeño extremo a extremo.
- Participar en la resolución de incidentes y en la mejora continua del código.
Ciclo de Vida y Publicación
- Publicar versiones internas y productivas mediante procesos de CI/CD, incluyendo pipelines automatizados, signing y distribución.
Cultura y Cumplimiento
- Promover un ambiente de trabajo colaborativo.
- Cumplir al 100% con los cursos obligatorios en tiempo y forma.
Qualifications
Requisitos del Trabajo
Experiencia
- 5+ años de experiencia desarrollando aplicaciones nativas Android.
Lenguaje y SDK
- Dominio de Kotlin.
- Conocimiento sólido del Android SDK y librerías Jetpack.
Arquitectura
- Experiencia con:
- MVVM / MVI
- Clean Architecture
- Inyección de dependencias: Hilt / Dagger
UI
- Experiencia con:
- Jetpack Compose
- Android Views cuando sea necesario
- Navegación con Jetpack Navigation
Datos
- Manejo avanzado de:
- Coroutines / Flow
- Room
- DataStore (o EncryptedSharedPreferences)
Networking
- Uso de:
- Retrofit / OkHttp
- Manejo de REST/JSON
- (Opcional) experiencia con GraphQL
Seguridad
- Almacenamiento seguro (EncryptedSharedPreferences, Keystore).
- Certificate pinning.
- Ofuscación con ProGuard/R8.
- Manejo seguro de sesiones y tokens OAuth2/OIDC.
Testing
- Herramientas requeridas:
- JUnit5
- Mockito / kotlinx-coroutines-test
- Espresso
- Robolectric
Observabilidad
- Experiencia con:
- Logging estructurado
- Métricas de performance (Startup, ANRs, Jank)
- Crash reporting (Firebase Crashlytics u otro)
Additional Information
Lo que ofrecemos
- Programas de formación continua y certificaciones.
- Acceso a plataformas de aprendizaje y desarrollo profesional.
- Cultura de innovación y colaboración.
- Programas de bienestar físico y emocional.
- Oportunidades de crecimiento en proyectos internacionales.
- Reconocimiento y recompensas por desempeño.
- Sueldo base
- Prestaciones superiores a las de la ley
- Seguro de vida
- Seguro de Gastos Médicos Mayores
- Vales de despensa
- Esquema 100% nómina