Estamos entrevistando a un candidato para el puesto de Desarrollador de Software Senior

He realizado más de cien entrevistas, tanto por un lado como por otro. En este artículo, me gustaría compartir mis experiencias, observaciones y puntos interesantes. Quizás esto salvará a alguien de errores, conclusiones incorrectas y tiempo perdido.

¿Qué tipo de pájaro es mayor?


Por lo tanto, Senior Software Developer (también conocido como Senior Developer) es un desarrollador con experiencia significativa (de 5 años) y profundo conocimiento en el desarrollo de software comercial. La experiencia laboral de desarrollo por dinero es una condición necesaria pero no suficiente. Asegúrese de participar en cualquier proyecto de nivel empresarial, y si desde el principio es excelente, brinda una experiencia inolvidable y una perspectiva amplia. Senior difiere de Middle principalmente en que puede llevar cualquier tarea al estado de producción. Él claramente sabe lo que se puede hacer y lo que no. Es capaz de captar el momento en que es hora de refactorizar el software o simplemente reescribirlo desde cero. Escribe un código de bastante alta calidad sin errores críticos y arquitectónicos.

Es un error suponer que Senior es más rápido que Middle. En mi práctica, ha habido muchos casos en los que Middle realizó tareas simples más rápido. Pero Senior casi siempre funciona mejor y más rápido en tareas complejas, cuando puede aplicar la experiencia acumulada, evitar errores y perder tiempo en la etapa de desarrollo, mantenimiento y desarrollo.

El objetivo principal de la entrevista.


Curiosamente, pero a veces los entrevistadores no siguen el objetivo principal de la entrevista: determinar si el desarrollador será útil para el equipo y cuánto se relaciona este beneficio con el costo de este desarrollador. En cambio, el entrevistador a menudo revela lo que el desarrollador no sabe, en lugar de descubrir qué sabe y qué puede hacer. Como consecuencia de esto, llega a conclusiones erróneas con todas las consecuencias resultantes.

¿Quién debería entrevistar?


Aquí la única respuesta correcta es el futuro jefe inmediato de aka Team Lead. Un error común es entrevistar a 2-3 personas por parte del entrevistado, haciendo preguntas transversales e inconsistentes. Todo esto crea un estrés innecesario para el entrevistado y evita el establecimiento de contacto psicológico.

Ambiente


Las entrevistas siempre son estresantes para el desarrollador, para alguien más, para alguien menos. Muchos de ellos no saben cómo "venderse" cualitativamente. Por lo tanto, es extremadamente importante atraer a un desarrollador y transferir la entrevista a una comunicación amigable entre dos colegas. De hecho, es en una conversación amistosa donde puede descubrir los detalles reales de dejar su trabajo anterior y qué tipo de habilidades tiene la persona entrevistada sin adornos.

Aprender competencias


Como ya escribí en "Metas", es importante conocer las fortalezas del entrevistado, con qué trabajó antes, con qué se comió al perro, qué enfoques usó, qué tipo de equipo encontró en el camino.

Competencias clave para un desarrollador senior:

  • Algoritmos
  • Arquitectura, patrones de diseño.
  • Bases de datos
  • Ejecución paralela y sincronización de procesos.
  • Conceptos básicos del rendimiento del software.
  • Depuración y registro.

Un rol importante para un desarrollador es comprender cómo funciona, conocimiento de conceptos y características, en lugar de conocer una herramienta específica. Por ejemplo, si entendía bien MySQL, no le sería difícil tratar con Postgres. En la mayoría de los casos, no es difícil para un desarrollador senior aprender rápidamente cualquier herramienta.

Muy a menudo, los entrevistados cambian a algunos detalles que les son familiares, estos son los casos de la práctica real:

  • ¿Cómo usar SQL para eliminar una fila si más de una cae bajo los criterios de selección?
  • ¿Qué comando git revertirá la última confirmación?
  • ¿Qué métodos de un objeto Object en Java conoces? Puede haber otras opciones en otros idiomas, algo que el entrevistador conoce bien.

Estas preguntas también pertenecen a la categoría de "lanzar una moneda al aire", su conocimiento o ignorancia no permite ninguna conclusión objetiva sobre la experiencia del desarrollador.

