Como Senior Android Engineer en Indra, el partner tecnológico de CaixaBank, trabajé en la app Android de CaixaBankNow, contribuyendo a unos seis de sus módulos y evolucionando de trabajar junto al equipo a asumir la plena responsabilidad del módulo PSD2 como su único ingeniero Android, un salto que trajo consigo mayor responsabilidad y contacto diario con el cliente.
Desarrollo y arquitectura
Diseñé y mantuve un código base modular usando Clean Architecture y el patrón MVP, entregando funcionalidades de negocio a gran escala en el dominio bancario. El código combinaba Java y Kotlin, con RxJava y Coroutines para el trabajo asíncrono, Dagger 2 para la inyección de dependencias y Retrofit para la conexión de red.
Responsabilidad del módulo y crecimiento
Empecé trabajando en la app junto a mis compañeros en varios de sus módulos y, con el tiempo, asumí la responsabilidad del módulo PSD2: una pasarela segura, construida bajo la normativa europea de banca abierta, que permite a aplicaciones externas como servicios fintech interactuar con el banco. Como único ingeniero Android del módulo, fui responsable de su desarrollo de principio a fin. Se construyó íntegramente en Kotlin, una decisión deliberada que requirió una solicitud específica dentro de un código base que hasta entonces había sido predominantemente Java.
Colaboración con el cliente
El módulo se desarrolló en un squad dedicado donde yo era el ingeniero Android junto a un compañero de iOS y otro de QA de Indra, mientras que el Product Owner y el Scrum Master estaban en el lado del cliente, en CaixaBank. Era el referente del equipo de Indra y me aseguraba de que todo funcionara con fluidez, y trabajaba a diario con el cliente, participando en las dailies de Scrum con el Scrum Master, y en ocasiones con el Product Owner, para alinear alcance y progreso.
Calidad y fiabilidad del código
En un código base compartido por varios equipos y al servicio de millones de usuarios, el trabajo seguía un proceso riguroso para mantener la velocidad sin comprometer la calidad. Como las apps bancarias son muy sensibles, cada cambio debía superar los controles de conformidad propios de la banca y cumplir los estrictos estándares necesarios para mantener la app plenamente disponible en todo momento.
Referente de Git
Fui el referente de Git del equipo, resolviendo los complejos problemas de control de versiones que surgían en el código base compartido por varios equipos y manteniendo a todos desbloqueados.