Bootcamp en Yandex: ¿cómo puede un desarrollador elegir un equipo?

Las grandes empresas de TI a menudo ofrecen candidatos para un rol de desarrollo para elegir entre varios equipos. Hacer esta elección no es fácil: el desarrollador aún no ha trabajado con ninguno de los equipos, no conoce sus detalles. Para simplificar su tarea, hicimos un bootcamp . Esta es una forma especial de pasar por un período de prueba. El bootcamp dura ocho semanas, durante las cuales el empleado logra probarse en diferentes departamentos y, en base a esta experiencia, toma una decisión informada del trabajo futuro. Inicialmente, este formato estaba disponible solo para desarrolladores front-end, pero hace unas semanas los equipos de back-end también se conectaron a él.



Soy Zhanna Kruglova, ex desarrolladora y líder del equipo de Butkamp. Les diré a los lectores de Habr que el proyecto tiene bajo el capó, qué oportunidades ofrece y cómo los participantes anteriores eligieron dolorosamente a su equipo.

Primero, lanzamos Butkamp en un modo experimental, luego, viendo los beneficios, lo implementamos en todo el front-end de la Búsqueda, tecnologías publicitarias, servicios personales y algunos otros. Ahora estamos comenzando a contratar desarrolladores de back-end en el mismo sistema, hasta ahora solo en Moscú. Para los especialistas de front-end, opera en siete oficinas: en Moscú, San Petersburgo, Ekaterimburgo, Minsk, Simferopol, Kazan e Innopolis. Además ampliaremos el programa a otras especialidades.

Más de 80 personas pasaron por el campo de entrenamiento. Vemos que para los candidatos este formato de libertad condicional ofrece muchas ventajas.

Cómo se organiza el bootcamp en el interior


Esto no es una pasantía, sino un trabajo a tiempo completo que es remunerado . Se celebra un contrato de trabajo con cada participante y, de hecho, se convierte en un empleado a tiempo completo.
El programa está disponible para desarrolladores de todos los niveles: desde junior hasta senior.

Fechas y número de equipos.
El campo de entrenamiento, a diferencia del período de prueba tradicional en Yandex, no dura tres meses, sino dos. ¿Cómo se distribuye este tiempo? Un participante de bootcamp trabaja en el primer equipo durante tres semanas (de las cuales una semana se dedica a la aclimatación en la empresa), luego en dos equipos, dos semanas cada uno. Los participantes pasan otra semana de diferentes maneras: a veces el desarrollador se las arregla para trabajar en el cuarto equipo (esto se aplica solo al front-end), a veces se demora un par de días en el equipo anterior para completar la tarea. Y a veces puede terminar el campamento una semana antes.

Selección de equipo
Los dos primeros equipos para el participante que elegimos. Queremos que el nuevo desarrollador vea la diversidad en Yandex. Al elegir equipos para desarrolladores de back-end, tenemos en cuenta los deseos del desarrollador en el lenguaje de desarrollo principal.

El desarrollador elige el tercer equipo en función de las vacantes en nuestro servicio interno. Hay descripciones menos formales que en el sitio web oficial. También tenemos un sistema interno de blogs donde puedes aprender mucho sobre proyectos. Puedes mirar la base del código y los commits. Además, siempre puedes hablar en persona, porque el desarrollador ya está dentro de Yandex.

Supongamos que el desarrollador llama la atención a 10 equipos. Luego se lleva a cabo una reunión de media hora con representantes de cada equipo. En la reunión, los colegas pueden hablar sobre procesos, productos y tecnologías, tareas y objetivos. El participante puede preguntar todo lo que le interese. Además, a tales reuniones pueden asistir otros participantes.

Viajes de negocios
Si el equipo está en varias oficinas, entonces el participante puede hacer un viaje de negocios a otra oficina: trabajar en una ciudad y luego ir a otra. Pero por ahora, esto es solo para desarrolladores front-end.

Curador y soporte Techlide
Cada desarrollador en Butkamp tiene un curador que puede ser contactado para cualquier pregunta. Durante el paso de Butkamp, ​​el curador organiza al menos tres reuniones. El primero analiza todo el proceso: qué y cómo sucederá en estas ocho semanas, el segundo intercambia comentarios y evalúa resultados intermedios, resume en las finales, discute la elección del equipo y un plan de acción después del final del campo de entrenamiento.