También hay una categoría separada de amantes "ingeniosos" de preguntas y tareas estúpidas para verificar la "inteligibilidad", ejemplos reales:

  • ¿Por qué es redonda la escotilla?
  • ¿Cómo verter exactamente 4 litros de agua en un cubo, si hay dos cubos, 3 y 5 litros?
  • Resuelve un rompecabezas, por ejemplo, recoge un cubo de Rubik.

El problema con tales preguntas es que no solo se excluye a las personas con un coeficiente intelectual bajo, sino también a una parte importante de los tipos inteligentes que simplemente no están listos para tales preguntas o que están bajo estrés. Aquí, en lugar de los tipos inteligentes, a menudo van más allá aquellos que ya conocen las respuestas y soluciones a las preguntas y tareas estándar.

Buscando motivación


Hay una pregunta tan frecuente del lado del entrevistado: "¿Por qué quieres trabajar con nosotros?" Se entiende que el entrevistado revelará honesta y abiertamente su motivación: "Quiero más dinero" o "Todo es mejor que donde estoy ahora". Pero para el entrevistado, tal pregunta puede causar malentendidos literales y rara vez responde abiertamente. Por lo tanto, es mejor averiguar sobre la motivación con preguntas indirectas.

¿Cuáles son las motivaciones?

  • El dinero La motivación más popular, pero a menudo no se acepta admitirla. Funciona bien para las familias y aquellos que están acostumbrados a gastar mucho o realmente quieren ahorrar.
  • Tareas interesantes Cuando a las personas realmente les gusta su trabajo y están listas para trabajar horas extras y los fines de semana sin requerir un pago adicional.
  • Mejora nuevas habilidades . La industria no se detiene y constantemente tiene que bombearlos para mantener la demanda en el mercado laboral.
  • Crecimiento profesional . Una de las principales motivaciones para trabajar en una startup.
  • Empresa conocida o exagerada . La oportunidad de ser parte de ella y cosechar los beneficios de su fama.

Lo que no debes preguntar Desarrollador Senior


  • Cómo funciona el algoritmo XXX raramente necesario (por ejemplo, clasificación rápida). ¿Por qué preguntar qué no se necesita en el trabajo diario del desarrollador, pero es google en 5 segundos?
  • ¿Posee una herramienta simple YYY (por ejemplo, git). Todavía no he conocido a un desarrollador que no hubiera dominado las características básicas de git necesarias para el trabajo diario en un día o dos.
  • ¿Sabes cómo escribir exámenes? Pregunta con un asterisco. El proceso de redacción de pruebas es simple, pero aprender a comprender qué se debe evaluar y en qué medida requiere una larga práctica. De hecho, solo un escritor de pruebas experimentado en un equipo que puede controlar este proceso de manera efectiva es suficiente.
  • Qué es Agile / Kanban / Scrum. La metodología, según se llevará a cabo el desarrollo, es elegida por Team Lead; en consecuencia, los artistas normales no necesitan conocerla a fondo, y los principios básicos se comprenden en cuestión de días.

Tipos de desarrolladores senior


