¿Cómo entrevistar a alguien con más experiencia que tú? [cerrado]

81

La compañía para la que estoy trabajando está buscando contratar a un desarrollador senior con más experiencia que yo, y esperan que haga la parte técnica de la entrevista. Solo he estado programando unos años y no estoy seguro de tener el conocimiento necesario para evaluar las habilidades de codificación de alguien que tiene una mayor comprensión / experiencia que yo.

¿Alguien puede recomendar algunas preguntas de la entrevista técnica para hacer que sean un buen medio para evaluar las habilidades de programación de alto nivel, pero que sean las que pueda entender?

Yo diría que he pasado el jr. nivel de programador, pero nada cerca de senior. La mayor parte de lo que he hecho es crear pequeñas aplicaciones (web y de escritorio), algunas de ellas bastante complicadas, pero todas han sido diseñadas para ser utilizadas por no más de un puñado de usuarios. Siento que tengo una comprensión decente de la mayoría de los conceptos de programación y soy capaz de aprender / enseñarme casi cualquier cosa, sin embargo, me falta experiencia. Como a mi jefe le gusta decirme: "No sabes lo que no sabes".

En particular, las cosas con las que nos gustaría que la persona que contratamos tenga experiencia (que yo no tengo) es: desarrollo de múltiples niveles, entorno de múltiples usuarios, desarrollo de aplicaciones a gran escala, mensajería bidireccional, sesiones compartidas, y Multi-threading / BackgroundWorkers.

ACTUALIZAR:

En respuesta al comentario de Thor a continuación, contratamos a alguien hace unos meses y creo que ha estado funcionando muy bien. Estoy aprendiendo mucho, no solo sobre codificación, sino también sobre cosas como patrones de diseño, arquitectura de software, documentación y cómo otros equipos de programación más grandes hacen las cosas. No siempre es fácil que alguien entre y señale mejores formas de hacer las cosas que ha hecho, pero si puede tragarse su orgullo y estar dispuesto a probar cosas nuevas, puede aprender mucho.

El proceso de la entrevista fue mejor de lo que esperaba. Comencé a hacer preguntas sobre cosas con las que estaba familiarizado, luego hice algunas preguntas sobre algunas cosas con las que estaba luchando. Cada vez que el entrevistado decía algo que no entendía, les pedía que me lo explicaran y luego lo escribían para poder buscarlo más tarde. En general, sentí que podía tener una idea bastante buena del nivel de habilidad, la inteligencia y la forma en que trabajarían del solicitante.

Rachel
fuente
1
@CodexArcanum: eso no es infrecuente, algunas empresas más grandes tendrán los posibles subordinados de un candidato de nivel superior como parte de un panel de entrevistas.
rjzii
1
Es una pequeña empresa con un pequeño personal de TI. Estamos contratando a alguien por un año o dos para ayudarnos con el desarrollo de software para reemplazar nuestro actual, no necesariamente como un empleado permanente. Dudo que me reemplacen, ya que conozco su negocio bastante bien y les gusta mi trabajo, pero incluso si lo hicieran, estoy seguro de que puedo encontrar otro trabajo. Además, están dispuestos a pagarle al nuevo chico un poco más que a mí y dudan de que reemplacen mi salario por el suyo.
Rachel
2
Pídales que le expliquen algo que tiene problemas para entender de una manera que pueda entenderlo. Simplemente no les digas que tienes problemas para entenderlo. :)
dietbuddha
55
Puede haber alguna molestia aquí en ambos lados. Úselo para su ventaja. Una gran opción para este papel será alguien que pueda guiarte mientras te respeta; quién está abierto al hecho de que puede saber más sobre la situación, incluso si tiene menos experiencia en general; con quien puedes construir una buena relación. Si tienes malas vibras: condescendiente, adulador, irrespetuoso, "realmente no importas", entonces probablemente no quieras trabajar con esta persona.
Poolie
1
@Thor, agregué una actualización
Rachel,

Respuestas:

85

No puedes

En cambio, te sugiero que vengas en la entrevista con una lista de problemas que tienes hoy y le preguntes cómo los resolvería .