En cada equipo de desarrollo, se encuentra con techlide. Actualiza las cosas, establece tareas, realiza una revisión del código, presenta al equipo; en general, hace todo para que el participante se sienta parte del equipo y se sumerja en sus procesos tanto como sea posible en un par de semanas.

Sistema de retroalimentación
Una vez completado el trabajo, cada equipo celebra una reunión en la que el equipo y el participante intercambian comentarios; dicen si vale la pena ir más allá juntos. El equipo puede estar listo para quedarse con el desarrollador, puede posponer esta decisión o rechazarla. Si la respuesta es no, entonces el equipo técnico del equipo explica en detalle por qué la persona aún no es adecuada. Por lo tanto, el participante descubrirá de inmediato en qué debe trabajar, y en los siguientes equipos puede corregir las debilidades.

Por su parte, el desarrollador dice que le gustó y que no le gustó el trabajo. La retroalimentación concentrada es muy útil para ambas partes. Esto es notado por los desarrolladores y los equipos.

Una posible negativa a continuar trabajando, ya sea por parte del participante o del equipo, no significa que esta sea una unidad pobre o un desarrollador insuficientemente calificado. Solo significa que la persona y el equipo no encajan. Y es muy bueno que esto se pueda revelar en una etapa tan temprana.

Ejemplo de vida
Los primeros dos equipos no invitaron a un participante a quedarse con ellos. El hecho es que en su anterior empresa la iniciativa no fue bien recibida (e incluso castigada). No entendió de inmediato que en Yandex sucedía lo contrario. Pero después de una retroalimentación muy constructiva y detallada de los equipos, logró cambiar los principios de su trabajo. Como resultado, los dos equipos siguientes compitieron por él, cada uno buscó mantenerlo en casa.

Pros para candidatos


Elección informada del equipo
Anteriormente, el desarrollador tuvo cuatro entrevistas finales con diferentes equipos. Cada uno de ellos se presentó en una hora, y sobre la base de estas breves reuniones, el candidato tuvo que elegir inmediatamente a alguien. Ahora es posible trabajar con equipos primero, y solo luego tomar una decisión.

La oportunidad de probar cosas diferentes.
Yandex tiene muchos productos y equipos diferentes. Los desarrolladores vienen a nosotros también muy diferentes. Un participante puede unirse a cualquier equipo, tanto en un proyecto a escala industrial como en una pequeña startup experimental, para conocer a personas específicas allí, aprender todos los procesos desde adentro, probarse en diferentes tecnologías, enfoques y tareas. Puede ver el código de diferentes servicios, ver cómo funciona la implementación, cómo se realizan las pruebas, si tienen una integración continua y qué es. Además, puede evaluar el lado informal: cómo se comunican los colegas, con qué frecuencia se encuentran, qué valores tiene el equipo.

Potente desarrollo en poco tiempo.
Pasan ocho semanas en un modo bastante intensivo, debe hacer muchas cosas nuevas en poco tiempo. Se invierten varios equipos en un participante, lo que aprendió en uno se puede aplicar a otro. Todas las habilidades y conocimientos permanecerán con él para siempre.

El bootcamp incluye un curso de capacitación: puede aprender las tecnologías básicas que serán útiles en el futuro. Se trata de herramientas básicas (sistemas de control de versiones, sistemas de compilación) y de cosas que podrían no ser necesarias en este momento, pero que todo desarrollador Yandex debería saber. Esto incluye reglas de desarrollo, bibliotecas compartidas, herramientas, sistemas, etc.

Redes
Al principio, el participante se familiariza con diferentes servicios y personas en Yandex. En el futuro, él ya sabe qué y cómo funciona, quién hace qué, a quién se puede responder con qué pregunta. El desarrollador interactúa con una gran cantidad de colegas de diferentes departamentos, y es genial cuando ya está familiarizado con muchos desde el principio.

Ventajas para la empresa


Salvamos la habilidad de los entrevistadores.
Antes del campamento de entrenamiento, las vacantes a nivel de equipo no aparecían con frecuencia (1-2 veces al año). Este fue un estrés adicional para el equipo: tuve que dejar de lado todos los asuntos y entrevistar a los candidatos. Había una gran carga en el pico. Después de que se cerró la vacante, todos se relajaron de inmediato. Durante el tiempo de inactividad, el entrevistado puede perder sus habilidades y luego debe volver a capacitarlo.

