miércoles, 10 de julio de 2013

En cajas de 12

Programar me divierte, y mucho. Pero estoy hablando de resolver problemas interesantes, no de hacer ABMs y páginas webs para el negocio de la esquina (no lo tomen a modo despectivo). Me refiero a problemas de optimización, algoritmos y estructuras de datos por ejemplo. Por eso, cuando veo algún contest de programación, intento participar. Un contest de programación es una competencia, donde hay que resolver problemas programando, y gana el que resuelve más problemas, o el que los resuelve en menos tiempo, o el que hace el código más eficiente. Allí suelen aparecer problemas muy interesantes, y suele ser además el pie para después sentarme a aprender algo nuevo (a pelear otra vez con ese problema que no me salió durante la competencia). Un contest de mucho nombre a nivel mundial es el Google Code Jam, y ya se imaginarán por qué. Empecé a participar ahí creo que en 2008, y hasta el día de hoy sigo más o menos igual: cada año avanzo dos o tres rondas, pero nunca llego a las finales, y usualmente ni siquiera estoy cerca. Solo un año me gané una remera, pero ese año el contest no era global, sino limitado a Latinoamérica.

Cuando me inscribí por primera vez en el sistema online para participar, tuve que llenar un formulario con varias preguntas, entre ellas una que decía si me gustaría trabajar en Google. Obviamente Google busca, además de buena publicidad, identificar buenos programadores para reclutar. Como todo geek que se precie de tal dije que sí sin pensarlo porque: a) ¿a quien no le gustaría trabajar en la empresa más importante del mundo en lo que a software se refiere? b) ¿qué importa qué responda, si total está claro que está fuera de mi alcance? Pero todo esto viene al caso, por algo que pasó hace poco.

Un tiempo atrás, recibí un mail de uno de los "reclutadores" de Google diciendo que habían visto mi desempeño en el Code Jam (extrañamente el tipo ni sabía de cual edición hablaba) y ofreciéndome iniciar un proceso de entrevistas para ver si podía trabajar en Google. Claro que dije que sí otra vez, total qué podía pasar, seguía pensando que me era imposible sobrevivir a las entrevistas. Al poco tiempo tuve mis primeras entrevistas, fueron telefónicas y con un Google doc en frente, donde iba bosquejándo código para resolver los problemas que me planteaban al teléfono. Ahí me dí cuenta de dos cosas: a) mi inglés no era tan bueno como creía, b) los problemas eran fáciles. Supongo solo querían saber si de verdad programaba y evitar seguir entrevistando a alguien que no entiende ni la notación de la O grande. El tipo de problemas era como los fáciles de los contests, y ellos previamente me dieron una lista de temas de interés para que me prepare, cosa que casi no hice y sobreviví igual. La lista hacía mucho énfasis en algoritmos y estructuras de datos, pero cubría conceptos básicos de redes, webs, sistemas operativos, paralelismo, estadística, etc. Un poco de todo, pero mucho de algoritmos y estructuras de datos. Las personas que hacen las entrevistas no son de la sección recursos humanos ni mucho menos, sino que son empleados comunes que están en puestos parecidos a los que uno accedería de superarlas, así que son altamente técnicas, aunque pueden incluir alguna pregunta más amplia (un problema de Fermi por ejemplo).

Una vez superadas las entrevistas telefónicas me ofrecieron un viaje todo pago a Mountain View para una serie de entrevistas personales. Ahí empecé a consider un poquito más en serio, pero no mucho, la posibilidad de irme a vivir a EEUU para trabajar en Google. ¿Quién podría decir que no? Si todos sabemos que en el campus de Google los unicornios se venden en cajas de 12. Pensé que de ir tendría que dejar todo acá (como mi flia, mi formación doctoral incompleta, etc. solo me llevaba a mi novia, y tampoco era sencillo), pero mi razonamiento fue más o menos así: es más fácil irme ahora que no tengo hijos, que soy jóven como para experimentar, y tengo tiempo y energías para hacer grandes cambios, que hacerlo más adelante completamente instalado con una flia formada, probablemente casado, con hijos, perros y esas cosas. Entonces dije que sí, que ahora o nunca, y allí sobrevino un problema. Desde Google me hicieron notar que si superaba las entrevistas igual no iba a poder ir a trabajar allá porque el cupo para el tipo de visa que necesitaba para trabajar en USA estaba completo, así que tuvimos que suspender el proceso. Listo, así de simple, se cortó todo, pasó mi oportunidad, y aunque amablemente prometían tenerme en cuenta para más adelante, pensé que jamás se iban a volver a acordar de mi.

