← Todos los episodios S2 · Episodio 4

2x04 | Charlando con los Androides de Tinder

· 01:17:34

Resumen

Los invitados, Carlos, César e Iñaki, desglosan todo, desde la estructura organizativa de su equipo hasta las estrategias técnicas específicas que utilizan para gestionar una aplicación masiva y compleja. La conversación revela cómo abordan la modularización, la optimización de los tiempos de compilación y la colaboración en un entorno de desarrollo rápido y a gran escala.

Temas principales:

  • Cultura y Onboarding: Detallamos la cultura de la empresa, centrada en el bienestar del empleado, y el minucioso proceso de onboarding remoto para nuevos ingenieros, que incluye un sistema de “buddy” y un equipo dedicado a facilitar la integración.
  • Estructura del Equipo de Ingeniería: Una explicación de cómo el equipo de aproximadamente 35 desarrolladores Android se organiza en equipos y “pods” autónomos que trabajan sobre un monorepo con más de 500 módulos.
  • Trunk-Based Development y Feature Flags: Mis invitados explican por qué abandonaron GitFlow en favor de Trunk-Based Development para evitar el “merge hell”, utilizando un sistema propio de feature flags (llamadas “levers”) para gestionar los lanzamientos de nuevas funcionalidades de forma segura.
  • Estrategia de Modularización: Profundizamos en las razones detrás de su masivo esfuerzo de modularización (independencia, tiempos de compilación, organización) y su enfoque de separar los módulos en capas (UI, Dominio, Datos), utilizando módulos de API públicos para las integraciones.
  • Experiencia de Desarrollador (Developer Experience): El equipo destaca su inversión en herramientas internas, como un portal centralizado (“Tinder Central”) y un fuerte enfoque en el caching remoto para reducir significativamente los tiempos de los builds en CI.
  • Arquitectura del Onboarding: Analizamos la arquitectura del flujo de onboarding de usuarios, que funciona como una máquina de estados dirigida por el backend, y la evolución de su implementación en el cliente.
  • Pipeline de CI/CD: Describimos cómo optimizan su pipeline de integración continua ejecutando tareas en paralelo, dividiendo los tests en diferentes jobs y centralizando todo el feedback directamente en la pull request de GitHub.
  • Gestión de Traducciones: El equipo plantea su pregunta para un futuro invitado sobre cómo otras grandes empresas abordan el complejo proceso de gestionar las traducciones y la localización en una aplicación global.