¿Cuáles son algunas formas de clasificar a los candidatos de programación con experiencia cero?

15

Yo trabajo para una empresa relativamente pequeña. No recibimos muchos currículums de personas con experiencia, sin embargo, estamos en una posición en la que debemos contratar personas para crecer. Con bastante frecuencia recibimos currículums de personas recién salidos de la escuela.

Nos gustaría tratar de encontrar los diamantes en bruto, pero volar a personas no locales y sacar un día de la semana de varias personas para hacer una reunión, la entrevista en persona es costosa. También hacemos entrevistas telefónicas para cualquier candidato semi-prometedor, pero puede llevar un tiempo configurarlo, y generalmente se pierden un par de horas de trabajo.

Hemos considerado implementar una prueba de programador, pero aún tenemos que descubrir una buena que otros estudios no estén usando.

¿Cuáles son algunas prácticas que utilizan sus estudios para examinar a estas personas, con una sobrecarga interna mínima?

Tétrada
fuente
3
Odio criticar a un compañero de UnityAnswers :) Pero esto ya se ha respondido ampliamente en StackOverflow. Además, aquí, nosotros somos los que intentamos ser contratados, no hacemos la contratación. :) Publica una pregunta sobre cómo evitar esas preguntas estúpidas de la entrevista. :)
Cyclops
66
Respetuosamente estaré en desacuerdo con usted en el segundo punto. Personalmente, considero que la gestión de proyectos de juego y la dinámica del equipo son tan importantes para el envío de juegos como los problemas que tienen las personas "en el terreno". Los buenos juegos los hacen buenos equipos que tienen buenas personas.
Tetrad
Creo que a lo que John C se refería era que hay muchas respuestas en SO para las pruebas de programación basadas en entrevistas. Tampoco creo que basar una decisión en una prueba de programación sea la determinación final.
Casey
-1, lo siento. Ambos no están en el tema (pregunta SO realmente), y respondieron alrededor de 50 mil millones de veces.
El pato comunista
+1 por preguntar sobre el crecimiento de un equipo en lugar de tratar de ocupar un puesto. No hay comentarios sobre si pertenece aquí o SO. : P
michael.bartnett

Respuestas:

12

Tenemos un entorno mixto de arte / tecnología, pero el proceso de contratación es siempre el mismo. Recoge currículums interesantes y ofrece a los candidatos una tarea de principio a fin por su cuenta, donde solo le das un concepto elevado. Para los programadores, un pequeño juego que se puede hacer en varios días (puede usar el arte o el material del programador) en el que le das un concepto de lo que debe hacer y la tecnología para hacerlo. Un juego realmente básico. Para los artistas es un trabajo de especificación o un tono para el concepto.

Pueden trabajar solos en eso, pueden usar cualquier ayuda que necesiten (google, preguntar, lo que sea) siempre que terminen en la fecha límite programada. La prueba consiste en la primera selección si el proyecto es realmente lo que se suponía que debía ser (funciona, etc.) y dónde se realiza el proceso que usó para hacerlo y la revisión del código donde se discuten sus decisiones mientras se realiza.

Fotograma clave
fuente
9

Que demonios... :)

Cómo reclutar grandes desarrolladores

¿Qué proceso utilizas para reclutar programadores?

¿Cuál es la mejor manera de contarle a un excelente programador en una entrevista de trabajo?

¿Cuánto tiempo le tomará a un desarrollador senior resolver FizzBuzz en una entrevista?

Cíclope
fuente
No es que esas sean malas preguntas, pero el alcance de esta es más específicamente para las personas no mayores que podrían necesitar capacitación y supervisión. No tengo problemas para elegir a las personas mayores que son buenas. Tengo un problema tratando de encontrar personas inteligentes que simplemente no tienen suficiente experiencia para sonar bien en una entrevista tradicional.
Tetrad
1
@Tetrad, solo una de las preguntas mencionó a senior , y la elegí principalmente porque mencionaba la prueba FizzBuzz , que al menos podría ayudarlo a las personas que usan la pantalla del teléfono. :)
Cyclops
6

Sin experiencia profesional no significa que no haya experiencia en absoluto. Compruebe si los candidatos han participado en algún evento local / global, como el atasco global de juegos, el festival de juegos independiente o si simplemente han creado un sitio web con su cartera.

Por otro lado, algunos programadores adoran las competencias de programación; compruebe eso también (ACM, TopCoder, Google Code Jam, UVa, SPOJ, por nombrar algunos). La experiencia en este tipo de competiciones compensa cualquier prueba extraña en la moda y probablemente te ayudará a obtener algunos currículums.

En general, creo que esta publicación de Joel Spolsky siempre ayuda.

reefaktor
fuente
2
+1. La experiencia previa no profesional es imprescindible. Si no han escrito ningún juego (o proyecto similar) al solicitar un trabajo, será mejor que esperes a alguien que sí lo haya hecho.
Macke
+1 Si alguien se postula para trabajar como programador en su estudio y nunca ha intentado hacer un juego, incluso si es simple, puede que no valga la pena.
michael.bartnett
6

La forma más rápida de seleccionar candidatos es una entrevista telefónica de 10 minutos. Por lo general, dentro de las primeras preguntas, sé si será un buen candidato o no.

  1. ¿Conoces C ++ o C?
  2. ¿Me puede decir la diferencia entre estas dos variables?

    int a;
    int* b;
  3. ¿Cuál es la diferencia entre a++y b++?

Considero que el conocimiento de los punteros es el nivel mínimo absoluto de competencia. Si está solicitando un trabajo de juego profesional y no sabe cómo funcionan los punteros, va a estar muy loco.

Chris Masterton
fuente
Creo que vamos a terminar con una prueba de programación cronometrada para llevar a casa. Entonces, algo como esto, pero puede ser despedido por correo electrónico sin tener que ocupar necesariamente uno de los tiempos de nuestro programador (aparte de anotar si después del hecho, por supuesto). Ya hacemos una entrevista telefónica, y ese es un buen proceso de selección, pero esperaba más ideas prácticas. +1 de todos modos.
Tetrad
55
En mi experiencia, cuanto más larga sea la prueba de programación, mayor será una pérdida de tiempo para todos los involucrados: el objetivo debe ser un filtro. Se sorprendería mucho de cuántas personas no pudieron responder la simple pregunta de Chris sobre los punteros anteriores, pero podrían engañarlo fácilmente por teléfono en una proyección. Probablemente podría capacitar a su administrador o persona de recursos humanos (si tiene uno) para filtrar las respuestas a esas preguntas; no es necesario perder el tiempo del programador y rápidamente sabe si tienen algún conocimiento sobre la programación.
Dennis Munsie
4

Una de las cosas que está circulando rápidamente como un mecanismo de filtrado fácil es la codilidad.

http://codility.com/

Es un servicio por el que paga para realizar pruebas de programación temporizadas automatizadas. Lo malo es que hay un número fijo de pruebas. Lo bueno es que las pruebas se califican automáticamente por pruebas unitarias. Entonces, para sacrificar a un gran número de personas, este podría ser un buen enfoque.

Tétrada
fuente