Mi nombre es Sasha y lidero el desarrollo del backend en Tutu.ru. Hoy les diré por qué y cómo cambiamos por completo el proceso de entrevistar candidatos para el pasado 2018.
Entonces, la disposición a principios de año
- Estamos creciendo rápidamente: necesitamos reclutar nuevos empleados
- La comunidad de desarrollo piensa en nosotros "Bueno, este es un sitio con un horario de trenes, probablemente hay 3 personas trabajando en el sótano". De hecho, ahora tenemos 7 áreas de negocios y dos docenas de equipos que trabajan en ellas.
Por cierto, un poco sobre trenesPor cierto, hay 7 desarrolladores en el equipo de Elektrichek, y también hay microservicios muy cargados que comenzamos a reescribir sobre la marcha.
- En la entrevista, establecemos tareas lógicas, tareas sobre sintaxis php, OOP y bases de datos.
Honestamente, la selección fue lenta. Mirando hacia el futuro, diré que para fin de año hemos aumentado la velocidad de reclutamiento 4 veces, sin perder como candidatos. Espero estar interesado en ti. Lector, si eres un técnico muy duro y quieres leer solo sobre una entrevista técnica, entonces estás en la
etapa 2 :)

Nuestra selección consistió en tres etapas:
- entrevista con RRHH;
- entrevista técnica;
- entrevista con el jefe del departamento (yo).
En principio, este es un esquema bastante estándar para el mercado. Esto es probablemente lo único que sobrevivió al proceso de transformación. Echemos un vistazo específico a cada paso individualmente
Etapa 0: reclutar un candidato
Como dicen los promotores de negocios inteligentes: si desea aumentar el embudo de ventas, aumente la cantidad de personas que entran en él. A principios de año, estábamos bastante aburridos con esto: pusimos vacantes en hh.ru, a lo que casi nadie respondió. El gerente de recursos humanos buscó un currículum y lo envió al gerente para su revisión.
Vimos dos problemas:
- pocas personas nos conocen como compañía de tecnología (el número de respuestas es cercano a cero);
- la vacante se escribe "como todos los demás".
Que hacer

