Entrevista de Trabajo 1: Segunda parte, clímax

En la entrada anterior, explicaba como conseguí ser entrevistado por una empresa de videojuegos (a estas alturas algunos sabréis cual es). Así que hoy continuo explicando como fue mi preparación para ir y como fue la prueba.

El caso es que como me suponía (acertadamente) que me iban a hacer un examen, me fui a CodeSampler y me baje unos exámenes de programación y gaste los dos días entre el mail y la entrevista haciéndolos, repasándome bien algunas cosillas de STL y Boost (que se pedían en la oferta). También pedían Lua, pero como lo use en el PFC, lo tengo bastante más dominado. Tambien, una cosa importante, en este tipo de empresas es estudiarse bien sus anteriores proyectos… para que vean que hay interes, y porque es posible (y pasa) que alguna pregunta tenga que ver con alguno de sus proyectos. Asi que me repase todas las entrevistas que encontre y me empolle todos los datos posibles.

El caso es que llego a la empresa, me abre la puerta la recepcionista y me hacen pasar a la sala de reuniones (llena de bonicos posters, artworks, juegos, etc.). Mi entrevistador, le llamaremos M, viene y me dice que llego algo pronto (solo unos 10 minutos) y que me espere mientras lo prepara. Eso si, me ofrece una coca cola de mientras. Trasteo con el Doom RPG acabado de comprar (la noche anterior) y curioseo la sala. En nada empieza, la entrevista, se presenta, me comenta que habrá un test escrito y que en un rato debería venir el productor, lo llamaremos S.

Primer dato, M comienza comentándome que ha entendido mi curriculum por encima (si lo se, enviaba la versión en ingles). Mi primera propuesta, “ah… no te preocupes, que yo hablo bien ingles”. Su respuesta, “eso esta bien, de echo es un requisito”. Hacemos un repasito por el CV y cuando no había ni empezado, se presenta S, que si que hablaba castellano. Seguimos un poco hablando del CV, mirándonos la demo y M le dice a S, que vamos a empezar con el technical stuff, así que S se despide y se va.

M abre mis soluciones a los ejercicios y me pregunta sobre Unit Testing (buenas vibraciones), comentamos mis soluciones, me pregunta como me enfrente a los ejercicios, que me parecieron (fáciles, difíciles, etc.), también algunos detalles técnicos (porque uso C++ para la solución, porque uso las librerias de C en vez de las de stream). Un detalle curioso, es que me comento que a el para el primer problema hubiera usado Python (más buenas vibraciones), porque era una utilidad de conversión… yo la verdad es que C++ era lo que tenia mas a mano y quería hacer una entrega a tiempo (cosa que conseguí).

Bueno, M me dice que ahora hay una prueba escrita, “aquí hacemos muchos tests” me explica mas o menos que hay 10 preguntas concretas de programación para las que hay una solución y otras 4 de “rollo” que son de algoritmia y mas “de juegos”. Así que me da una hora para resolverlo. Como detalle curioso, me lleve mi pluma Mont Blanc y luego no tenia tinta :cry:. La verdad es que las 10 preguntas no me parecieron muy difíciles (eso si, eran de templates y cosillas sutiles de C++, o sea que había que conocer bien el lenguaje, no haberse mirado un tutorial), pero vamos… las hice lo mejor que pude y creo, sinceramente, que me defendí bien. Las de rollo también supe defenderme, aunque la primera (que tenia que ver con sombras) me pillo pero bien bien… porque a mi los gráficos son una cosa que no me va mucho. El test de programación, eran preguntas muy concretas de implementar algo en C++, buscar errores, alguna cosilla de averiguar la salida de un programa (que necesitaba que supieras un poco como iba el bajo nivel) y un par de preguntas “teóricas”. Cuando se habla de estos tests en Stratos, hay quien dice que cuando programa compila mucho y mira referencias. La verdad es que algún errorcillo se me escapo, pero se podían hacer sin ninguna referencia (suelen ser cosas autónomas, no necesitas programar una cosa entera).

