← Todos los episodios S4 · Episodio 2

4x02 | Charlando con #iOSDev de Eventbrite. Cómo migrar la arquitectura de tu app casi sin secuelas.

· 01:38:03 · Leo Chimiglioni, Miguel Hernando Jaso, Ricardo Casanova

Resumen

La conversación explora en profundidad la estructura del equipo, los retos técnicos del día a día y, en particular, el complejo proceso de migrar la arquitectura de una aplicación madura. Mis invitados comparten su visión sobre la organización en equipos de plataforma y de feature, el rol del Staff Engineer y las estrategias que utilizan para gestionar el código legado y las nuevas implementaciones.

Temas principales:

  • Estructura del equipo de iOS en Eventbrite: Detallamos la evolución del equipo desde una estructura por aplicación (asistentes y organizadores) hacia un modelo de equipos de feature y un equipo de plataforma central, explicando los beneficios de esta nueva organización en términos de visibilidad y colaboración.
  • ¿Por qué un equipo de plataforma?: Mis invitados explican la necesidad de tener un equipo dedicado a las bases de la aplicación, como la capa de red, la integración continua, la gestión de dependencias y la investigación de nuevas tecnologías, para dar soporte y agilizar el trabajo de los equipos de feature.
  • El rol del Staff Engineer: Profundizamos en las responsabilidades de un Staff Engineer, que van más allá de escribir código para incluir una visión holística, anticipar problemas, mentorizar a otros ingenieros, definir soluciones técnicas y evitar sorpresas para los stakeholders.
  • Migración de arquitectura a TCA (The Composable Architecture): El tema central del episodio. Explicamos por qué el equipo decidió migrar de una arquitectura antigua y poco definida a TCA, buscando mejorar la testeabilidad, la modularidad y la velocidad de desarrollo, aprovechando su integración con SwiftUI.
  • Estrategias de migración y gestión de código legado: Discutimos las tácticas para llevar a cabo la migración, como el desarrollo de nuevas funcionalidades directamente en la nueva arquitectura, la creación de componentes reutilizables y el uso de feature flags para realizar lanzamientos controlados y pruebas A/B.
  • El proceso de selección en Eventbrite: Los invitados describen cómo es el proceso de entrevistas, destacando la flexibilidad que ofrecen en la prueba técnica, como la opción “trae tu propio código”, que permite evaluar las habilidades del candidato en un proyecto real y reduce la carga de trabajo para ambas partes.
  • Desafíos del desarrollo mobile: Abordamos los retos únicos del ecosistema móvil, como los trenes de release, los tiempos de revisión de las tiendas de aplicaciones y las políticas, a veces arbitrarias, de Apple y Google.
  • Nativo vs. Híbrido/Multiplataforma: Debatimos por qué, a pesar de la duplicación de esfuerzos, el desarrollo nativo sigue siendo la mejor opción para Eventbrite, priorizando la experiencia de usuario, el rendimiento y el acceso a las últimas funcionalidades del sistema operativo.