Mi experiencia en un verano de entrevistas

totespare

Buenas a todos!

Pues como seguramente sabréis debido a la chapa que doy a veces con ello en la taberna, llevo echando currículums y haciendo entrevistas (tranquilamente habré hecho 20 o 30 estos meses) de manera "intensiva" desde mayo, y gracias a @kesada7 que me ha animado a ello, he pensando que con todas las pruebas que he pasado, las entrevistas, los requisitos etc. que he pasado, podría hacer un hilo recopilatorio, y si con ello ayudo a alguien a conocer de antemano las posibilidades que puede haber frente a un proceso de selección en gamedev, pues chachi pistachi. Así que empecemos!

Disclaimer

Esto es MI experiencia personal, no quiere decir que sea una verdad absoluta, y seguramente estará sesgada por varias razones (el tipo de puesto al que aplico, las empresas, mi experiencia...), así que tomáoslo como tal. No he venido a sentar cátedra, sólo a contar mi experiencia, y si a alguie le sirve, pues ya habrá valido la pena.

Mi perfil

Antes de nada, lo suyo es que os de un poquito de contexto de mi perfil. De estudios, hice un grado medio de informática hace eones, luego un superior (DAM), y luego el máster de videojuegos de la UCM. Y entre medias hice otras cosas no relacionadas, como psicología e integración social xD. De trabajo (en términos de informática), he estado 2 años de fullstack java según salí del grado superior, y luego un año de programador de C++ en temas de simuladores de vuelo, y ahora estoy en temas de localización (aunque el término real de lo que hago es internacionalización, según me dicen siempre aquí) en EA, currando en FIFA20 y en NFS Heat. En temas de trabajos por mi cuenta/portfolio he hecho algunas jams donde he hecho de todo un poco, desde 2D hasta VR y AR, un par de juegos chorra que subí a la store de google, y en cuanto a cosas más serias, hice una app de AR para unos dentistas, y estuve unos meses haciendo un juego para unos alemanes (el que ya sabéis muchos, con @pirri1721 y @Hukha), todo en Unity. El juego del proyecto del máster fue en UE4 y ganó un premio chorra en los talents de 2018, pero sin más (participé sobretodo los primeros meses, pero luego tuve un accidente de moto y tuve que dejarlo de lado, por desgracia).

Donde pretendo acabar es en algún puesto de gameplay/VR, o si me dan la oportunidad, en temas de IA u online (digo si me dan la oportunidad porque tengo menos conocimientos en este área, pero me atrae mucho). Así que ese es mi objetivo desde hace unos meses, y la razón de todas estas entrevistas que he ido teniendo.

Y yo creo que por esa parte, más o menos queda bien resumido.

Motivaciones

Los que me conocéis, sabéis que soy un puto culo inquieto, y que cada día puedo levantarme con ganas de hacer algo completamente distinto a lo que quería hacer ayer, y eso hace que me esté moviendo constantemente. Voy a todas las charlas que pillo, intento hacer todos los contactos que pueda, y me intereso por prácticamente todos los aspectos del desarrollo de un videojuego. Y como muchos aquí, soy especialista en empezar juegos y no acabarlos (aunque quitando los de las jams, he acabado 3 al menos :D).

Llegados al punto en el que estoy ahora mismo, trabajando en localización, y teniendo contrato temporal (aunque decían que seguramente me renovarían), estando a un mes de que se me acabe... Pues bueno, mi búsqueda se ha intensificado. Aunque lo cierto es que llevo desde mayo buscando (porque mi curro actual no es precisamente ideal para un programador), porque desde el principio he sabido que aquí no me sentiría realizado.

Mi búsqueda

Para empezar, comentar que las páginas que he ido utilizando son estas:

Y algunas más que no recuerdo, pero de menor importancia.

He aplicado siempre a puestos junior o sin catalogación, e incluso de Graduate ("Gameplay programmer", "Unity programmer", "Game programmer"), nunca senior ni lead, obviamente, donde la mayoría de conocimientos los cubría de forma global, salvando algunas ofertas donde me tiré a la piscina aún sabiendo que me rechazarían sólo al ver mi cv, pero por intentarlo que no quede. Tampoco apliqué a puestos en remoto, pero no porque no quisiera, sino porque los requisitos suelen ser bastante más altos en cuanto a la experiencia.

