19 de Junio de 2024

Desde los primeros códigos en el colegio hasta liderar un equipo de desarrolladores en San Francisco

Gabriel Lanata aprendió a programar desde que estaba en el colegio, pero no fue hasta sus estudios de Ingeniería de Sistemas en la Universidad de Lima que tuvo la oportunidad de sumergirse en profundidad en el mundo de la tecnología y explorar diversas ramas del campo informático.

Su pasión por la programación lo llevó a practicar, mientras era estudiante, en IT Lab, el Laboratorio de Aprendizaje en Tecnologías de Información de la Ulima. Ahí, participó en la creación de la Ulima App, que cumple diez años este mes.

Antes de culminar sus estudios, creó su propia empresa de desarrollo de software, InicioApps. Después, trabajó como ingeniero jefe sénior de iOS en Scotiabank y, desde hace cinco años, vive en San Francisco, Estados Unidos, donde lidera el equipo UI & Architecture en Lyft, empresa de transporte que conecta conductores con usuarios. Ahí, ha experimentado un crecimiento significativo como líder y una gran satisfacción al impactar directamente en aplicaciones que utilizan millones de personas en el mundo.

¿Cuáles son tus responsabilidades o retos en Lyft?
Actualmente, lidero un equipo de diez personas, en su mayoría ingenieros. Mi labor consiste en identificar las necesidades de la empresa, proponer proyectos, mejorar continuamente nuestros procesos y con los diseñadores. En resumen, nos encargamos de toda la parte técnica que sustenta las aplicaciones móviles, para permitir que otros equipos construyan sobre ellas. Uno de mis principales desafíos es mejorar la productividad de los desarrolladores para que puedan trabajar de manera más ágil. Brindamos soporte a 160 ingenieros de iOS y Android en múltiples países y mantenemos alrededor de diez aplicaciones móviles. Nuestro objetivo es asegurar que todas estas operaciones se lleven a cabo de manera eficiente y efectiva.

¿Cómo llegaste a trabajar en Lyft?
Cuando estaba en el Perú, llegué a un punto en el que sentía la necesidad de algo más. Había llegado a liderar el área móvil de iOS en Scotiabank, un puesto bastante elevado para un programador, especialmente hace unos seis años. La progresión natural era convertirme en gerente, pero yo sentía pasión por programar, así que quería liderar un equipo de programación y seguir en este campo. Por eso, comencé a buscar oportunidades en el extranjero, identifiqué algunas empresas y pasé por varias entrevistas. Lyft no fue mi primera opción, pero durante el proceso de entrevistas, me di cuenta de la calidad del equipo y la pasión que sentían por lo que hacían, a partir de la forma en que hablaban de la empresa. Eso me gustó mucho, por eso elegí este trabajo.

¿Qué logros has obtenido en Lyft hasta ahora y cuáles son tus metas futuras?
En estos años en la empresa, he completado varios proyectos importantes. Principalmente, he experimentado un crecimiento significativo como líder y me satisface mucho llevar a cabo contribuciones tangibles que impactan directamente en las aplicaciones utilizadas por millones de personas. Mi meta principal es seguir desarrollando mis habilidades de liderazgo en el ámbito tecnológico, continuar mi crecimiento profesional y ayudar a que mi equipo lo haga también, de modo que tengamos la capacidad de abordar proyectos aún más desafiantes.

¿Hay alguna aplicación o producto en particular que hayas desarrollado que recuerdes especialmente?
Sí, un proyecto que recuerdo con especial cariño es el desarrollo del sistema para la aplicación de Lyft. Trabajamos en la integración de las áreas de bicicletas y scooters en el mapa. Fue un desafío interesante. Mostrar en la aplicación la disponibilidad de 2000 o 3000 bicicletas y scooters en algunas ciudades representó un reto técnico que me gustó mucho abordar.

¿En qué lugares has trabajado antes?
Mi primer trabajo fue en la Universidad de Lima, en el área de IT Lab, que es un laboratorio de aprendizaje y desarrollo de tecnología. Después de eso, fundé una compañía móvil llamada InicioApps con un compañero de la Universidad. Luego, me uní a Scotiabank como ingeniero jefe sénior de iOS para desarrollar una aplicación móvil desde cero. Mi labor como líder del equipo era similar a la función que cumplo actualmente: asegurar la calidad de la infraestructura de la aplicación y facilitar el desarrollo para los otros ingenieros.

¿Qué actividades realizabas en IT Lab de la Universidad de Lima y qué valoras de esa experiencia?
Participé en el desarrollo de la aplicación oficial de la Universidad de Lima, Ulima App, además de trabajar en varios proyectos, incluso algunos de realidad aumentada. Lo que más valoro de esa experiencia fue la libertad para aprender y crecer en mis habilidades. Era un entorno muy colaborativo donde asumí desafíos desde el inicio de mis estudios de la carrera. En IT Lab te impulsan a desarrollar tus habilidades y a probar cosas nuevas. 

Antes de ingresar, desarrollé una aplicación que me dirigía a la web de la Universidad de Lima. Cuando entré a IT Lab, desarrollamos la aplicación y la conectamos directamente a los servicios. Consideramos las necesidades de los alumnos y la aplicación creció conforme recibíamos sus comentarios y solicitudes. Recuerdo que alguien pidió incluir el menú de la cafetería, y lo hicimos. A mí me pareció una buena idea introducir el carné virtual, y también lo llevamos a cabo.