Para comprender la motivación y las habilidades de un desarrollador en particular, es necesario resaltar los tipos inherentes a él. He identificado los siguientes tipos comunes:

  • Creador o Apasionado . Se apresura desde el trabajo en sí, tareas no triviales, donde necesitas inventar algo. A veces se obtienen bicicletas, pero con el crecimiento de las competencias, produce productos de muy alta calidad. La principal motivación son proyectos y tareas interesantes.
  • La rutina Capaz de realizar trabajos muy rutinarios sin comprometer la productividad con el tiempo y sin requerir ninguna motivación.
  • Superhéroe Complete la tarea a toda costa, incluso si no hay suficiente competencia y tiempo. A menudo esculpe de mierda y palos, pero con el crecimiento de las competencias, se obtiene algo más o menos decente. Muy valioso para startups y jefes exigentes.
  • Competente No puedes engañarlo en la paja, no puedes engañarlo con exageración, siempre trata de comprender la esencia de la tecnología y las tareas, piensa profunda y estructuralmente. Valioso empleado en cualquier proyecto.
  • Superficial Toman palabras inteligentes, enfoques, estudian (exageradamente) tecnologías y herramientas exageradas e intentan aplicar todo esto en el proyecto, vertiendo grandes puñados, incluso si es posible manejar los pequeños. Típicamente en los albores de una carrera y camaradas simplemente motivados e impresionables.
  • Humor de rehenes . Hay un estado de ánimo: el trabajo está en su apogeo, por lo que solo trae conchas, no hay estado de ánimo: tendrá una mirada reflexiva y filosofará más que el trabajo.
  • Carrera profesional Claramente dirigido al crecimiento profesional. Sin crecimiento durante más de un año, un candidato potencial para la partida.
  • Conservador . Amante de la estabilidad y las tradiciones, se refiere negativamente a todas estas pequeñas cosas, herramientas y enfoques novedosos.
  • Manimen Funciona donde pagan más, por lo que la lealtad a la empresa es bastante baja. Le encantan los bonos, bonos, nishtyaki gratis y otras motivaciones financieras.

A menudo, un individuo en particular combina varios tipos en varias proporciones. Con el tiempo, los tipos y sus proporciones en los humanos cambian, y también hay personas que pueden adaptarse a las tareas (típicas de los superhéroes). Se observa que con la edad, la proporción del conservador crece en muchos, el Creador puede agotarse y el Superficial puede convertirse en un Competente.

Estado psicologico


Desafortunadamente, a veces los desarrolladores sénior desarrollan las habilidades incorrectas y su carácter puede deteriorarse, lo que complica enormemente la comprensión mutua y el trabajo en equipo efectivo.

A menudo hay tales condiciones:

  • La vida es decadencia . A veces sucede que el código escrito no entra en producción por alguna razón (por ejemplo, para decisiones comerciales) o no dura mucho tiempo (inicio o gestión inepta). Esto es seriamente desmoralizante con todas las consecuencias. Esto no debe confundirse con un cinismo saludable debido a la experiencia laboral.
  • Zen comprendido . Con los años, en un proyecto Enterprise estático, un desarrollador lo estudia de arriba abajo y tiene la sensación de que ahora es un especialista poco común. De hecho, sus habilidades fuera de este proyecto no cuestan casi nada, hay una reevaluación de sus capacidades por parte del desarrollador.
  • Subestimado e inseguro . Una serie de proyectos fallidos, mala gestión y otros riesgos hacen que el desarrollador dude de sus habilidades y destrezas, aunque en realidad puede demostrar que es un empleado muy capaz y valioso. A menudo se subestima en términos de salario y / o puesto.
  • Sobrevalorado En contraste con lo subestimado e incierto, este individuo captó un proyecto o serie exitoso, que fue extremadamente exitoso y en esta ola sobreestima en gran medida sus habilidades y capacidades.

¿Pero qué hay de la tarea de prueba?


El problema en la tarea de prueba corta (2-3 horas) es que, de acuerdo con sus resultados, es imposible sacar conclusiones definitivas sobre si el autor tiene experiencia en el desarrollo del nivel Senior o no. Con el mismo éxito, puedes lanzar una moneda al aire.

Conclusiones


Según los resultados de la entrevista, se debe formar una impresión objetiva del desarrollador:

  • ¿Cuáles son sus puntos fuertes?
  • ¿Cómo puede fortalecer el equipo?
  • ¿Cuánto tiempo necesita para alcanzar la "velocidad de crucero"?
  • Cuánto corresponde el sn deseado a los puntos anteriores.
  • ¿Existe algún contacto psicológico y compatibilidad con el equipo?

Si por alguna razón no es posible responder con confianza a todas estas preguntas, puede realizar otra ronda de entrevistas o rechazar al candidato. La siguiente ronda puede consistir en cualquier tarea específica que revelará la información que falta, por ejemplo: medio día de codificación directamente a las compañías pagadas a una tasa promedio.

PD: No se pueden describir todos los puntos en un artículo, así que si tiene preguntas o desea discutir algo, escriba los comentarios o el correo electrónico .

Source: https://habr.com/ru/post/469403/


All Articles