También he trabajado con 2 o 3 headhunters (de aardvark swift, sobretodo), que me iban (y siguen) buscando ofertas a las que pueda aplicar, y la verdad es que la mayoría son peña que se lo curra y se preocupa de verdad, es una buena experiencia y que recomiendo 100% (con contactar con ellos por privado en LinkedIn es más que suficiente, y si os ven con ganas, probablemente se ocupen de vosotros sin problema), y completamente compatible con buscar por tu cuenta. Ni que decir tiene que TODO esto que comento es en inglés. No english, no party.

Empresas a las que he aplicado

Mirando un poco el email, y así pensándolo de cabeza, esta es la lista de empresas a las que he hecho apply:

spoiler

Y la verdad es que me dejo muchisimas que son más pequeñas (y seguro que alguna grande más me dejo), pero creo que es una buena lista de ejemplo.

Requisitos que me han pedido fuera de entrevista

  • Lo más extendido que piden es el portfolio, que, en mi experiencia, no necesariamente tiene por qué ser en forma de muestras de código. Quieren saber en qué has trabajado y qué has aportado a ese proyecto, y eso suelen preguntarlo más en la entrevista como tal, pero sí que quieren saber previamente qué cosas has hecho (y si podéis, empoyároslo bien, porque es más que probable que os pregunten cómo habéis resuelto X o Y en vuestro proyecto, y como no os acordéis, váis a quedar un poco mal (me ha pasado xD)).

  • Una carta de presentación y motivación es también básica, y eso sí que lo piden en el 99,9% de las ofertas. Yo prácticamente nunca (alguna vez sí) he hecho una carta específica para una empresa, así que tengo una genérica donde cuento mis motivaciones y hablo un poco en genérico sobre la empresa a la que aplico, sin decir nombres ni nada. Esto puede cantar un poco, pero cuando al día envías 10 o 15 cv's, personalizar la carta puede ser una jodida locura (aunque si tenéis tiempo, siempre es mejor, obviamente).

  • Otra de las cosas que me han pedido varias veces (aunque tampoco creáis que me las han pedido mucho) es tener un repositorio con código de ejemplo, y lógicamente si el puesto es para C++, un repo de C++, etcétera. En el 90% aprox de las ofertas, tienen un apartado para dejar un link a tus repositorios, pero pedirme explícitamente que les pase muestras, muy pocas veces (hmm digamos... 2 o 3 de cada 10).

  • Por último, a veces antes, y a veces después de la entrevista (según tengan montado el procedimiento de selección), suelen pedir, o bien un test teórico de la tecnología que usan en la empresa, o bien una prueba práctica que puede durar unos 7 días, según lo que pidan (lo más normal es una semana entera, porque tienen en cuenta que es posible que estés trabajando y no tengas todo el tiempo del mundo para ello). De esto cuento un poco más en el siguiente punto.

Pruebas técnicas prácticas