Y reescribamos la vacante
Reescrito más juvenil de moda. Pero el desarrollo de productos nos enseñó a probar todo en datos. Decidimos verificar con dos pruebas AV:
- creó dos vacantes idénticas en hh.ru, primero con un título de trabajo diferente;
- poner en estas vacantes también un texto diferente.
Ambas pruebas AV mostraron 0. "No fue fácil" resolver el problema, es necesario resolverlo sistemáticamente. A nosotros también nos encanta. ¿Qué hipótesis hemos planteado de este experimento? Parece que el texto de la vacante tiene poco efecto sobre el deseo de las personas de trabajar para nosotros (lo que significa que necesita descargar la marca HR) y que las personas quieren leer algo más.
Aumentar reconocimiento
Decidimos comenzar de a poco y, al parecer, no falló. No presentamos megainformes ni colocamos stands en una gran conferencia, pero decidimos celebrar nuestras reuniones. Pero aquí está el problema: de las comunidades de php en vivo en Moscú solo hay Symfoniacs, y de alguna manera no estamos hablando de Symfony en absoluto. Decidieron hacer la suya propia: buscaron oradores, dibujaron insignias, generaron informes 7 veces. Y sin embargo, sucedió, y sucedió dos veces:
una ,
dos . Habrá un tercero, y más.
Con el tiempo, definitivamente puede decir: los mitaps no producen un efecto instantáneo (no se le enviarán docenas de currículums de inmediato), pero aumentan notablemente el reconocimiento. Escucho cada vez más a menudo: "Oh, pero lo tuve contigo".
Ahorre tiempo candidato
Todos saben que el mercado para desarrolladores ahora es el mercado para el solicitante. Los buenos especialistas casi todos los días reciben mensajes con una oferta de trabajo o una invitación a una entrevista. Ahora intentemos imaginar cuánto necesita ir a las reuniones cara a cara (e incluso a cada compañía varias veces). La búsqueda de un sueño para un trabajo puede convertirse en "Oh, Dios, ya es suficiente". ¿Cómo podemos nosotros, como posibles empleadores, ayudar a este candidato?
Por ejemplo:
- reducir razonablemente el tiempo que necesita dedicar a la comunicación;
- intenta aprender algo sobre los candidatos de forma remota.
Así que presentamos la "oferta de un día" y la "entrevista técnica preliminar". Si todo está claro con la "oferta de un día": podemos realizar las tres entrevistas a la vez, ahorrando el tiempo del solicitante en el camino, entonces me gustaría detenerme en la "entrevista técnica preliminar" con más detalle. Los técnicos suelen ser buenos para desarrollar software, pero no para redactar currículums. Currículums bien diseñados, de lo que queda claro lo que hizo el candidato en el trabajo anterior, diría que no más del 30 por ciento en el mercado. Pero es interesante saber no solo eso, sino también cómo y por qué exactamente. Para hacer esto, a menudo quiero hablar, pero (nuevamente) ir a la oficina por un largo tiempo, costoso e insultante si la entrevista termina rápidamente. (Creemos que las personas quieren evolucionar constantemente y, si no aprobaron la entrevista hoy, pueden regresar mañana con un conocimiento mucho más profundo. Por lo tanto, es importante dejar una buena impresión con todos los candidatos).
Como resultado, presentamos una "entrevista técnica preliminar", pero no es que se le preguntará por teléfono "cómo salir de vim", sino que hablarán sobre lo que hizo en su trabajo anterior y le harán preguntas relevantes para sus calificaciones . Y lo más importante: el desarrollador lo hará.
Etapa 1: HR
En esta etapa, encontramos dos problemas:
- Tuvimos acertijos lógicos divorciados de la realidad (hola a las bolas en el avión y las alcantarillas de alcantarilla), que, como muestra la práctica, no siempre revelan el potencial del candidato, pero crean negatividad con bastante frecuencia. Peor aún, sucedió que el candidato se fue a casa solo porque no resolvió el problema; esto crea una mala reputación. En general, ya no tenemos tareas lógicas del libro de texto durante la entrevista: verificamos el pensamiento sistémico y la capacidad de pensar fuera de la caja en una entrevista técnica con las tareas que surgen en la vida real.
- No recopilamos los comentarios de un candidato sobre una entrevista con nosotros. Ahora recopilamos, construimos métricas y trabajamos para que la experiencia del candidato sea buena.
Etapa 2: entrevista técnica

