Un año en Microsoft

Muchas cosas cambiaron en los últimos años para mí. Hice mi primera pasantía en Microsoft en 2016, lo que me llevó a dos pasantías más en Microsoft y una en Google. Después de eso, aproximadamente a mediados de 2018, recibí mi oferta de trabajo full time en Microsoft. Esto desencadenó una carrera para graduarme: me faltaban un par de exámenes finales y la tesis, todo lo cual debía estar terminado para marzo de 2019, cuando iba a empezar a trabajar en Microsoft.

En 2018 estaba bastante perdido con respecto a graduarme: no tenía director ni tema sobre el que trabajar, ni el más mínimo indicio de dónde podría encontrarlos. Así que hice lo que suelo hacer cuando no quiero enfrentar algo que va a demandar mucho trabajo emocional: procrastinar.

Me incorporé al equipo de sistemas de recomendación de Mercado Libre un par de meses después de recibir mi oferta de trabajo full time. Fue una estadía muy breve, pero para ser honesto estuvo muy bien: conocí a mucha gente genial, aprendí muchísimo y el sueldo era muy bueno para el mercado. Todo esto culminó con mi presentación en PyData Córdoba 2018 en septiembre, y fue más o menos en esa época cuando me di cuenta de que no estaba mucho más cerca de graduarme que cuando me había incorporado: las largas jornadas eran demasiado para poder concentrarme en terminar la tesis. Así que renuncié.

El tiempo que había trabajado no fue completamente en vano: había terminado casi todos los finales que me quedaban y había establecido contacto con Francisco. En ese punto entré en pánico: era octubre de 2018, y tenía que graduarme antes de marzo de 2019. Entonces me senté, terminé los finales que me faltaban, me puse al día con los fundamentos de reconstrucción de superficies 3D y escribí la tesis.

Mi defensa de tesis fue el 15 de marzo de 2019, en Buenos Aires. Tenía orientación programada en Microsoft el 18 de marzo, así que me quedaban 2 días para hacer las valijas, despedirme de mi familia y amigos, y volar hasta Canada. Creo que nunca en mi vida estuve tan estresado. Mis primeras semanas en Vancouver estuve genuinamente perdido; afortunadamente, el clima era bastante lindo y tuve la suerte de que el alojamiento corporativo tenía vista al agua.

Mi primer día en Microsoft fue, en su mayor parte, una decepción. Fui al edificio, hice la orientación y me acompañaron hasta mi escritorio junto con un papel con mis credenciales y el correo de mi manager. Estaba todo muy bien, salvo que la persona en el papel no era realmente mi manager; él tampoco sabía quién debería ser mi manager. Ojalá pudiera decir que era la primera vez que me encontraba en esta situación.

Días después, finalmente conocí a mi manager. Cuando lo hice, sentí un alivio genuino: mi oferta de trabajo era una oferta general, lo único que sabía era que iba a unirme a la división Cloud + AI, pero no tenía idea de en qué iba a trabajar. Por suerte, me incorporaron al equipo del BuildXL Combined Engine . No tengo idea de quién hizo la asignación de equipo, pero realmente le debo una cerveza.

Esto dio inicio a una época de sentimientos encontrados. Por un lado, seguía con nostalgia de mi hogar: pasaba casi todas las tardes caminando por el paseo costero, escuchando Konbini de Mayaewk y extrañando a mi familia y amigos. Por el otro, tenía un trabajo realmente interesante y estaba aprendiendo más de lo que había aprendido en toda mi vida.

Una foto del paseo costero, de mis primeros días en Vancouver

Una foto del paseo costero, de mis primeros días en Vancouver

Me llevó un par de meses «superar» la nostalgia a tiempo completo. Durante ese tiempo estuve trabajando en el equipo del Combined Engine, integrando BuildXL con otros motores de compilación y migrando repositorios para que compilaran con él, lo cual empezaba a sentirse monótono. Creo que esto se debía principalmente a que las expectativas para el nivel 59 son aproximadamente cero, por lo que recibís trabajo relativamente poco interesante. Más o menos al mismo tiempo recibí una oferta para pasarme al equipo de Build Cache. La acepté rápido.

Me incorporé al equipo de Cache aproximadamente dos semanas después, y fue genial. Básicamente, cada vez que necesitamos compilar algo, todos los artefactos intermedios y finales del build necesitan almacenarse en caché para que las compilaciones posteriores puedan beneficiarse de ese trabajo. Cuando se compila a escala —varios miles de máquinas, varios petabytes de datos en caché, miles de builds por día— esto se convierte en un arte más que en un problema. Lo único que puedo decir por ahora es que es básicamente lo que vas a escuchar decir a todo el mundo sobre la escala: todo falla todo el tiempo, las pequeñas diferencias importan muchísimo, algo va a depender de algún caso extremo raro en tu código, entre otros clásicos del rubro.

Sigo trabajando en el equipo de caché, y este último año fue muy bueno: conocí gente genial, mis colegas son realmente inteligentes, aprendí y crecí mucho, hice muchas capacitaciones, Microsoft pagó para que fuera a conferencias, y me ascendieron. Estoy bastante seguro de que los trabajos realmente no pueden ser mejores que eso. En líneas generales, creo que mi mudanza a Vancouver fue claramente una buena decisión, la nostalgia aparte.