Comment nous avons implémenté l'intégration de nouveaux développeurs

Bonjour, Habr!
Je m'appelle Ekaterina, je suis chef d'équipe de l'équipe de facturation du service MySklad.


Il y a environ deux ans et demi, l'équipe de développement de MyStore était composée de 20 personnes. Pendant ce temps, nous avons triplé, depuis début 2019 nous avons trois nouvelles équipes. Dans un contexte de croissance rapide, nous avons dû changer le modèle de formation «le chef d'équipe dira et montrera tout personnellement» à un modèle plus évolutif.


Si vous avez également rencontré un tel problème et que vous souhaitez savoir comment nous l'avons résolu, alors bienvenue chez cat!


Comme avant


Quand je suis arrivé chez MySklad il y a deux ans et demi, mon entraînement était chaud et tube, mais pas très productif. Timlid s'est enroulé sur une chaise à ma table et m'a dit: comment configurer l'environnement de travail, quels composants sont dans le projet, comment ils interagissent, comment il fonctionne sur la prod, est testé et développé.


Lorsqu'un nouveau développeur apparaît dans l'équipe une fois tous les six mois, cette approche fonctionne bien - le nouvel employé communique beaucoup avec le chef d'équipe et les développeurs seniors et apprend rapidement à connaître l'équipe. Mais il a fallu beaucoup de temps au chef d'équipe et aux développeurs seniors pour mettre le nouveau venu en service, bien qu'en réalité tout le monde ait dit la même chose.


À partir d'un moment donné, les nouveaux arrivants ont commencé à arriver non pas un à six mois, mais deux ou trois personnes par mois. Le temps d'intégration a commencé à prendre plus de temps, et à la fin nous avons écrit le premier article pour les débutants - nous avons expliqué comment mettre en place un environnement de travail. Avant cet article, il a fallu jusqu'à trois jours pour déployer l'environnement de développement et découvrir le projet, maintenant deux heures suffisent.


0 jour en entreprise


Avant même que le nouvel employé arrive au travail, nous résolvons plusieurs problèmes importants:


Équipe En règle générale, même avant l'entretien, nous essayons de décider dans quelle équipe la personne travaillera. Si l'un des chefs d'équipe a aimé le candidat, il conduira une entrevue et considérera une personne avec un œil sur son équipe. Bien sûr, nous prenons en compte les besoins des équipes, les capacités et les souhaits d'un nouvel employé - certains sont plus intéressés par le backend, d'autres aiment l'interface utilisateur.


Lieu de travail. Un nouvel employé devrait voir un ordinateur portable et tout ce qui est nécessaire pour travailler sur son bureau immédiatement. Il ne devrait pas titiller les administrateurs et éliminer l'équipement à travers des billets et des morceaux de papier. À MySklad, le jour du travail, un nouveau venu a déjà préparé un lieu de travail avec un ordinateur portable, un moniteur et une souris, un ordinateur portable d'entreprise avec un stylo et une tasse fraîche. Ainsi, l'employé peut immédiatement commencer à configurer l'environnement de travail.


Accès aux ressources de l'entreprise. Fournissez immédiatement un accès au courrier, Slack, Gitlab, Confluence et autres.



Allez du côté de MySklad - nous avons des tasses et des mets sympas


1 journée en entreprise


L'objectif de la première journée de travail est de se familiariser avec la structure organisationnelle de l'entreprise et d'obtenir des réponses aux questions d'organisation. La plupart des informations nécessaires sont stockées dans Confluence. À la fin de la journée, le nouvel employé devrait avoir un environnement de travail personnalisé et commencer à se familiariser avec la structure du projet.


En pratique, nous le faisons. Au début de la journée, Eichar envoie au nouvel employé un article contenant des informations utiles: comment remplir correctement un profil à Slaka; à qui courir, si votre moniteur tombe en panne, votre portable s'épuise, vous êtes perdu, confus et vous ne savez pas quoi faire. Spoiler: au timlid et au même eycharu.


De plus, nous fournissons des liens vers des articles contenant des éléments organisationnels courants. Nous vous recommandons de vous familiariser avec eux le premier jour et de les contacter pendant que vous travaillez pour l'entreprise.
Voici la structure des informations avec lesquelles nous présentons le nouveau développeur le premier jour. Vous pouvez utiliser cette structure si vous souhaitez créer une documentation similaire pour votre entreprise ou votre équipe.


À un nouvel employé:


  • Outils de base pour le travail. Nous fournissons des liens vers le courrier d'entreprise, Slack, les calendriers, Jira.
  • Règles pour remplir un profil à Slaka.
  • Règles pour remplir la signature par la poste (facultatif).
  • Structure organisationnelle de l'entreprise et plan des sièges de bureau. Pour que le novice sache toujours qui, sur quelles questions et dans quelle direction courir.

Général:


  • Salaire. Calendrier de régularisation, règles de répartition par salaire et avance.
  • Hôpital Comment payer et que faire des congés de maladie.
  • Vacances Toutes les instructions nécessaires et exemple d'application.
  • Formation en rémunération. Comment, combien et à qui s'adresser si vous avez soudainement voulu assister à une conférence ou à des cours.
  • VHI. Quand, comment, ce qui est disponible, à qui demander.
  • D'autres petits pains. Ici sur l'horaire de travail, la possibilité de travailler à distance, la rémunération des repas et en général sur tout ce que vous voulez encore dire à un nouvel employé.

