"Desarrollador senior" entrevistado por preguntas junior, o: ¿dónde está la carne? [cerrado]

Siento que a menudo el título "programador/desarrollador sénior" se usa para atraer a programadores menos que sénior a una empresa, sin pagarles de acuerdo con el título "senior"; después de todo, "no saben lo suficiente como para justificarlo". ", es lo que les diría el reclutador.

Tal vez de la misma manera que hoy en día en las tiendas de alimentos de Estados Unidos solo hay huevos medianos y grandes pero nunca pequeños.

De todos modos, recientemente me entrevistaron para varios puestos de "desarrollador sénior (Java)" y me molestó que en algunos de ellos solo me hicieran preguntas para jóvenes:

  • ¿Qué es una interfaz?
  • Que es una clase abstracta?
  • ¿Qué es la recolección de basura?
  • ¿Qué es la inyección de dependencia?
  • ¿Cómo eliminar duplicados de una lista?
  • ¿Cómo atravesar un árbol?
  • Etc....

Todas estas son cosas que sabía antes de empezar a trabajar con Java, o en algún momento durante mi primer año con Java.

¿Dónde están las preguntas sobre lo que aprendí durante los últimos diez años?

Por lo general, los entrevistadores me decían que lo hice mejor que otros candidatos... lo que me hizo pensar "¿En serio? ¿¿Qué tipo de personas consideras???"

Pero si tales entrevistas me hicieran sentir que estos puestos probablemente serían demasiado mediocres para alguien que no quiere hacer cosas tecnológicas convencionales (obtener una respuesta, decorarla y enviarla... sí, a través de un servicio web) , Hurra...!)

A veces, estos trabajos están en un rango de salario con un máximo que es un poco más bajo de lo que quiero. Todavía puedo ir y hablar con ellos:

  • Si el reclutador me convence de que es una gran empresa que hace cosas interesantes.
  • Si creo que pueden verme y estar dispuestos a aumentar su oferta.

¿Debería huir de las ofertas de trabajo que pueda recibir después de entrevistas tan desalentadoras?

Imagino que esas preguntas son más para ver cómo explicas las cosas, que para poner a prueba tus conocimientos.
Sí, eres demasiado bueno para ellos - corre
" Si creo que pueden verme y estar dispuestos a aumentar su oferta ". Esta es una gran, gran falacia. Puede funcionar en unos pocos casos en los que la empresa puede usar a alguien con más experiencia (por lo tanto, merecedor de un salario más alto), pero en la gran mayoría de las aplicaciones simplemente estás perdiendo el tiempo de todos. Están buscando un perfil específico y tienen un presupuesto específico. Aparte de eso, las personas pueden estar en puestos "senior" después de solo unos años, por lo que apuesto a que está solicitando los trabajos equivocados o se está poniendo demasiado nervioso con las preguntas diseñadas para eliminar a los candidatos sin experiencia.
Me gusta hacer preguntas X vs Y en las entrevistas (donde tanto X como Y son buenos a veces). Puede usar varias de esas preguntas como puntos de partida para ese tipo de respuestas. Interfaz vs clase abstracta. gc vs conteo de referencias vs gestión manual de memoria. Inyección de dependencia vs localizador de servicios vs newetc.
Aprecio tu necesidad de un desafío mayor y de sentirte probado, pero al final del día, si el rol, el salario y los beneficios son lo que buscas, ¿importa? Después de todo, si es fácil para usted, entonces solo le da una mayor probabilidad de obtener el papel, ¿por qué querría hacerlo más difícil? Un título de trabajo no es la medida real de su valor en una empresa, si lo fuera, las personas llamadas 'Gerentes de desarrollo comercial' serían gerentes y no solo vendedores con un título elegante.
Relajarse. Solo están filtrando a los programadores que no pueden programar
¿Por qué este refuerza el estereotipo de Java Guy?
"¿Debería huir de las ofertas de trabajo que pueda recibir después de entrevistas tan desalentadoras?" - solo si no van a pagar tus mínimas expectativas...
@Blrfl define diatriba y define pregunta.
Jeje... Conozco a una gran cantidad de "desarrolladores senior" que no pueden hacer cara o cruz de un árbol, y mucho menos cómo atravesar uno. Lo mismo para DI, interfaces, etc. ¡Tener mucha experiencia y tiempo en el campo no te hace bueno automáticamente !
Para mí, este tipo de cosas es una bandera roja total. Demuestra que la empresa/reclutador solo puede realizar el nivel más básico de filtrado. En algunos casos, si se da más tiempo para demostrar una solución, cómo abordar un problema, etc., está bien, es comprensible que la empresa lo necesite como referencia básica en la selección de candidatos. Pero una opción múltiple de tipo C # 101 o Javascript 101, etc. en un tipo de prueba de aprendizaje de memoria de "conocimiento del libro" ... En mi opinión, no vale la pena.

Respuestas (3)

Desarrollador senior son solo un par de palabras, pueden significar cualquier cosa dependiendo de lo que la empresa quiera que signifiquen. Ignórelos excepto como una pauta general y concéntrese en lo que se paga. Esa es la verdadera prueba de lo que están buscando.

He trabajado para una empresa en la que todos parecían ser desarrolladores senior o ingenieros senior, excepto las señoras de la limpieza y los conductores.

