← Todos los episodios S1 · Episodio 7

1x07 | Charlando con los Androides de Microsoft SwiftKey

· 01:12:59 · Bea Viñal, Víctor García

Resumen

Los invitados, Bea Viñal y Víctor García, comparten detalles sobre la historia de la aplicación, desde su creación en 2008 hasta su adquisición por Microsoft. Además, exploramosn los rigurosos procesos de contratación, la cultura de trabajo remoto, la gestión de la deuda técnica y el complejo ciclo de lanzamientos que garantiza la calidad de una aplicación con cientos de millones de usuarios.

Temas principales:

  • Historia de SwiftKey: Narramos el origen de la aplicación en 2008, su lanzamiento en 2010, su enfoque inicial en la tecnología de predicción y la evolución hasta su adquisición por Microsoft en 2016.
  • Proceso de Contratación en Microsoft: Víctor detalla su experiencia en el proceso de selección, que incluye una prueba de revisión de Pull Request, entrevistas de algoritmia en pizarra y preguntas de comportamiento.
  • Cultura de Trabajo Remoto: Bea explica cómo el equipo ya tenía una cultura de trabajo remoto parcial antes de la pandemia, lo que facilitó la transición a un modelo completamente flexible que le permitió a ella misma volver a Madrid desde Londres.
  • Onboarding Remoto: Describimos cómo es el proceso de incorporación para un nuevo desarrollador, que incluye un “bootcamp” para conocer los distintos equipos y la asignación de un “buddy” para facilitar la integración.
  • Arquitectura y Deuda Técnica: Discutimos cómo en una aplicación con tantos años conviven diferentes arquitecturas. Para gestionar la deuda técnica, se aprovechan los “días de limpieza de código” y se planifican proyectos específicos de refactorización.
  • Accesibilidad como Pilar Fundamental: Destacamos la importancia de la accesibilidad en SwiftKey, considerándola desde el inicio de cada proyecto y con ejemplos concretos de cómo han mejorado la experiencia para usuarios de TalkBack.
  • El Proceso de Release: Detallamos el ciclo de lanzamiento de dos semanas, que pasa por varias fases: pruebas internas del equipo (dogfooding), lanzamiento para toda la empresa, canal beta público y, finalmente, la versión de producción, todo supervisado por un “monitor de releases”.
  • Testing sin Equipo de QA: El equipo no tiene un rol de QA dedicado; la responsabilidad de la calidad recae en los propios desarrolladores a través de tests unitarios, de instrumentación y un framework de screenshot testing auto-exploratorio.
  • UI Declarativa y Jetpack Compose: Aunque aún no usan Compose en producción, el equipo ya trabaja con un framework de UI declarativa interno llamado “Pose” para definir las vistas del teclado, demostrando su interés y preparación para el futuro de la UI en Android.