Las pruebas prácticas que recuerdo (he hecho más, pero hace mucho ya y no las recuerdo xD) son estas (voy a ponerlas de más recientes a más antiguas, y no diré la empresa porque en teoría son confidenciales, pero si os diré el tipo de empresa que es):

  • Pasar un blueprint de UE4 a C++: con esta prueba estoy actualmente, la tengo que entregar en un par de dias, y básicamente me han dado un proyecto en UE4 con un par de blueprints de dos coches, uno para la IA y otro para el player, y tengo que pasar el de la IA a C++, y luego refactorizar y mejorar el código (que es muy mejorable, viendo el blueprint), siguiendo unos standards que me han pasado (los de la web de UE4, básicamente). Es para una empresa mediana que curra en proyectos AAA (como estudio de apoyo).

  • Acabar un código a medias en C++ donde una nave viajaba por el espacio (en 2d) y disparaba automáticamente a asteroides. Había que añadir algunas features, como que apuntara correctamente a los asteroides (lo hacia mal), o meter un score, entre otras cosas. Esta pasé de hacerla, venía de estar 2 semanas con dos pruebas tochas y estaba hasta la polla xD, así que ahí se quedó. Era para una empresa pequeña.

  • Otra prueba fue un proyecto de Unity que me dieron a medio hacer, donde tenían un planeta 2D en el que orbitaba un satélite (funcionaba mal xD), y tenía que arreglarlo para que orbitara bien, y añadir 2 o 3 features más, como poder controlar uno de los satelites con un thruster y poder salir de orbita, y luego dejarlo en modo automático cuando quisiera, para que volviera a una órbita estable. Y de paso que añadiera alguna cosa opcional que a mi me gustase. La acabé ( @d-bug me echó un cable con algunas cosas) y la envié, pero me dijeron que había mucho nivel y que habían seleccionado a otra persona. Era una empresa mediana también.

  • Una de las que más me gustó, por lo mucho que aprendí, fue hacer un chat en Unity, cuyo servidor tenía que ser en C# con una aplicación de consola. Hice TODO lo que me pidieron, cambio de nick, mensajes privados, reconexión en caso de caída del servidor, historial de mensajes para los recién conectados... Pero no les valió, me dijeron que necesitaba más nivel, sin dar más feedback :man_shrugging: . Era una empresa grandecita y bastante importante.

  • Este que os cuento aquí no lo hice yo, lo hicieron un par de amigos (yo me quedé en la fase anterior justo): les daban una especie de pacman en C++ y tenían que arreglarlo (mejora de FPS, añadir features...) y optimizar todo lo que pudieras. También querían (aunque no lo pedían explícitamente) que añadieras algo propio que le diera "juego" al juego. Es una empresa tocha tocha.

  • Una que me dio mucha pereza hacer (la dejé a medias), ya que me pareció bastante descarado por parte de la empresa, fue clonar uno de sus juegos (el que yo quisiera) y darle una vuelta de tuerca para que resultara más atractivo. Era en Unity y eran juegos hypercasual, en una empresa mediana pero con mucha pasta.

Pruebas técnicas teóricas

Las pruebas teoricoprácticas (tests o IDE's web donde te piden picar muestras de código para resolver problemas):

  • EA: aquí hice dos pruebas, una web con un IDE y problemas de C++ que tenía que resolver picando código (buscar bugs en un bucle, stl, memory allocation, algunas keywords poco comunes...), y otra en las oficinas donde me dieron a elegir entre C++ y C#, me daban un proyecto de un juego hecho y tenía que hacerle cosillas para localizarlo.

  • Ubisoft: aquí fue puramente teórica (aunque algunos ejercicios eran prácticos, pero no a desarrollar, sólo para contestar si A, B o C) y tipo test. Me preguntaron sobre temas como planos de simetría, transformación de vectores, física, punteros, herencia y ciclo de creación y destrucción de clases... No pasé la prueba, la verdad es que me pareció dificililla para ser junior, pero bueno, tampoco tengo una buena base de mates/física, así que no pasa na.

  • En general: y hablando en general, casi todas las preguntas técnicas han sido sobre C++, física y mates. Temas como punteros, memory allocation, bucles y optimización, contenedores (stl), operaciones con vectores/matrices, física tipo gravedad...

Entrevistas como tal

  • Entrevistas grabadas: esto sólo me ha ocurrido una vez, y básicamente me dieron una app con una serie de videos/preguntas típicas de entrevista, y tenías que grabar la contestación en 1 minuto (podías regrabar las veces que quisieras). La hice hace poco y me han llamado para una segunda entrevista, así que veremos qué tal xD.

  • Entrevistas con rrhh: en general los de recursos humanos quieren saber, primero, si estás colgao o no. Luego de comprobar eso, simplemente intentar ver si encajarías en la cultura de la empresa, si buscas algo similar a lo que ofrecen, si vas a ofrecer tú cierta estabilidad (no irte al mes de entrar), si conoces la empresa y sus juegos (esto lo ven muy positivo siempre, lógicamente). También si necesitarías muchas cosas para el realojamiento (si vas con familia o pareja etc.), y si tienes que sacarte algún visado o algo. Y también que cuánto quieres cobrar, clásica pregunta, junto al tiempo de preaviso que necesitas.

  • Entrevistas técnicas: aquí me han preguntado sobretodo por los proyectos que he hecho. Cuál es el problema más difícil al que me he enfrentado, cómo lo he solucionado, de qué cosas estoy más orgulloso de todo lo que he hecho, qué diferencias veo entre C# y C++, qué motor elegiría para X y por qué, qué contenedores usaría para X tipos de datos/consultas... Un poco variopintas, y bastante abstractas o generales por norma general. Se puede salir airoso de ellas sin ser demasiado específico (cuando más intentes ahondar, más probabilidades de que la cagues, sobretodo si no manejas el tema muy bien).

Conclusiones

Llegamos al final del hilo, y supongo que hay que sacar alguna conclusión... En general, es importante conocer el mundillo, en qué andan los estudios, cómo funcionan los procesos de selección, y hacer cuantas más entrevistas, mejor. Supongo que muchas empresas me tendrán en la "lista negra" después de aplicar con ellos, y hasta dentro de un tiempo prudencial no me reconsiderarían, pero bueno, me atengo a ello e intento aprender todo lo que pueda de cada proceso, para usarlo en el siguiente en el que participe.

Como recomendación final, intentar ser todo lo proactivos que podáis, mostrar interés real y sed honestos en cuanto a la experiencia que tenéis. Crear expectativas altas para luego fallar es una mierda, yo prefiero generar expectativas bajas y luego "deslumbrar". Sin llegar a extremos, claro, pero en general suelo tirar por ese camino. También animaros si lleváis mucho tiempo

Hale, id en paz, y si tenéis preguntas o consejos, disparad sin miedo!

43
DiGuti

Esto es lo mejor que ha dado internet desde la raid del Area51 jejeje

Ánimo tío! al final saldrá algo guapo y sino lo montaremos nosotros ;)