Este es un método muy interesante por las siguientes dos razones:

  1. Es consultoría gratuita . Incluso si no contratas al tipo, él puede sugerirte buenas soluciones a tus problemas .

  2. Si viene con soluciones interesantes , es un solucionador de problemas . El tipo de chico que quieres contratar.


fuente
27
Usé todos mis votos, pero -1 por esperar consultoría gratuita y +1 por generar una lista de problemas.
Josh K
16
Podría presentar problemas interesantes que ya haya resuelto y ver cómo su solución se compara con la suya. Por supuesto, podría no ser mejor ya que no tuvo tanto tiempo para pensarlo, pero solo ver cómo lo hace dirá mucho.
mbillard
27
Una persona con experiencia verá la 'consultoría gratuita' a una milla de distancia y esto perjudicará las negociaciones. Hay varias compañías en la industria que tienen la reputación de hacer que los candidatos hagan proyectos de una semana como parte de su proceso de entrevista y luego no los contratan, pero a menudo implementan sus sugerencias.
JBRWilkinson
66
@JBRWilkinson: no creo que nadie sugiera proyectos de una semana, creo que están sugiriendo preguntas de entrevistas basadas en el tipo de problemas que el equipo enfrenta actualmente. Eso es perfectamente razonable, después de todo, son el tipo de cosas en las que si estuvieran en el papel en el momento de la entrevista esperarían contribuir.
Jon Hopkins
3
@JBRWilkinson Una persona con experiencia verá la 'consultoría gratuita' a una milla de distancia y esto perjudicará las negociaciones. Estoy totalmente de acuerdo. El esquema de consultoría gratuita es horrible y desafortunadamente no es inaudito.
Sean Patrick Floyd el
62

Usa tu edad como una ventaja.

He entrevistado a un montón de personas que son mayores que yo. Cojo una tecnología que yo no conozco bastante bien y les digo que he escuchado de Tecnología X, pero nunca lo utilizó. Le pido al candidato que me brinde una visión general de la tecnología y cómo la han utilizado en un proyecto.

Esto funciona sorprendentemente bien. En primer lugar, si el candidato solo usa esa Tecnología X como una palabra de moda en su currículum, entonces su explicación será una mierda / no tendrá sentido. Además, si no pueden darle un buen ejemplo concreto de cómo utilizaron esa tecnología en sus proyectos anteriores, tiene una gran bandera roja allí mismo.

Entrevisté a alguien que tenía experiencia en Java Spring. Había usado Spring en mi trabajo anterior, y una de las principales características de Spring es la inyección de dependencia. Le dije al candidato que entrevisté que había oído hablar de Spring y que nunca la había usado. Comenzó a parlotear una y otra vez, pero no podía decirme dónde había usado Spring AOP y no podía explicarme la inyección de dependencia, incluso después de preguntar explícitamente después de ver esas cosas en su currículum. Simplemente me dijo que eran realmente geniales, y que hay mucho que aprender, etc., etc. Resulta que él no conocía a Jack ... y yo fui el único en descubrir que b / c estaba Un miembro más joven del equipo de desarrollo.

¡Aproveche su edad como ventaja! Entre, tenga confianza y haga algunas preguntas sobre la tecnología que conoce bien.

LGriffel
fuente
2
Esa es una versión interesante. En general, veo mi edad / inexperiencia como una desventaja, por lo que es interesante ver cómo se puede cambiar a mi favor
Rachel
16
Se espera que interrogue a alguien en una entrevista; no necesita mentir y decir que nunca ha usado una tecnología para hacerles esas mismas preguntas. por ejemplo, "Veo que sabes $ technology_x. ¿Podrías darme una descripción general, por qué y dónde lo usaría, y un ejemplo de cómo lo has usado en un proyecto?"
user21007
1
Sí, se honesto. No digas que nunca has usado algo si lo has hecho. Solo haz la pregunta. Creo que lo que LGriffel intenta decir es pillarlos desprevenidos. Colóquese debajo de ellos, para que se vuelvan demasiado seguros. Si realmente no saben algo, se mostrará rápidamente.
d -_- b
Esto parece ir de la mano con una de las citas de Einstein: "Si no puedes explicarlo simplemente, no lo entiendes lo suficientemente bien". Parece que el candidato se vería obligado a decir las cosas de manera simple y abstracta y ser paciente para explicarle algo. Todas estas son habilidades que realmente quieres que tenga un desarrollador senior.
c_maker
31