En mi última empresa, había personas con solo 4 años de experiencia total y sin conocimientos de interfaces o habilidades básicas como la gestión de repositorios que se llamaban desarrolladores principales y senior. Algunas personas simplemente obtienen estos roles debido a la rotación de personal y la promoción automática en lugar de la habilidad y la habilidad reales.
@Stormy sucede en muchos lugares, contraté (y pronto despedí) a un tipo con 11 años de experiencia al más alto nivel en un departamento gubernamental en su currículum. El tipo en realidad no sabía hacer NADA excepto poner excusas y tratar de delegar todo a los demás.
Lo he elegido como respuesta a "Ignóralos excepto como una pauta general y concéntrate en lo que se paga. Esa es la verdadera prueba de lo que están buscando".

Dos cosas aquí.

  1. Te sorprendería saber cuántos desarrolladores "senior" no pueden hacer ni siquiera lo básico. En mi última gran ronda de reclutamiento de desarrollo, tal vez el 75 % del grupo falló en la primera entrevista real, y comenzamos a generar entusiasmo, no porque fuera un gran indicador positivo, sino porque atrapó a muchos que ni siquiera podían hacer eso. Muchos desarrolladores senior se vuelven así al estar allí durante varios años, pero no han progresado en sus habilidades, por lo que estas preguntas son necesarias.
  2. Habiendo dicho eso, ¿qué es un "mayor" de todos modos? No diría automáticamente que las habilidades tecnológicas son la diferencia de un rol junior, pero lo que esperaría son habilidades más blandas: ser capaz de administrar su tiempo (y tal vez el de un junior); ser capaz de ver a través de una tarea/historia con el negocio de principio a fin y tratar (o escalar) los problemas según corresponda; y poder ser mentor de un joven en lo anterior.

Lo que también esperaría es un nivel diferente de discusión en torno a las preguntas que menciona, tal vez algunas opiniones más sobre por qué son buenas/malas/feas y conducen a historias de guerra que me dan confianza en sus habilidades en lugar de una respuesta de libro de texto.

El punto 1 es absolutamente impresionante. He visto personas con más de 10 años de experiencia que no pueden realizar una solicitud SQL con una combinación simple y un AND de signle, y eso, después de una semana tratando de explicarlos. Una entrada más detallada: blog.codinghorror.com/why-cant-programmers-program
@ gazzz0x2z, he visto que en las personas que solicitan especialistas en programación de bases de datos no solo se requiere una pequeña parte de la codificación.
Considere también que los gerentes que realizan las entrevistas pueden estar alejados de la programación durante varios años y, por lo tanto, en realidad no pueden hacer las preguntas más complejas porque ya no están seguros de las respuestas. También considere que cuando habla de sus propios logros es el momento de discutir ese conocimiento profundo para demostrar que tiene más que el nivel de habilidad más bajo.
Siempre me sorprenden los resultados de esa prueba FizzBuzz. Mi instinto dice "esa es solo una ronda mala" y luego descubro que no, es bastante estándar en la industria que 1/4 o 1/5 pueda pasarla... y me entristece...

Esas no son realmente "preguntas de Java", son "preguntas de OOP" y "cualquier pregunta de lenguaje de programación". Entonces, si quiere decir que sabía las respuestas a estas preguntas al trabajar con algún otro lenguaje OOP, entonces, bueno, bien por usted.

Creo que preguntas como esa, en lugar de preguntas sobre los detalles de la sintaxis de Java o la API, son una buena señal. Da a entender que la empresa se da cuenta de que la marca de un buen desarrollador de software es que comprende conceptos que trascienden lenguajes específicos. Me preocuparía si una empresa me hiciera preguntas como "¿cuál es el tercer parámetro de la función foo en la clase de barra". Si no lo recuerdo, puedo buscarlo en un minuto o dos. Pero si no sé qué es la recolección de basura, es una larga historia.

Dale al entrevistador un poco de holgura. Llegar a las preguntas de la entrevista es un asunto complicado. ¿Tu problema es que las preguntas son demasiado fáciles? Si es así, bien por ti. Esas preguntas dejarían perplejo a un buen porcentaje de desarrolladores con los que me he encontrado. Si puede responderlas todas correctamente, eso probablemente lo coloque en al menos el 50% superior, tal vez mejor. Desea preguntas que sean lo suficientemente difíciles como para poder distinguir a los candidatos, pero a menos que les esté dando una prueba de 20 páginas, no desea eliminar a un candidato porque no sabía la respuesta a una pregunta difícil. Quizá si le hubieras pedido diez más, los habría conseguido todos. Puede saber mucho no solo de la respuesta, sino también de cómo responde el candidato. Obviamente, si no tiene idea, eso es un inconveniente. Pero si recita una definición de libro de texto, eso puede indicar que conoce las palabras de moda, pero en realidad no sabe cómo funciona todo. (Una vez me quemé cuando contraté a un tipo que podía recitar todo tipo de términos técnicos y definiciones en la entrevista, pero que resultó no ser capaz de completar las tareas más simples. Sí, podía nombrar todos los marcos y idiomas y productos, pero cuando le pedimos que escribiera una pantalla con dos campos de entrada y la guardara en una base de datos, no tenía ni idea). Me impresiona cuando alguien puede explicar un concepto con claridad y confianza.

Ah, y preguntar por hechos oscuros me parece bastante inútil. Hace años, un entrevistador me preguntó qué datos había en un inodo de Unix. Lo sabía, de hecho, lo sabía mejor que él, pensó que el nombre del archivo estaba en un inodo, pero si no lo hubiera sabido, ¿y qué? Solo lo supe porque un día leí sobre eso. No creo que haya usado ese conocimiento al escribir un programa.