Estamos en la búsqueda de un/a Desarrollador Android (Kotlin - Jetpack Compose) motivado/a y creativo/a que quiera formar parte de nuestro equipo de Tecnología. Tu misión será contribuir al desarrollo, implementación e integración de nuevas funcionalidades y requerimientos de software, corrigiendo errores y mejorando el rendimiento y la usabilidad de las aplicaciones, por medio de la participación en todas las fases del ciclo de vida del software, para apoyar el avance y cumplimiento de los objetivos del área.
Principales Funciones:
- Realizar el desarrollo de funcionalidades utilizando Kotlin y Jetpack Compose para interfaces declarativas, asegurando una experiencia de usuario fluida y reactiva mediante el uso de Coroutines, Flows y StateFlow.
- Arquitectura Sólida: Diseñar y mantener la arquitectura del sistema bajo principios de Clean Architecture (Data, Domain, Presentation) y MVVM, garantizando la escalabilidad mediante Hilt para Inyección de Dependencias.
- Gestión de Datos y Seguridad: Implementar persistencia local robusta con Room e integraciones eficientes con APIs REST usando Retrofit/OkHttp. Aplicarás Android Security Crypto para garantizar la integridad de los datos sensibles.
- Integración de Hardware: Gestionar la interacción directa con System Services y SDKs de terceros, liderando el manejo avanzado de permisos de sistema (runtime Special permissions) para hardware específico.
- Calidad de Código y Testing: Asegurar la estabilidad del software mediante una estrategia integral de pruebas: desde Unit Testing (JUnit, MockK, Turbine) hasta UI Testing con Espresso y Compose Testing.
- CI/CD y Configuración: Administrar el ciclo de construcción con Gradle, gestionando Product Flavors y Build Variants para diferenciar entornos de dev, staging y prod.
- Soporte N3 y Mejora Continua: Brindar soporte técnico especializado para resolver incidentes en producción, analizando errores y optimizando el rendimiento en versiones de Android API 33+ (Target 36).
- Cultura Técnica: Participar en revisiones de código, documentar especificaciones de diseño y fomentar el crecimiento del equipo mediante Pair Programming y sesiones de transferencia de conocimiento. Capacidad para tomar decisiones de viabilidad técnica y arquitectura.
- Trabajar en colaboración con otros miembros del equipo, como desarrolladores de software, diseñadores y managers, manteniendo una comunicación constante y fluida.