Las preguntas rollo, pues la verdad es que me dio la impresión que consistía en ver si podías idear algún método y plantear soluciones más que saber mucho. Con desigual éxito, conseguí hacer algo en todas. La mitad las saque muy bien, otra la saque medio bien y la de las sombras me contente con plantear ideas. Eso si, durante esta corrección estuve en una sala mucho mas chuli, toda acristalada (un productor necesitaba la otra) y con esto acabo la prueba… y yo me fui a casa mas tranquilo, con la satisfacción de haber acabado ya (porque la verdad es que tanto test, mas practicar el día anterior, me había dejado cansado mentalmente).

Según me comento M, que ya tenia prisa porque sus compañeros le estaban gritando para irse a comer, la semana que viene me dirán algo… yo espero (y deseo) que sea para bien. Os informare puntualmente. Hasta entonces, igual editare los posts, para que queden mas claros cuando tenga un poco mas de tiempo.

Por FANatiko

5 Comentarios en “Entrevista de Trabajo 1: Segunda parte, clímax”

jcantero
31 de Julio de 2006 a las 16:54    

Desde que lo uso, estoy encantado con python. Es superproductivo. Y eso que lo empleo para hacer aplicaciones de GUI en Windows (con wxpython), que seguramente no es de los usos que uno pensaría en un primer momento para emplearlo… ;-)

En serio, si es que no te has puesto todavía las pilas con python, ya estás tardando. O:-)

FANatiko
1 de Agosto de 2006 a las 12:16    

@jcantero: Ya se que tendría que meterme con el Python, pero hasta no hace mucho he estado tanteando las opciones Ruby (y Rails) era muy tentador (y tenia un buen libro “biblia”). Ahora me he movido a Python por la mayor cantidad de librerias y, porque, al final, Rails no esta en muchos hosts baratos, con lo cual es mejor optar por otros frameworks. Aunque lo que me motivo a ponerme con Python fue el magnifico Dive Into Python… que me permite rapidamente ponerme con el lenguaje.

Eso si, este año he estado mas metido en temas de C++ (p.ej aprender a sacarle partido a STL y usar un poco la Boost) porque era el lenguaje que usabamos en master para hacer los proyectos (y ademas es el que piden muchas empresas de juegos).

jcantero
1 de Agosto de 2006 a las 15:47    

Logicamente, C++ es un “must”. Pero cuando el rendimiento no es crítico (o, por ejemplo, a la hora de hacer prototipos), un lenguaje como python es una bendición.

De todas formas, no todo el mundo debe pensar que es lento ;-). Una de las cosas que más me han impresionado es que lo usen en EVE Online: http://www.eve-online.com/faq/faq_07.asp (mira el punto 7.4).

De lo que se entera uno buscando información de un error en Internet XDD

Rodrigo
18 de Agosto de 2006 a las 23:00    

Suerte man … no entendí mucho de programación, pero espero que consigas el trabajo :)

FANatiko
20 de Agosto de 2006 a las 18:08    

@jcantero: Ya conocía ese dato. De hecho estuve ojeandome el tema del Stackless Python pues me resultaba interesante ver que habian hecho para maximizar la eficiencia del lenguaje. Eso si, el tema del Python en EVE… habria que ver que parte esta en C++ y que parte esta en Python, pues en juegos, ahora mismo las CPU estan bastante ociosas (salvo que la IA sea muy intensiva) lo jodido es la comunicacion en el pipeline grafico (osea, la comunicacion con DirectX, OpenGL o lo que sea que te permite interactuar con la tarjeta gráfica).

@Rodrigo: ¡Gracias! Yo también lo espero… aun estoy esperando respuesta, que me envio un mail el lead programmer explicandome que estaban muy liados y aun no se habian decidido… en cuanto sepa algo lo contaré por aqui (especialmente si es bueno).

Deja tu comentario...

Más entradas en Simfoony