Una compañía con la que trabajo me ha pedido que haga pruebas de teléfono de candidatos para asegurarme de que no se avergüencen por completo al enviar a alguien a un cliente potencial.
Resulta que un buen número de personas fueron ubicadas para un rol de desarrollador de C ++. No paso mucho tiempo en C ++, pero he realizado algunos proyectos triviales y no triviales en el lenguaje. Pensé que "Explicar el idioma de RAII" sería una buena pregunta de softball que los desarrolladores más serios de C ++ podrían responder mientras estaban medio dormidos, y me permitiría pasar a preguntas más interesantes sobre la experiencia. Pero resulta que las personas que tienen más de 10 años de experiencia en C ++ no reconocen el término, incluso si amplío el acrónimo a "Adquisición de recursos es inicialización". Un candidato llegó a decir que sentía que no siempre era práctico aplicar la técnica en el desarrollo de Windows, lo cual pensé que era un sentimiento extraño, pero pude ver un par de ejemplos que posiblemente respalden esa línea de pensamiento.)
Incluso un par de desarrolladores de C ++ que conozco lo suficientemente bien como para juzgar su competencia dijeron que no reconocían el término, pero al leer un resumen de la técnica, dijeron "Oh, sí, no sabía que tenía un nombre. Simplemente pensó en esas cosas como algo que solo tienes que hacer ". Recuerdo el término de la segunda edición del libro de Stroustrup, a pesar de que el impacto total no se absorbió en ese momento.
Entonces, es "¿Puedes explicarme el idioma de RAII?" ¿Una pregunta de evaluación justa? ¿Es razonable esperar que todos los desarrolladores competentes de C ++ lo entiendan? ¿Es el término más esotérico de lo que yo pensaría? Suponiendo que un candidato no conoce el término, ¿hay preguntas de seguimiento que podrían ayudarme a descubrir si al menos han internalizado las prácticas que hacen que funcione la RAII? ¿Existen mejores preguntas alternativas "de desvanecimiento" que le den al candidato cierta flexibilidad para responder y lo ayuden a demostrar su comprensión del desarrollo de C ++?
Edición para agregar : Para aclarar, no soy el tipo de entrevistador que descalifica a las personas porque no conocen palabras de moda y siglas. Sin embargo, creo que es razonable esperar que un programador experimentado de C ++ haya internalizado buenas prácticas para la gestión de recursos. También creo que es importante verificar que un candidato comprenda algunos "conceptos básicos" sobre la tecnología en la que afirma tener experiencia antes de pasar a preguntas más interesantes sobre diseño, resolución de problemas, etc. Creo que lo que estoy buscando es una buena manera para hacer una pregunta abierta, adecuada para su uso en una breve revisión telefónica, que puedo usar para juzgar la comprensión básica de un candidato de las buenas prácticas de gestión de recursos en C ++, antes de hacer preguntas "difíciles".