2x05 | Charlando con los Androides de Rappi
Resumen
Desde la estructura del equipo hasta las herramientas que utilizan para medir y mejorar la performance, el episodio es una clase magistral sobre el desarrollo de software a gran escala.
Temas principales:
- Estructura del equipo y coordinación: Explicamos cómo un equipo de más de 70 desarrolladores Android se organiza en verticales y se coordina a través de reuniones de “Android Chapter” y “Lightning Talks” para compartir conocimiento y alinear la arquitectura.
- Tiempos de compilación y modularización: Discutimos el gran desafío de los largos tiempos de compilación (hasta 20 minutos) y la estrategia de “demo apps” que implementan para que los equipos puedan trabajar en módulos aislados, reduciendo drásticamente los tiempos de espera.
- Inyección de Dependencias con Dagger: Henry detalla cómo utilizan Dagger 2 en un proyecto multimodular, con un grafo de dependencias distribuido por feature y un grafo centralizado para las dependencias globales.
- Medición y mejora de la performance: Paula explica su enfoque en la performance, utilizando Firebase para medir trazas (P90 y P50) que separan el tiempo de respuesta del servicio del tiempo de renderizado de la UI, y cómo el cambio a View Binding les ayudó a optimizar.
- Protobuf como alternativa a JSON: El equipo comparte su experiencia probando Protobuf para acelerar la serialización de datos, la importancia de la coordinación entre backend y los clientes móviles, y cómo usan Remote Config para hacer A/B testing y tener un fallback a JSON.
- Career Path y cultura de feedback: Describimos los dos caminos de carrera en Rappi (Individual Contributor y Manager) y resaltamos la importancia de una cultura de feedback continuo y constructivo para el crecimiento profesional.
- Manejo de traducciones y “tropicalización”: Abordamos el complejo proceso de gestionar traducciones y adaptar el lenguaje de la aplicación a los modismos y términos específicos de cada país de habla hispana.