Las tareas
Cuál fue nuestra entrevista técnica hace un año: entras en la conversación durante 1-1.5 horas con uno de esos. conduce, resuelve problemas en php, OOP, mysql. Entonces todo queda a discreción de cada entrevistado individual. De acuerdo: si eres senior, es extraño responder la pregunta "¿cuál es la diferencia entre isset y empty?". Y es aún más extraño para nosotros tomar una decisión sobre la base de estas preguntas de que el candidato podrá llevar a cabo nuestras tareas y hacerlo bien.
Pensamos: "¿Pero qué debe saber realmente un candidato para hacer nuestras tareas y desarrollarnos?" Hubo varias respuestas:
- Para hacer solo tareas:
- OOP y refactorización (admitimos soluciones hermosas y todavía tenemos un monolito)
- Diseño de API (el mismo monolito debe ser superado en microservicios, resolvemos nuevos problemas solo en microservicios. Diseñar una buena API en el mundo de hoy es la habilidad más importante de un desarrollador de back-end)
- Ser capaz de trabajar con una API externa (Tenemos muchos socios diferentes con diferentes niveles de calidad API)
- Debe comprender en la base de datos en un sentido amplio (SQL y varias soluciones NoSQL)
- Sería bueno que supieras algo sobre las pruebas unitarias (si es que hay algo que enseñar) y utilizas las herramientas de desarrollo adecuadas
- Para hacer tu trabajo con frialdad y desarrollar:
- Tener un profundo conocimiento teórico en su campo.
- Ser capaz de aplicar efectivamente la teoría en la práctica.
Resulta que no necesitamos preguntar deliberadamente nada sobre el conocimiento del idioma, y esto es interesante. ¡Pero eso no es todo! Queremos verificar esencialmente dos cosas: ¿el candidato posee las habilidades necesarias y verificar si tiene el potencial para un mayor desarrollo? Por lo tanto, debe comprender su carrera profesional de la mejor manera posible: qué situaciones ha encontrado el candidato en sus proyectos y cómo resolverlos. Por lo tanto, en primer lugar, aprenderemos sobre lo que el candidato ha hecho en lugares de trabajo anteriores. Después, el entrevistador da tareas de nuestra área temática real y verifica cómo el candidato las abordará. Como resultado, obtuvimos un escenario formal de una entrevista técnica, donde el entrevistador debe dar una respuesta a ciertas preguntas. Curiosamente, el tiempo de la entrevista con nuevas tareas no ha cambiado mucho: todavía pasamos un promedio de 1,5 horas.
El proceso
En el curso del estudio de retroalimentación, resultó que hoy el candidato del especialista técnico entrevistador ya no está esperando un simple diálogo de "tarea-respuesta" y hablando solo sobre temas técnicos. El mercado está cambiando: los candidatos están interesados en saber exactamente qué tareas resolverán, en qué equipo, qué tecnologías y enfoques se utilizan en campos relacionados. Ahora, con nosotros, cada entrevistador está obligado a saber qué tareas comerciales se resuelven en diferentes equipos, planes generales y el estado actual de la tecnología, no solo en el backend, sino también en todos los demás roles del equipo.
Cereza en el pastel
Decidí tomar este artículo por separado, porque está en casi cualquier artículo sobre la entrevista, pero aún así la mayoría de las compañías pecan por incumplimiento. Ahora no estamos obligados a escribir código en una hoja de papel. Cada entrevistador debe traer una computadora portátil con él, luego la elección depende del candidato.
Etapa 3: final
Aquí el cambio fue solo uno, pero significativo. Ahora, para cada reunión final, además del jefe, también va un representante comercial del equipo al que queremos llevar al candidato. Queremos establecer un diálogo directo sobre los planes de dirección y las tareas a resolver.
Etapa 4: adaptación

Parecería: bueno, entonces, el empleado ya está en la empresa, ¿por qué molestarse en continuar? Desde la fundación de la empresa, hemos tenido un instituto de mentoría: cada nuevo empleado recibe un mentor en su equipo. Pero había algo que mejorar. Los diferentes equipos tienen diferentes niveles de complejidad del área temática, y existe la tentación de enviar a un empleado a una capacitación de varios días antes de que comience a realizar su primera tarea. Como ha demostrado nuestra práctica, después de dicho entrenamiento, una persona generalmente no recuerda nada, está triste y se pierde el tiempo. Por lo tanto, presentamos la regla: "El empleado del tercer día debe tomar la tarea del sprint". La regla funciona bien en conjunto con el sistema de entrenamiento, donde un novato puede aprender los conocimientos necesarios exactamente en el momento en que los necesita.
También estandarizamos el proceso de retroalimentación: cada mes tenemos una lista de verificación para cada empleado. Los resultados de la retroalimentación seguramente se escuchan (buenos y malos). Como resultado, al final del período de prueba, tenemos un empleado de pleno derecho que puede resolver problemas y está integrado en el equipo.
Conclusión
¿Qué tenemos en la salida? Los resultados son los siguientes:
- El número de ofertas de trabajo ha cambiado de "casi nunca" a "varias publicaciones cada mes"
- La velocidad de selección aumentó 4 veces con la misma calidad.
- Tenemos un marco de evaluación técnica estándar para especialistas técnicos, que nos permite comprender bien cómo un futuro empleado hará frente al trabajo.
- Optimizó su tiempo y el tiempo del candidato.
- Encontramos la mejor manera de adaptarnos dentro