2x01 | Charlando con los Androides de Cabify
Resumen
La conversación explora desde la filosofía de trabajo hasta los detalles técnicos más complejos de sus aplicaciones, ofreciendo una visión completa de cómo opera un equipo en una empresa de gran escala.
Temas principales:
- Organización del equipo en Cabify: Cómo se estructuran en Grupos, Squads y Guilds para gestionar el desarrollo de las aplicaciones de Rider y Driver.
- Proceso de Onboarding: La experiencia de unirse al equipo, con un sistema de “buddy” y sesiones de formación grabadas para un aprendizaje a ritmo propio.
- El proceso de selección y la prueba de código: Un vistazo detrás de cámaras a la famosa prueba técnica de Cabify, cómo la evalúan y la estructura de las entrevistas que combinan lo técnico con los valores de la empresa.
- Arquitectura de las aplicaciones: Las diferencias entre la app de Driver (con un enfoque MVI/Redux) y la de Rider (con una máquina de estados reactiva), y los desafíos de cada una.
- Gestión del Real-Time: Cómo manejan la comunicación en tiempo real, la conectividad y los problemas con personalizaciones de Android como “Don’t kill my app”.
- Testing y MVI: Estrategias para testear una arquitectura MVI, cubriendo desde tests unitarios hasta flujos de usuario completos.
- Analíticas y Feature Flags: Su enfoque para gestionar múltiples SDKs de analíticas a través de un servicio unificado y cómo utilizan los feature flags para A/B testing y el manejo de la deuda técnica resultante.
- Backend-Driven UI (Matrioska): Su experiencia implementando un sistema de UI dirigida desde el backend y las lecciones aprendidas sobre su mantenimiento y escalabilidad.