Descripción de puesto:
el desarrollador android tiene como propósito construir y evolucionar las funcionalidades móviles dentro de la aplicación de scotiabank, garantizando una experiencia rápida, segura y accesible, y una integración confiable con la capa de servicios orquestados bffs. Asegura el cumplimiento de lineamientos de diseño,seguridad, accesibilidad y desempeño, habilitando toda la funcionalidad requerida en la plataforma digital.
habilidades técnicas:
kotlin (fluidez) y conocimientos sólidos de android sdk.
arquitectura: mvvm/mvi, clean architecture, inyección de dependencias (hilt/dagger).
ul: jetpack compose y/o views; navegación (jetpack navigation).
datos: coroutines/flow, room, datastore (o encryptedsharedpreferences).
networking: retrofit/ok manejo de rest/json (y/o graphql si aplica).
seguridad: almacenamiento seguro, certificate pinning, ofuscación (proguard/r8).
testing: junit5, mockito/kotlinx coroutines test, espresso, robolectric.
observabilidad: logging estructurado, crash reporting (firebase crashlytics u otro) y métricas de performance (startup. Anr, jank).
ci/cd movil: gradle, variantes de build, signing/keystore, play console.
control de versiones: git (pull requests, trunk-based o gitflow), code review.
consumo de apis corporativas a traves de mobile gateway con manejo de oauth2/oidc y jwt.
actividades principales:
- lectura de documentación técnica: diseños técnicos, especificaciones técnicas, diagramas de componentes y arquitectura
- entendimiento general de arquitectura, mapeo de información y análisis de servicios "as is" para propuestas "to be"
- apoyo en generación de documentación técnica
- desarrollo de código con pruebas unitarias y certificación de seguridad, integración y cobertura en general con herramientas como: fortify, sonar, black duck,clean code, check marx
- merge de código con ramas existentes y manejo de git & jenkins
- soporte a equipo de pruebas para corrección de defectos
- apoyo en la gestión de código, versiones e implementación en ambientes bajos
- apoyo en la gestión de código, versiones e implementación en ambientes altos
- soporte go live, estabilización de componentes en producción y soporte general a desarrollo