2x07 | Charlando con los Androides de Spotify
Resumen
Juntos, exploran la cultura de la empresa, su estructura organizativa, los procesos de desarrollo y las herramientas que utilizan para construir una de las aplicaciones más populares del mundo.
Temas principales:
- El Modelo Spotify: Discutimos la evolución de la famosa estructura de Squads, Tribes y Chapters, explicando que es más un modelo aspiracional que un marco rígido. Ahora se guían por un “Band Manifesto” centrado en valores como la colaboración.
- Roles y Crecimiento Profesional: Explican el cambio del rol de “Chapter Lead” a un “Engineering Manager” dentro de cada squad, lo que permite un mejor soporte y contexto para el crecimiento individual. La carrera profesional se impulsa bajo el lema “Drive your own development”, dando autonomía al empleado.
- Proceso de Onboarding: Cris detalla el completo proceso de incorporación, que incluye el “Golden Path” (un tutorial para la primera contribución), un “Bootcamp” (trabajar en una squad temporal) y los “Intro Days” (charlas con la alta dirección).
- Arquitectura y Modularización: Presentamos “Mobius”, la arquitectura open source que utilizan, y cómo facilita un lenguaje común con el equipo de iOS. Además, revelamos que la app cuenta con unos 1200 módulos y se está trabajando en una nueva forma de organizarlos en sistemas, APIs y componentes.
- Colaboración entre Ingeniería y Producto: Los ingenieros están involucrados desde el inicio en la definición del producto, utilizando herramientas como Design Sprints y RFCs (Request for Comments) para colaborar estrechamente con diseño y producto.
- Herramientas Internas: Destacamos herramientas clave como el “Golden State” para asegurar la calidad del código, la “Harness App” para probar módulos de forma aislada y, sobre todo, el sistema de “Remote Build” que permite compilar la aplicación en la nube, mejorando drásticamente la productividad.
- Proceso de Release y Testing: Las releases de la aplicación principal son semanales y están altamente automatizadas. El uso intensivo de Feature Flags y A/B tests es fundamental para lanzar funcionalidades de forma segura y gradual a los usuarios.