¿Podrías mencionar un proyecto en particular que hayas encontrado especialmente desafiante a lo largo de tu carrera?
Uno de los proyectos más desafiantes en los que he trabajado duró alrededor de cuatro años, y fue en Lyft. Se trató de identificar puntos de ineficiencia en el desarrollo de aplicaciones móviles. Cuando me uní a la empresa, noté que uno de los mayores puntos de ineficiencia estaba en el desarrollo de interfaces, y propuse una solución radical: cambiar por completo la forma en que se construían las aplicaciones. Sin embargo, dado el tamaño gigantesco de la aplicación, con alrededor de dos millones de líneas de código, este proyecto requería una reescritura considerable. Fue un desafío tanto técnico como de gestión, ya que tuvimos que implementar un plan de transición de varios años para adoptar esta nueva tecnología en toda la aplicación. 

El propósito principal de este proyecto era mejorar la eficiencia del desarrollo de interfaces para que los equipos puedan crearlas de manera más rápida y con menos errores. Logramos reducir significativamente la cantidad de código necesario para crear interfaces, lo que resultó en un aumento del 25 % en la facilidad de lectura del código y una reducción de fallos. Esto ha permitido a los ingenieros producir más y desarrollar funcionalidades más rápidamente, así que cumplimos nuestra meta.

¿Cuáles son las principales tendencias actuales en el desarrollo de aplicaciones móviles?
Actualmente, las tendencias más destacadas son la inteligencia artificial (IA) y el machine learning. Estas tecnologías transforman la forma en que trabajamos en el desarrollo móvil. En mi equipo, utilizamos IA y machine learning para mejorar la eficiencia en el desarrollo. Hemos creado herramientas que automatizan tareas tediosas, como convertir diseños en código y chatbots que proporcionan asistencia técnica a los ingenieros. Esto nos ha dado la posibilidad de ahorrar una cantidad significativa de tiempo y recursos.

¿Cómo ha sido la evolución en el desarrollo de aplicaciones móviles desde que comenzaste a trabajar hasta el día de hoy?
He notado muchos cambios en la industria desde mis inicios en el Perú hasta hoy. Una diferencia significativa es la progresión de un ingeniero, que apuntaba a convertirse en gerente o manager. Hoy se reconoce que ser un buen programador no necesariamente implica ser un buen gerente, por lo que es importante ofrecer a los desarrolladores opciones de crecimiento profesional que no se limiten a roles de gestión. En Lyft, por ejemplo, la progresión de carrera de un ingeniero es paralela a la de un gerente, lo que significa que puedes seguir creciendo en tu rol técnico sin necesariamente convertirte en uno.

¿Cuáles son los aspectos más importantes al liderar un equipo de desarrollo de aplicaciones móviles?
La cultura de aprendizaje continuo es fundamental. Los equipos de desarrollo de aplicaciones móviles exploran constantemente y aprenden nuevas tecnologías, por lo que es crucial crear un ambiente donde puedan hacerlo con libertad. También, es importante reconocer la diversidad de habilidades dentro del equipo y aprovecharlas al máximo. Por ejemplo, algunos ingenieros son más técnicos, mientras que otros pueden estar más interesados en el diseño o el liderazgo. Identificar estas fortalezas individuales nos da la posibilidad de asignar tareas más interesantes y crear equipos diversos que impulsen la innovación. En resumen, tener una cultura abierta, fomentar el aprendizaje y reconocer las fortalezas individuales son aspectos clave para liderar un equipo de desarrollo de aplicaciones móviles.

¿Por qué decidiste estudiar Ingeniería de Sistemas?
Comencé a programar en el colegio, gracias a un profesor que vio mi interés en el tema. Siempre fue una pasión para mí, pero inicialmente lo veía más como un pasatiempo que como una carrera; por eso, empecé a estudiar Ingeniería Industrial. Sin embargo, con el tiempo y al adquirir más madurez, me di cuenta de que realmente quería trabajar en tecnología. Por esa razón, me cambié a Ingeniería de Sistemas, que ofrece diversos caminos para trabajar en el campo tecnológico.

¿Qué otros cambios significativos has experimentado durante tu formación en la Universidad de Lima?
Siempre me he enfocado en el software, pero la Universidad me mostró muchas otras áreas dentro del campo de la tecnología. Esto me dio confianza en mis habilidades y una visión más amplia del sistema tecnológico en su conjunto, no solo del software.

¿Qué consejos les darías a los jóvenes que comienzan a estudiar tu carrera?
Les aconsejaría aprovechar al máximo todos los cursos y oportunidades que ofrece la Ulima. Especialmente, aprovechar los laboratorios. También, es importante buscar oportunidades de prácticas en áreas que les interesen para ganar experiencia desde temprano. Además, he visto que la Universidad ha implementado muchos cambios para mejorar la vida de los estudiantes, es importante aprovecharlos al máximo. Por último, los jóvenes deben valorar el enfoque amplio de la carrera, que abarca desde sistemas operativos hasta machine learning y gestión de proyectos tecnológicos.

¿Cuál crees que es el principal diferencial de un egresado de la Universidad de Lima?
La Universidad de Lima proporciona una formación integral que les da la capacidad a los egresados de enfrentarse a diversos desafíos en el mundo profesional. En Ingeniería de Sistemas, se obtiene una comprensión profunda del sistema tecnológico de una empresa, lo que nos hace profesionales completos y preparados para enfrentarnos al mundo laboral.

¿Cómo describirías tu experiencia en la Universidad de Lima?
Fue una experiencia genial. Aprendí mucho e hice buenas amistades. Es verdad que hubo momentos difíciles, como con cualquier carrera universitaria, porque los cursos tienen un grado de dificultad, pero en general, fue una etapa enriquecedora en la que crecí personal y profesionalmente. Mi etapa favorita fue cuando estuve en IT Lab, por el nivel de aprendizaje que obtuve. Realmente, sentí que creamos una familia en la que había mucho espacio para crecer y aprender juntos.