Pero a principios de este año volví a recibir noticias. Avisaban que en abril se reiniciaba otra vez el cupo, y preguntaban si quería seguir donde habíamos dejado. Después de idas y venidas, de hacer papeles y papeles para obtener el pasaporte y otras burocracias necesarias, terminé aceptando. Me pagaron los pasajes de avión, un hotel excelente (para que se den una idea, la cama tenía control remoto para elegir cuan duro quería el colchón), me alquilaron un auto para que me mueva por allá desde el aeropuerto al hotel, y del hotel al campus (que resultó ser una van, con la cual me pegué una perdida importante el primer día y me costó una hora extra llegar al hotel), y me prometieron reembolso de los demás gastos de comida. Estuve un poco más de dos días allá, me hicieron llegar antes para estar descansado para las entrevistas, que fueron todas el último día.

Las entrevistas fueron nuevamente bastante técnicas. Fue más fácil el inglés cara a cara que al teléfono. Esta vez me preparé un poco más, principalmente mirando clases de OpenCourseWare del MIT. Las entrevistas eran en una salita con un pizarrón, donde me hacían escribir los códigos (nada de computadoras). Los problemas planteados, contrariamente a lo que esperaba, no aumentaron mucho su dificultad. La gracia creo que no estaba tanto en escribir los códigos correctos, sino en comentar mi razonamiento antes de hacerlo, en mostrar qué cuestiones consideraba importantes, cómo sopesaba las alternativas, si me daba cuenta cuando me marcaban un error y era capáz de corregirlo, etc. No me fue excelente, pero tampoco me fue mal. Si en algún momento no supe que responder fue una cuestión de comunicación (no enteder la pregunta). Cometí varios errores, que me costaron tiempo, pero que supe corregir. Al final, me vine conforme con mi rendimiento (no fue genial, pero sí más de lo que esperaba), pero sin tener idea del veredicto.

En la mitad de las cuatro entrevistas, un quinto empleado me acompañó a almorzar y hablamos libremente (ese empleado no tenía que evaluarme). La vida en Google parece fantástica, con lo poco que alcancé a ver, realmente es como estar en Disney. El lugar está lleno de juguetes, la gente pasa con sus bicicletas a la oficina, lleva sus perros, hay mucho espacio verde, todos parecen contentos (aunque también parece que nadie se conoce con nadie, escuché hay más de 10.000 empleados ahí), etc. Me vine con una gran imagen de Google, no una gran imagen de USA, aunque esto se debe a que no tuve mucho tiempo para pasear, y encima me acobardé de salir en el auto por la perdida del primer día. De todas formas, desde antes de empezar la aventura, sabía que no quería quedarme para siempre en USA, sino que solo quería ir para hacer experiencia, obtener algunos ahorros, y volver en unos años a criar a mis futuros hijos aquí.

En fin, al día siguiente de las entrevistas tomé el avión de regreso sin noticias. Estaba avisado de que las noticias tardarían un par de semanas. A los 10 días, me informaron que había superado las entrevistas, que iban a hacerme formalmente una propuesta de trabajo. Recibí un borrador en forma de aplicación para Chrome, y eso me obligó a instalar Chrome por primera vez (extrañamente no uso muchas de las aplicaciones/servicios de Google, ni siquiera GMail). El texto hablaba de un sueldo muy bueno y todo tipo de comodidades adicionales. Extrañamente no decía bien qué iba a hacer yo allá, ni horarios de trabajo, ni nada de eso. Durante las entrevistas, los entrevistadores me dijeron que es común que primero te contraten, y luego te ubiquen en un proyecto, pero prometiendo considerar tus gustos y capacidades. Eso me generó ciertas dudas, ya que nunca trabajé en una empresa privada, sé que es muy diferente a trabajar en el ámbito académico, aunque de las posibles empresas, Google sería aparentemente de las mejores opciones para hacer el salto.