1 respuesta
Sawi

Muy grande!!

Gracias, a favoritos.

1 respuesta
Jastro

Gracias por la parrafada, voy a ir leyendo en el rato de la comida, pero por lo poco que he leido difiere mucho de una empresa de dev como tal

1 respuesta
totespare

#2 #3 #4 gracias chicos, a ver qué ocurre en este mes, espero que esté bien movidito... La semana que viene en la MGW y en el Guerrilla intentaré hacer todos los contactos que pueda, a ver si sale algo xD

B

He tenido que hacer pausa a mitad del tocho para ir a por un café xD

Ahora ya tienes referencias y sabes que cosas debes mejorar... dale caña.

Animo y palante.

1 respuesta
totespare

#6 es denso, si xD, en el transcurso de escribirlo he hecho una entrevista y todo, así que imagina jajaja. He pensado en poner spoilers como si fueran #regions de .net y todo jajaja, pero así está bien de cualquier manera...

NeV3rKilL

Menudo follón y galimatías para entrar a currar en el sector. Yo nunca entenderé eso de que te manden deberes antes de darte si quiera una entrevista, pero claro, estás hablando de prácticamente el TOP del sector donde deben tener applicants a punta pala y han de filtrar de las maneras más heavy.

2 respuestas
totespare

#8 he aplicado a todo tipo de empresas eh? Desde tops hasta las más pequeñas y humildes...

1 respuesta
NeV3rKilL

#9 ¿Y supongo que la mayoría de deberes vienen de las top, no? Porque estás que alguien va a perder el tiempo en hacer deberes para una empresa pequeña...

1 respuesta
JohnVoiden

#8 En el mundo tecnologico casi siempre tienes que hacer pruebas tecnicas, es algo no escrito.

1 1 respuesta
totespare

#10 hmmm mas o menos si, las grandes fijo, y algunas medianas también. Yo creo que más bien es empresas TOP con más de una prueba (1 teorica 1 practica y entrevista técnica), medianas con pruebas prácticas/entrevistas técnicas, y pequeñas pues... cada una de su padre y de su madre. Pero vamos, alguna prueba siempre hay, ya sea teórica o práctica.

NeV3rKilL

#11 En industria, no. Manda cojones cómo han de ser las carreras de IT para que las empresas se limpien el culo con el título de esa manera.

1 respuesta
starfucker

Bueno tio, poco a poco y paciencia que algo saldra al final!

1
JohnVoiden

#13 Por parte más de IT, programadores, es super común. Yo siempre he hecho excepto en la empresa en la que estoy, pero también se tiene que decir que me saque mucho la polla en la entrevista.

1 respuesta
kesada7

Ty por compartir tu experiencia! <3