Recuerde que solo porque tienen más experiencia que usted, es posible que no sean mejores desarrolladores que usted. La frase "Un año de experiencia repetido n veces". surge porque ves que esto sucede en la industria. Por lo tanto, su primera tarea durante la entrevista debe ser establecer que realmente tienen la experiencia relevante y que pueden presentarse como alguien que sabe lo que está haciendo. Del mismo modo, el hecho de que alguien haya tenido n años de experiencia en la industria, no significa que tenga mucha experiencia en un idioma, biblioteca o marco de trabajo determinados, por lo que es posible que de vez en cuando vengan a hacerte preguntas mientras están aprendiendo algo

A continuación, recuerde que un buen desarrollador senior es alguien a quien debería poder acercarse y preguntar sobre algo con lo que tiene problemas. Este es un buen momento para hacerles algunas preguntas de diseño que hayan tenido problemas y ver cómo responden y cuál es su razonamiento en su explicación. ¿Han visto algo similar antes en otro lugar, están haciendo una suposición educada basada en la experiencia, leyeron un artículo en línea o en una revista?

Finalmente, otra cosa a tener en cuenta es cómo abordan el código de depuración. En mi propia experiencia, he descubierto que, independientemente del idioma, ciertas técnicas de depuración tienden a aplicarse universalmente. Ofrezca al candidato un ejemplo de uno de los errores más esotéricos que haya encontrado y haga que lo guíen a través de cómo abordarían el error. ¿Tienen alguna idea del problema que no es inmediatamente obvia?

En resumen, entrevistar a un candidato con una entrevista impresionante puede ser intimidante, pero hay algo que debe cubrir independientemente de su nivel (es decir, ¿saben realmente lo que está haciendo?) Y una vez que esté completo, puede comenzar a investigar ellos para ver cómo están aplicando su experiencia. La forma en que los candidatos están aplicando su experiencia laboral previa será lo que hará que un candidato se destaque más que otro.

rjzii
fuente
51
Esta. "N años de experiencia" solo ocasionalmente significa "Muy buen programador". La idiota más grande de mi equipo actual (no la contraté, por cierto, ella estaba allí antes) se jacta regularmente de sus 20 años de experiencia, y luego dice cosas como "El control de código fuente siempre perjudica a los desarrolladores". Eso no quiere decir que no haya viejos hackers salados con los que me encantaría trabajar, pero estoy menos impresionado por su conteo de años que por sus conocimientos y habilidades de razonamiento.
Inaimathi
@Inaimathi esto merece 1000 votos a favor :-)
Sean Patrick Floyd
24

Me gusta mucho la respuesta Use su edad como ventaja , y sugeriría algo similar:

Use su nivel inferior de experiencia como ventaja

Esta persona probablemente será tu jefe o mentor, así que haz preguntas de una manera que te permita saber si esa persona realmente puede ser tu mentor.

Haga preguntas complicadas que podrían hacerse mucho más fáciles o que incluyan problemas demasiado complicados. Si él / ella es bueno, él / ella no solo resolverá el intento de responder la pregunta / resolver el problema, sino que realmente resolverá el problema real, mostrándole los defectos en su pregunta. Si él / ella logra hacer eso de una manera educada sin intimidarlo, él / ella es un guardián.

Sean Patrick Floyd
fuente
1
+1 (¡votos hombre!). No está buscando un mago en un programador sénior, está buscando a alguien a quien pueda asesorar y ayudar a los programadores menos informados. Si no son buenos para transferir conocimiento, no serán buenos en el trabajo.
Josh K
8

Lo realmente significativo es que te aseguras de que sea el tipo de desarrollador experimentado adecuado para lo que necesitas.

A medida que las personas avanzan en sus carreras, tienden a ir en diferentes direcciones en términos de lo que hacen. Es posible que esté entrevistando a personas que son expertas en dirigir grandes equipos de programadores o que trabajan con código heredado complicado y bastante brillante en lo que hacen sin que sean la persona adecuada para su papel. Así que trate de tener una idea de lo que está buscando exactamente de antemano y piense en preguntas que diferencien exactamente el tipo de desarrollador para su trabajo de otras personas.

glenatron
fuente
7