Con la posibilidad confirmada, y el apuro de responder por los plazos de la visa, charlé el tema con la familia, mi novia, mi bicicleta, y con algunas personas de confianza en la universidad, para analizar cuales eran mis perspectivas de quedarme en la Argentina, o qué perdía/ganaba lléndome. En un análisis frío, mi pérdida era el doctorado, en el resto no perdía nada, a lo sumo volvía en unos años y retomaba más o menos igual, pero con experiencia y un punto más bastante fuerte en mi cv. Sin embargo yo no me sentía 100% convencido, había cuestiones personales de por medio que no podía identificar. Así que no quise irme a las corridas, sin poder acomodar mis cosas ya empezadas (tanto a nivel personal como profesional), pensando que igual me gustan mi vida y mi trabajo acá, y que tengo buenas perspectivas a futuro. Dí muchas vueltas para decidirme, hasta mi novia, que prometía acompañarme si me iba se volvió todavía más loca en el proceso. El problema era que de alguna forma yo me quería quedar, pero no encontraba bien de qué agarrarme, todos decían que me vaya y pruebe, que no había nada que perder. Me costó bastante entenderlo y aceptarlo, pero era así, yo no había estado esos meses preparando mi salida, y eso tal vez indicaba que en el fondo no quería irme, aunque yo decía y pensaba en gran medida que indicaba que no me tenía fe para las entrevistas. En realidad fui a las entrevistas pensando que al ver las cajas de 12 me terminaría de convencer y volvería decidido a irme (y también pensando que lo más probable era que no pasara las entrevistas y me ahorra la desición). Pero no fue así. Vi las cajas, pero no volví convencido, sino con más dudas, y no sé bien por qué.

Mi proceso no fue nada especial, parece que ellos aplican este sistema de entrevistas, primero telefónicas, luego en vivo, para todos, y entrevistan a mucha gente. Hay algo que saqué en claro de todo esto y que me sorprendió gratamente: tenemos la posibilidad de trabajar en empresas como Google. Está claro que en Argentina hay gente capaz, pero para mí no estaba tan claro que la formación que esa gente recibe estuviese a la altura. Pero el nivel de las clases del MIT que vi en mi preparación, o de las preguntas que me hicieron en la entrevista, indica que los estudiantes de aquí tenemos una muy buena base. No alcanza para pasar las entrevistas con lo que uno aprende en la universidad, pero si uno es entusiasta y se dedica, la universidad brinda todas las herramientas necesarias para poder aprender y entender lo que falta sin problemas. Por otro lado, sí se necesita saber responder bajo presión (uno va nervioso), hablar con propiedad (en cuanto a lo técnico, ya dije que el inglés no era mi fuerte), y no tenerle miedo al examen oral. La mayoría de los estudiantes que veo a diario sufrirían horrores por esto último. Supongo que en mi caso, la experiencia de dar clases me ayudó muchísimo a perder esos miedos. Pero lo importante es que se puede, y no hay que ser un super genio. Si yo lo fuera habría hecho alguna actuación más decorosa en los contests, y la verdad es que no fue así. Si me llamaron a mí por eso, tienen que haber intentado llamar a más de 1000 más, porque si yo estuviese entre los 1000 mejores (y solo contando los que se toman el tiempo para participar) podría avanzar una ronda más de lo que avanzo cada año y tendría varias camisetas de Google en mi ropero.

Siempre dije en las charlas de café: "Si Google me ofrece ir a lavar los baños, voy sin pensarlo, ¡es Google!" (literalmente). Y al final me ofreció algo más y lo rechacé, se siente muy raro. Lamento haber tardado tanto en darme cuenta, y mientras tener a todos esperando (tanto mi flia/novia/amigos, como los contactos de Google). No es nada fácil llegar hasta ahí y decir que no, pensando que voy a tener que cargar con esa decisión si las cosas no salen bien en el futuro, pero igual no pienso arrepentirme. Tal vez aparezca otra oportunidad más adelante, y esta vez estaré mejor preparado. De todos modos fue una aventura genial, la gente de Google se portó de 10, y lo disfruté mucho. La verdad es que si alguien en una situación parecida me preguntase le diría que se vaya. Desde afuera, no hay dudas de que si sos joven y todavía estás a tiempo de encarar aventuras, te conviene ir, la experiencia debe ser fantásticas y seguro que se aprende muchísimo. Pero la decisión es de cada uno, y cuentan muchas cosas que uno no puede cuantificar, porque como dice el grandísimo Chizzo citando a Pascal en "El final es donde partí": loco de pensar, queriendo entrar en razón, y el corazón tiene razones que la propia razón nunca entenderá.

2 comentarios:

  1. William Esteban Bolaños31 de julio de 2013, 19:54

    Zaskar sos un genio!, podés trabajar en cualquier gran empresa Apple, Microsoft, etc.
    En Argentina te han dado algún premio por PSeInt u otro desarrollo?

    ResponderEliminar