Yo que pidan test pequeños donde demuestres que entiendes la tecnología que te piden lo veo normal, pero algunos como el del chat con todas esas features me parece una sobrada. Y el de que le copies un juego hypercasual de los que ya tienen pero le mejores algo igual, vamos les falta luego ver que terminen de pulir ellos la prueba y publicar el juego tal cual xD Creo que se ha empezado a abusar mucho de esta practica de mandar "test"

1 1 respuesta
Exor720

A favoritos y me lo leere con detalle

2
totespare

#16 ya... es una putada, aunque por otra parte lo entiendo perfectamente, arriesgarse a contratar a alguien, traerselo de otro país... sin saber si te está colando la trola del siglo o no, es muy jodido. Pero por otro lado, el aplicante se acaba volviendo loco con tanta prueba xD. Supongo que un término medio es algun tipo de prueba de 1 dia o similar...

HeRvaS

#15 Ya que lo dices, comenta la anécdota por que ya me pica la curiosidad, a ver como fue esa sacada de polla y ponnos en situacion

1 respuesta
B

En nuestra industria tenemos que estar constantemente actualizados y en contacto con colegas, sups etc... esto que has hecho lo hacemos muchos de vez en cuando simplemente por estar al dia de que se cuece en el resto de estudios, o simplemente por si realmente pueden ofrecer mejores condiciones y renegociar contrato con tu estudio y similar :). Es una buena forma de mejorar como "empresario"(cosa que no entiendo porque muchos artistas obvian) a la hora de negociar tus condiciones

JohnVoiden

#19 Quería salir de mi anterior empresa, con un estado de seniority de Junior en esa empresa. Al salir de esa empresa, buscaba un seniority de Mid hacía arriba porque me interesaba tener más responsabilidad, cual podía asumir.
Todas las empresas me hacían pruebas y las hacía con gusto. En mi empresa actual, buscaban a una persona con experiencia en buenas practicas, en testing y lo más importante Server Side Rendering, lo cual se me da bastante bien porque desarrolle un sistema para la empresa que quería salir que no se añadió nunca aunque era puntero, no dolía en desarrollo y adaptable al sistema Trogodita que utilizabamos. Como explique a nivel arquitectura y técnica todo el proceso de desarrollo de esa tecnologia(que no reinvente la rueda, pero si hice un nuevo adaptador para esa rueda) no me hicieron prueba y a las semanas introducí todo lo que "vendí" en mi entrevista.
Hay empresas que filtran con las pruebas técnicas, que te ponen soplapolleces. Una empresa me denego el proceso por utilizar un boilerplate(react-scripts) y dejaron de lado la calidad de mi codigo. No tengo tiempo para matarme a hacer un proyecto desde 0 con Webpack solo para vuestro proyecto, porque son 3-4 horas, hacerlo totalmente bien.

Devilpower

Por si alguien le interesa en mi curro estan buscando gente y tienen buenos proyectos entre manos: https://firesprite.com/#jobs

B

Pedazo de hilo, grande.

Maaarc

Buen hilo, bastante interesante, muchas gracias aunque no sea mi sector.

Que paso con la moto?

1 respuesta
dranreb

Muy interesante, debería estar en Estudios y trabajo para que la gente pueda aportar experiencias de entrevistas

1 1 respuesta
totespare

#24 otra moto se me cruzó por medio, sin intermitentes ni na, y rebasando una linea contínua, así que intenté esquivarla y acabé zampándome un camión xD. Me rompí 7 costillicas y la moto quedó siniestra xd.

#25 la verdad es que también encaja ahí, sip. No se si dejarlo aquí o que me lo mueva @Jastro , porque como es concretamente de gamedev, pues bueno... Tú qué opinas, señor mod?

1 respuesta
Nymphetamine

¡Gracias por compartir tu experiencia!

2
Alfrik

Muchas gracias por compartirlo tio, se queda en favoritos! :**

1
berbe

Buen post para dejar claro como esta este mundillo!!

Pues yo este verano me salve tb de una buena en moto, menos mal que entre los reflejos y que no me fui al suelo, todo quedo en un susto tremendo y con la defensa latera totalmente doblada... Desde entonces le he cogido un poco de miedo la verdad.

1 respuesta
totespare

#29 a mi siempre me decían que hay dos tipos de motoristas, los que se han caido y los que se van a caer xD. Esperemos que sigas siendo siempre del segundo grupo :)