He tenido que hacer esto varias veces. Aprendí a hacerlo en un proceso paso a paso.

  1. Comience con las mismas preguntas que les doy a los graduados de la universidad. Hice esto porque el puesto para el que estaba haciendo la entrevista técnica era un puesto de programación en el que esperábamos que el desarrollador participara en el código, y quería asegurarme de que los candidatos pudieran programar. Con solo una excepción, ninguno de los candidatos podía hacerlo: eran peores que cualquiera de los graduados universitarios. Todos habían estado en puestos directivos demasiado tiempo.
  2. Para el candidato que aprobó una prueba de competencia de codificación básica, tenía algunas preguntas más generales sobre "cómo manejaría el escenario X". Si está haciendo servicios web en su proyecto, por ejemplo, piense en una pregunta interesante sobre servicios web y pregúntele al candidato cómo la resolvería. No recomendaría que esto sea algo en lo que esté trabajando directamente, principalmente debido a la cuestión de la propiedad intelectual y los datos de propiedad de la compañía. ¡No des eso!
  3. Pase tiempo preguntando al candidato sobre cosas en su currículum. Esto es importante. Puede conocer sus mejores y peores experiencias en equipo, experiencias como supervisor, etc. Trate de tener una idea del estilo de trabajo de la persona para ver si él o ella encaja en su equipo.

Mi mayor problema al entrevistar a candidatos de alto rango fue que a menudo se ponían muy nerviosos de ser entrevistados por una persona menor, especialmente aquellos que no podían manejar mis pruebas básicas de codificación. Esfuérzate por no parecer amenazante en las habilidades que muestres a lo largo de la entrevista; concéntrate en ellas, incluso si no pueden responder bien tus preguntas. Trate de sesgar la entrevista con preguntas que puedan responder si fallan en lo básico.

justkt
fuente
Esa es en realidad una de mis preocupaciones ... cómo ser entrevistado por alguien obviamente su menor afectará la entrevista. Soy joven, así que no hay manera de que pueda fingir tener mucha experiencia
Rachel
1
@Rachel: algunos de mis entrevistados habían trabajado en la industria desde antes de que yo naciera. Por lo general, la mejor manera de calmar el nerviosismo después del paso uno era saltar al paso 3 y hacer que el candidato se sintiera cómodo hablando de sus fortalezas.
justkt
44
@Rachel, cómo ser entrevistado por alguien, obviamente, su menor afectará la entrevista si no pueden hacer frente a eso, no son buenos
Sean Patrick Floyd
3

En términos del proceso de entrevista real, fundamentalmente los trata de la misma manera que a cualquier otra persona que esté contratando. Debería haber un proceso de contratación similar:

  1. Selección, por CV o recomendación de la agencia.
  2. Prueba de aptitud (combinando cosas como FizzBuzz , strdup () / isAlpha (), OOD, etc.)
  3. Entrevista telefónica (para eliminación rápida si no se comunican bien)
  4. Entrevista cara a cara
  5. Ejercicio de codificación escrito
  6. Conoce a algunos de los miembros del equipo.
  7. Para una persona con experiencia, lo que implica un mayor riesgo y mayores costos, se aceptan rondas adicionales de entrevistas, pero debe comunicarles claramente dónde se encuentran en el proceso (es decir, esta es una de 3 rondas de entrevistas).

Hay muchas otras publicaciones en este sitio que cubren temas generales de discusión que debe cubrir en el proceso de la entrevista. Aquí está mi respuesta a una de ellas .

En todos los puntos del proceso de la entrevista, una persona con experiencia debe demostrar una excelente comprensión de sus especialidades anunciadas. Puede investigarlos, con mucha profundidad, sobre cualquier tema que cubra durante las discusiones. Lleve las preguntas al límite de su nivel de experiencia / comodidad y vea si pueden continuar sin preocupaciones. Si necesita salir del fondo con algo con lo que no tiene mucha experiencia, busque en la web algunas preguntas de muestra (obtenga una selección de ellas), lea y comprenda las respuestas antes de la entrevista , y luego pregunte candidato cualquiera de estas preguntas. No espere que sepan todas las respuestas, así que tenga una selección de preguntas.

Hay dos tipos de ingenieros experimentados que podrías contratar:

1) Experiencia relevante en la industria

Esta es la persona a la que puede llevar su lista de problemas actuales y hablar sobre cómo podrían abordar esos problemas. Debería medir su nivel de comprensión de cada uno de los temas específicos del dominio en su industria. Como se encuentra en esa industria, puede distinguir una respuesta "tonta" de una respuesta "buena" y probablemente también pueda detectar una respuesta "experimentada". A diferencia de otras respuestas, no esperaría que realmente resuelvan sus problemas actuales, eso sucederá cuando los contrate, pero necesita que lo convenzan de que podrían hacerlo una vez que comiencen.

2) Sin experiencia relevante en la industria

Por lo tanto, este candidato posiblemente está cambiando la industria, pero tiene una buena experiencia en las tecnologías / plataformas / habilidades básicas que necesita. Profundice en esos elementos, pero no espere que puedan encontrar soluciones para problemas específicos de dominio, aunque podría hablar de ellos. Por ejemplo, si su empresa es Facebook, y la persona que está entrevistando está interesada en PHP y C ++, no sería realista esperar que conozcan todas las trampas de las granjas de servidores masivas (a menos que lo reclamen en su CV).

JBRWilkinson
fuente
2

Una cosa que no vi explícitamente señalada es: "Conoces muy bien la tecnología X y suena muy interesante. ¿Podrías explicarme en cinco minutos?"

Como lo más probable es que se espere que pueda mantener el código que finalmente sale de la nueva persona, es crucial que él o ella sea capaz de explicárselo a otros programadores de manera eficiente y bien. Considéralo como habilidades de comunicación.

Se necesita una comprensión profunda para poder conocer a cualquier otro desarrollador en su nivel de habilidad y comunicar pensamientos e ideas a su nivel.

Si la persona no puede comunicarse verbalmente, lo más probable es que solo escriba el código para el compilador, no para el mantenedor.


fuente
2

Estoy de acuerdo con Steven sobre la tutoría de parte. De hecho, diría que puede hacerle preguntas sobre cuáles son sus puntos de vista sobre la tutoría y cómo lo hace en diferentes escenarios. Luego evalúe en función de la respuesta (puede obtener comentarios de su jefe si lo desea o discutir las respuestas reales en el informe).

También puede hacer preguntas que le haría a un compañero, ya que el candidato probablemente debería ser capaz de resolver o al menos comprender su trabajo.

aditya
fuente
2

definitivamente escoja su cerebro en la entrevista sobre problemas reales y tecnologías que actualmente tiene o tiene la intención de usar

asumiendo que él / ella es un desarrollador senior competente e imaginativo, decida contratar o no basándose en si cree que puede aprender de él / ella y trabajar bien con él / ella

no estás entrevistando a tu futuro jefe, estás entrevistando a tu futuro mentor. No elijas a alguien que sepa todas las respuestas pero no pueda enseñar

Steven A. Lowe
fuente
2
+1 para "no elijas a alguien que sepa todas las respuestas pero no pueda enseñar". Eso es un gran factor para mí, ya que siempre quiero seguir aprendiendo
Rachel
1

Tome un montón de los problemas que ya ha resuelto. Describa a él lo que se hizo para resolver el problema (manténgalo en tercera persona; no quiere poner en juego su ego personal aquí). Pregúntele qué habría hecho "de manera diferente". De acuerdo con lo que sugiere, debería poder averiguar si eso hubiera sido mejor o peor, conceptualmente, que lo que usted hizo.

GWLlosa
fuente
1

Le recomiendo que lea el libro "Inteligente y hace las cosas: Guía concisa de Joel Spolsky para encontrar el mejor talento técnico" .

Nunca contraté a nadie, pero a veces, cuando era el entrevistado, deseaba que algunos idiotas que solo sabían sobre palabras de moda y me entrevistaban, tuvieran la línea de razonamiento expuesta en ese libro. El texto es muy fluido y es un placer leerlo.

Y no, no estoy haciendo un anuncio solo porque este sitio es del autor del libro. El libro es realmente genial y lo recomendaré a cualquiera que esté en condiciones de contratar personal de TI, especialmente a quienes no entienden la tecnología. Hoy en día es muy común tener un gerente o jefe de proyecto no técnico.

sergiol
fuente