Tous les articles organisationnels sont compressés et structurés au maximum. En eux, nous n'avons rassemblé que le plus nécessaire pour une vie adéquate au bureau. Une lecture plus ou moins attentive prend environ une heure.


À ce stade, le débutant est déjà orienté au bureau et comprend à qui s'adresser avec un problème particulier. Si les cookies sont terminés, il ne les recherchera pas auprès des administrateurs.


Ensuite, le chef d'équipe donne des instructions au nouvel employé:


Commun à toutes les équipes de configuration du lieu de travail. Il indique comment décharger le projet, télécharger les composants nécessaires et qui peut aider à lancer le projet localement sur un ordinateur portable et vérifier ses performances. Ces étapes sont suivies de liens vers des référentiels.


Séparé pour une équipe spécifique. Il contient des exigences spécifiques pour travailler sur les tickets, effectuer un examen et soumettre un ticket pour les tests. Par exemple, nous avons des statuts et des types de tickets personnalisés dans Jira. Ils peuvent confondre même la personne qui a déjà travaillé avec Gira. Par conséquent, nous avons rassemblé en un seul endroit les exigences que tous les tickets créés dans le bugtracker doivent remplir.


Ces actions sont encadrées sous la forme d'une petite liste de contrôle:



Les liens contiennent des articles décrivant des choses spécifiques à notre entreprise ou à une équipe spécifique


Il faut en moyenne trois à quatre heures pour se familiariser avec les articles techniques et lancer l'application localement. En conséquence, le nouveau venu dispose d'un environnement de développement entièrement configuré et est prêt à commencer à développer le premier ticket. Mais avant cela, à la fin de la journée, j'organiserai un petit rallye avec un nouvel employé: je vais exprimer les principales orientations du travail de l'équipe, répondre aux questions sur le matériel étudié pendant la journée.


1 semaine en entreprise


Au cours de la première semaine dans l'entreprise, un nouveau développeur se familiarise avec les principales fonctionnalités de l'application et effectue les premiers tickets.


Pour me familiariser avec les fonctionnalités du projet, j'ai une petite liste de contrôle séparée:


Avec lui, le développeur commence à comprendre les principaux points de l'application, l'emplacement dans le code des principaux points d'entrée, peut naviguer seul.


Ensuite, le premier ticket est délivré au débutant en développement. Je sélectionne à l'avance les tickets pour les nouveaux développeurs et en forme une petite liste dans Confluence. C'est important et voici pourquoi.


Dans chaque ticket, je vérifie que toutes les descriptions sont compréhensibles. Il ne devrait pas y avoir de définitions spécifiques au produit; s'ils le sont, ils doivent être accompagnés de liens vers la documentation. La liste de tickets générée permet au nouveau développeur de prendre des tâches par lui-même sans demander à ses collègues - toutes les tâches de cette liste sont prêtes à fonctionner. Et surtout, le plan de développement des tâches du mois suivant est immédiatement visible.


Dans le processus de travail sur un ticket, un nouveau développeur peut vérifier les articles reçus précédemment, soumettre le ticket pour examen et test. Avec cette approche, dès la première semaine, la tâche terminée revient au prod, et le développeur reçoit le feedback de la décision qu'il a prise.


1 mois en entreprise et au-delà


Si vous pensiez que notre système avec des listes de contrôle et des billets jette une personne à la natation solitaire, ce n'est pas le cas. Dès le premier jour, le chef d'équipe s'occupe du nouveau venu, demande des informations sur les composants du produit, partage des articles de la base de connaissances qui aideront à résoudre le problème.


Si le développeur se retire, dès le premier mois on peut déjà confier une tâche architecturale majeure.


Pendant la période d'essai, nous tenons plusieurs réunions en face à face: à la fin de la première semaine de travail, à la fin du premier mois et à la fin du procès. Nous échangeons des commentaires à leur sujet, partageons les plans des tâches et ajustons ce qui pourrait mal se passer. Et souvent, nous disons simplement: "Génial, nous continuons à travailler!"


Résultats


Grâce à la documentation du produit et de la société, aux listes de contrôle pour l'intégration et aux instructions de configuration de l'environnement de travail, nous avons considérablement réduit le délai qui s'écoule avant le développement du premier ticket. Maintenant, la sortie du premier petit ticket a déjà lieu dans les premiers jours de travail, et avant l'introduction de l'intégration, cela prenait environ deux semaines.


L'introduction de réunions intérimaires pendant la période d'essai a également beaucoup aidé. Nous corrigeons maintenant les problèmes qui surviennent immédiatement et n'attendons pas la fin de la période d'essai. Il est devenu plus facile pour nous de résumer les résultats intermédiaires et finaux, et pour les débutants d'entrer dans le travail.


Les Timlids ont commencé à consacrer moins de temps à une histoire orale sur des choses fondamentales - nous les avons enregistrées dans des articles. Il ne vous reste plus qu'à surveiller les débutants pour utiliser correctement les informations. Nous avons également réussi à augmenter le recrutement - l'équipe de développement a triplé en deux ans et demi.

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


All Articles