Ahora el proceso de contratación no depende de la disponibilidad de vacantes en un equipo en particular. Butkamp tiene un grupo de asistentes que se turnan para realizar secciones de entrevistas técnicas. Los especialistas reciben entrenamiento especial. Esto facilita la predicción de la carga y la distribución uniforme entre los entrevistados. Gracias al deber, fue posible convertir el proceso de reclutamiento espontáneo y caótico en un sistema transparente y organizado.

El desarrollador puede resolver todo el problema.
Los desarrolladores del nivel junior, pero no los pasantes, participan en Bootcamp. Ya saben mucho, por lo que se les puede confiar alguna tarea en su conjunto. A veces dan tareas que el equipo quiere hacer, pero aún no pueden ponerlas en el ciclo de desarrollo. Y cuando llega el participante del campamento de entrenamiento, el equipo está contento: se le puede confiar una tarea no programada.

Aumentar la eficiencia de los empleados.
Vemos que Bootcamp le da a los desarrolladores un impulso positivo, es más probable que estén satisfechos con su trabajo en la empresa. Una persona más satisfecha es más productiva, rápida, etc.

Las unidades destacan sus fortalezas
Los equipos organizan reuniones especiales para los participantes de Butkamp, ​​compiten por ellos y se esfuerzan para que el desarrollador los elija con interés mutuo. De esta manera, aprenden a hablar de sí mismos y del producto que fabrican.

Cómo el participante toma la decisión final


La elección es la más importante y controvertida. Ocurre que a una persona le gustaban dos equipos o todos, y no sabe cómo elegir entre ellos. El desarrollador intenta comprender lo que es realmente importante para él, reflexiona mucho.

Alguien hace listas de criterios para evaluar un equipo, que pueden incluir cualquier cosa: ubicación, líder, procesos, complejidad de las tareas, condiciones de desarrollo para él personalmente, la presencia de un equipo técnico o tareas adecuadas. El desarrollador puede darse cuenta de que el producto es más importante para él que la tecnología, o viceversa, que quiere desarrollarse al nivel de un arquitecto. El bootcamp es una ocasión para analizar tus metas y deseos.

Tuvimos un desarrollador que eligió dolorosamente entre los dos equipos y en los últimos días de trabajo en el último equipo cayó en retrospectiva. Esta es una reunión que se lleva a cabo después de la finalización de una etapa importante del proyecto, con un informe, una tormenta sobre cómo evitarlos en el futuro, etc. Y dijo: "Me sorprendió lo profundamente que analizan sus procesos, acciones, decisiones y qué conclusiones hacen. Me sorprendió tanto el proceso de crecimiento que me di cuenta de que quiero estar con este equipo ".

O otro ejemplo: durante las entrevistas, el participante dijo que quería hacer un proyecto para una audiencia multimillonaria, y después de Butkamp permaneció en una pequeña startup interna. Ha pasado un año desde entonces, el desarrollador todavía está en el equipo y está satisfecho con su elección.

¿Cuál es la diferencia entre los equipos en Yandex?


  • Procesos En algunos equipos, los empleados se reúnen todos los días, en otros, una vez por semana. Alguien tiene un retro, alguien no. Algunos equipos no trabajan en la misma oficina, sino que se distribuyen en varias ciudades.
  • Tecnología. En algún lugar un equipo separado se dedica a la implementación, en algún lugar puede implementar el código en producción usted mismo. Hay equipos en los que se realizan pruebas largas, mientras que otros tienen un entorno de prueba mucho más fácil. Alguien escribe infraestructura desde cero. Alguien está construyendo una interfaz en el marco React, alguien en BEM, alguien en Vue.js.
  • Las tareas Un equipo puede realizar tareas en el nivel de infraestructura profunda, el segundo necesita implementar parte de la funcionalidad desde cero, el tercero crea continuamente prototipos rápidos y prueba hipótesis, y en el cuarto, las personas reescriben todo el servicio.
  • La escala ¿Qué prefieres: un servicio multimillonario o una pequeña startup? En el primer caso, varias personas están trabajando simultáneamente en una pequeña parte del proyecto, en el segundo, una persona puede lograr trabajar en cinco proyectos diferentes.
  • El ambiente Algunas personas corren a casa por las tardes a los niños. Al contrario, alguien prefiere pasar tiempo activamente con colegas fuera del trabajo. Algunos equipos se comunican más, otros menos.

Si desea obtener más información sobre Bootcamp o desea unirse a Bootcamp, aquí está el enlace .

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


All Articles