10 febrero 2013

Buscando trabajo en EEUU: Zappos I

Ésta será la primera de una serie de entradas sobre mi experiencia personal buscando trabajo en Estados Unidos como ingeniero de software tras terminar la carrera.

Una de las partes más fundamentales es el currículum, sin un buen CV nadie se va a molestar en llamarte. ¡Pero no mientas! Las entrevistas son muy técnicas y es muy común que te hagan preguntas para que demuestres que lo que dices en tu currículum es cierto. Asegúrate de que tu currículum es conciso y demuestra conocimiento en las áreas que busca la empresa. Hay mucho escrito al respecto, así que no me enrollo más en lo que se refiere al CV.

La segunda parte importante es la entrevista telefónica. A partir de aquí, la cosa cambia y mucho dependiendo de la empresa, así que seré más específico y escribiré sobre mi experiencia particular. Mirando la lista de la revista Fortune con la clasificación de las mejores empresas para las que trabajar en EEUU, o en otras palabras, donde más mola trabajar, destaca Google en el top 5 pero también me llamó la atención Zappos en el 6. ¿Qué narices es Zappos? Pues resulta que es un distribuidor online de ropa, zapatos, etc. Tuvieron tanto éxito que, después de unos pocos años, fueron comprados por Amazon pero mantienen oficinas distintas y, salvo económicamente y en algunos elementos de logística, son prácticamente independientes. Mirando en las ofertas de empleo, descubrí que estaban buscando a varios ingenieros de software. Desgraciadamente, los puestos vacantes tenían poco o nada que ver con mis conocimientos y habilidades, pero decidí echar el currículum de todas maneras porque no tenía nada que perder (excepto el tiempo).

Típica entrevista telefónica. Licencia CC Flickr

¡Menuda sorpresa que me llevé cuando me mandaron un correo diciendo que querían hacerme una entrevista telefónica! Una semana más tarde, uno de los ingenieros del equipo con la vacante y el que sería el jefe para el puesto de trabajo estaban al teléfono conmigo. La entrevista comenzó con las típicas introducciones: quiénes somos, qué hacemos, háblanos de alguno de tus proyectos, etc. Poco después, comenzaron las preguntas técnicas y, aunque no estaba especialmente preparado, tenía una idea general del tipo de preguntas que se podrían hacer por teléfono. Empezaron con unas preguntas muy básicas sobre programación orientada a objetos (¿Qué es polimorfismo?¿Herencia?) y después, normalmente, uno esperaría que le preguntasen sobre estructuras de datos (¿Qué ventajas hay en usar un vector o un array?) o sobre algoritmos (¿Qué diferencia hay entre la búsqueda en anchura y la búsqueda en profundidad en un árbol?). Sin embargo, me quedé a cuadros cuando el que sería el jefe me dijo algo así como: "Ya sé que el teléfono no te lo va a compilar, pero quiero que me dictes un programa que..." y comenzó a describir la típica pregunta del Fizz Buzz. Después de la conmoción inicial, e intentado crear una buena impresión, le dije que esa pregunta ya la había respondido en unas cuantas entrevistas, y le pedí que me preguntara algo un poco más complejo. A eso, me respondió: "Muy bien, pues quiero que me dictes un programa que compruebe si dos palabras son palíndromos." Aunque ésa tampoco era una pregunta especialmente difícil, procedí a dictarle el programa (Pista: en futuras entrevistas descubrí que es considerablemente más sencillo si, al mismo tiempo, escribes el programa mientras lo dictas, ya sea en un ordenador o en un trozo de papel). Cuando terminé, me hicieron algunas preguntas más sobre mi experiencia con ciertas tecnologías y lenguajes de programación. Recuerda que, como con el currículum, siempre deberías ser honesto cuando respondas preguntas relativas a tu experiencia. De hecho, si te consideras un "experto" en una determinada materia, ¡no te sorprendas si la siguiente pregunta es una pregunta técnica que te obligue a demostrarlo! Al final siempre te pedirán que tú les preguntes cualquier duda que tengas, y siempre deberías tener al menos un par de preguntas preparadas. Por último, a mí siempre me gusta terminar preguntando "¿Cuáles son los siguientes pasos en el proceso, y cuándo debería esperar que me contactéis para ello?".

Mi nuevo entorno de programación. Licencia CC Fabio Sassi

Después de unos días, creo recordar que fueron 3 ó 4, me mandaron otro correo comunicándome que había pasado a la segunda fase del proceso, y me pidieron que les diese fecha y hora para un desafío de código que duraría, aproximadamente, 3 horas. Si alguien me dijera lo mismo a día de hoy, les mandaría al garete pero, como era mi primera entrevista con una empresa con nombre, estaba realmente ilusionado y muy contento de haber pasado la primera escabechina. El desafío no era nada particularmente difícil, pero realmente me llevó 3 horas (y 5 minutos). Me pidieron que, usando la API de Zappos, escribiese un programa en java que, dada una lista con el número de identificación de unos determinados productos, buscase la imagen utilizada por defecto y la guardase en un subdirectorio. Como dije, nada complicado, salvo que me avisaron de que iba a tener que programar en perl y ya tenía todo el entorno de programación preparado. Me había pasado toda la semana aprendiendo el lenguaje (no había hecho nada con perl antes) y, cuando me mandaron el desafío diciendo que tendría que ser en java, ¡me pillaron totalmente desprevenido! La mayor dificultad era lidiar con una entrada de datos poco fiable (una simple lista en texto plano), lo que me obligó a escribir una buena parte de código simplemente para evitar problemas causados por erratas e intentar corregirlos en la medida de lo posible. Si tienes curiosidad, aquí puedes ver todo el código.

Después de enviarles un correo con la solución, nadie me confirmó si les había llegado o no. Como tardé 5 minutos más del tiempo límite, estaba bastante preocupado, y le mandé otro correo a la persona que me había mandado el desafío. Resulta que no había nada de qué preocuparse, porque la persona a la que tenía que mandarle mi solución no estaba en la oficina ese día, aunque la falta de coordinación me pareció un poco extraña. Al día siguiente, me mandaron otro correo para otra entrevista telefónica que no iba a ser técnica, ¡había pasado la segunda criba! Fue una conversación muy amigable, más típica de entrevistas de trabajo para otros campos cuya función es, básicamente, asegurarse de que no eres un psicópata integral.

Unos días más tarde, me invitaron a una entrevista in situ a sus oficinas de Las Vegas, en el estado de Nevada. Esta entrada ya es suficientemente larga, así que si queréis saber sobre el resto de la entrevista, podéis leerlo en una próxima entrada.

No hay comentarios:

Publicar un comentario