
Presque toute l'équipe de développement de Skyeng, composée de plus de 100 personnes, travaille à distance et les exigences envers les spécialistes ont toujours été élevées : nous recherchions des seniors, des développeurs fullstack et des intermédiaires. Mais au début de 2019, nous avons embauché pour la première fois trois juniors. Cela a été fait pour plusieurs raisons : recruter uniquement des super-spécialistes ne résout pas tous les problèmes et pour créer une atmosphère saine dans le développement, il faut des personnes de différents niveaux de professionnalisme.
Lorsque vous travaillez à distance, il est crucial que la personne arrive sur le projet et commence immédiatement à être utile, sans longs processus de formation et de prise de vitesse. Avec des juniors, cela ne fonctionne pas, de plus, en plus de la formation, une intégration efficace dans l'équipe est nécessaire, car tout est nouveau pour eux. Et cela constitue déjà une tâche distincte pour le leader d'équipe. C'est pourquoi nous étions concentrés sur la recherche et le recrutement de développeurs plus expérimentés et déjà établis. Mais au fil du temps, il est apparu que les équipes composées uniquement de seniors et de développeurs fullstack avaient leurs propres problèmes. Par exemple, qui s'occupera des tâches routinières mais essentielles qui ne nécessitent pas de super qualification ni de connaissances particulières ?
Auparavant, au lieu d'embaucher des juniors, nous travaillions avec des freelances.
Tant que les tâches étaient peu nombreuses, nos seniors prenaient, tant bien que mal, ces tâches peu intéressantes pour eux, car le développement devait avancer. Mais cela n'aurait pas pu durer longtemps : les projets ont grandi, le nombre de tâches simples et routinières a augmenté. La situation devenait de plus en plus semblable à une blague, où des clous sont enfoncés avec un microscope au lieu d'un marteau. Pour illustrer cela, on peut se référer à l'arithmétique : si vous engagez une personne dont le taux est de 50 $/heure pour effectuer des tâches qu'un employé avec un taux de 10 $/heure peut accomplir, vous avez un problème.
La chose la plus importante que nous avons tirée de cette situation est que la paradigme actuel de l'embauche uniquement de spécialistes talentueux ne résout pas nos problèmes avec les tâches routinières. Nous avons besoin de quelqu'un qui soit prêt à faire le travail que les experts chevronnés considèrent comme une punition et qu'il serait tout simplement inefficace de leur confier. Par exemple, écrire des bots pour les Slack chats de nos enseignants et concepteurs de cours ou s'occuper de petits projets d'améliorations pour nos besoins internes, sur lesquels les développeurs manquent constamment de temps, mais qui rendraient la vie beaucoup plus agréable.
À ce moment-là, une solution intermédiaire a été élaborée. Nous avons commencé à faire appel à des freelances pour travailler sur nos projets. C'est exactement pour ce genre d'externalisation que des tâches simples et non urgentes ont commencé à être transférées : corriger quelque chose ici, vérifier cela, réécrire des éléments. Notre équipe de freelances a connu une croissance assez active. L'un de nos chefs de projet regroupait des tâches de différents projets et les répartissait entre les freelances, en s'appuyant sur une base existante d'exécutants. À l'époque, cela nous semblait être une bonne solution : nous avons réduit la charge des seniors et ils pouvaient à nouveau créer pleinement, au lieu de se débattre avec des tâches élémentaires. Bien sûr, il y avait des tâches qui, en raison de la confidentialité commerciale, ne pouvaient pas être transmises à des exécutants externes, mais ces cas étaient beaucoup moins fréquents par rapport à la masse de tâches confiées au freelancing.
Mais cela ne pouvait pas durer éternellement. La société a été confrontée au fait que la division des freelances s'était transformée en un monstre peu agile. Le nombre de tâches simples et routinières augmentait avec les projets et à un moment donné, il y en avait trop pour les répartir efficacement entre des exécutants externes. De plus, un freelance n'est pas immergé dans la spécificité des projets, ce qui représente une perte constante de temps pour l'onboarding. Évidemment, lorsque votre équipe compte plus de 100 développeurs professionnels, vous ne pouvez pas embaucher même une cinquantaine de freelances pour les aider et gérer efficacement leurs activités. De plus, interagir avec des freelances entraîne toujours certains risques de retards et d'autres problèmes organisationnels.
Il est important de souligner que le travailleur à distance et le freelance sont deux entités différentes. Un employé à distance est pleinement intégré dans l'entreprise, a des heures de travail définies, une équipe, une hiérarchie, etc. Le freelance, en revanche, est un travail projet qui est généralement régulé uniquement par des délais. Contrairement à l'employé à distance, le freelance est principalement autonome et interagit peu avec l'équipe. D'où les risques potentiels liés à la collaboration avec de tels prestataires.
Comment nous avons créé le « département des tâches simples » et ce que nous en avons tiré
En analysant la situation actuelle, nous en sommes venus à la conclusion qu'il nous fallait des employés de qualification inférieure. Nous n'avions pas d'illusions sur le fait qu'avec tous les juniors, nous ferions d'éventuelles superstars, ou que l'embauche d'une dizaine de juniors nous coûterait une fortune. En réalité, la situation concernant les juniors est la suivante :
- À court terme, il n'est pas économiquement viable de les embaucher. Au lieu d'embaucher cinq à dix juniors « tout de suite », il vaut mieux prendre un senior et lui payer des millions pour un travail de qualité, plutôt que de dépenser le budget sur des débutants.
- Les juniors ont une longue période d'intégration dans le projet et de formation.
- Au moment où un junior a appris quelque chose et est censé commencer à « rentabiliser » l'investissement en lui réalisé au cours des six premiers mois, il doit être promu au rang de mid-level, sinon il quittera cette position pour une autre entreprise. Ainsi, l'embauche de juniors convient uniquement aux organisations matures prêtes à investir en eux sans garantie de profit à court terme.
Cependant, nous avons atteint une taille où nous ne pouvons plus nous passer de juniors dans l'équipe : le volume des tâches courantes augmente, et dépenser des heures de travail de professionnels aguerris pour cela est juste criminel. C'est pourquoi nous avons créé un département spécialement pour les développeurs juniors.
La période de travail dans le département des tâches simples est limitée à trois mois, c'est-à-dire à une période d'essai standard. Après trois mois de travail rémunéré, le nouveau venu soit rejoint l'équipe qui a souhaité le voir en tant que développeur junior, soit nous nous séparons de lui.
À la tête de notre département se trouve un PM expérimenté, responsable de la répartition des tâches aux juniors et de leur interaction avec d'autres équipes. Le junior reçoit une tâche, l'exécute et reçoit des retours à la fois de l'équipe et de son manager. À ce stade, nous ne fixons pas les novices à des équipes et projets spécifiques pour les tâches simples ; ils ont accès à l'ensemble du pool de tâches selon leurs compétences (nous recrutons actuellement des front-enders sur AngularJS, des back-enders sur PHP ou recherchons des candidats pour le poste de développeur web maîtrisant les deux langages) et peuvent travailler simultanément sur plusieurs projets.
Mais le recrutement des juniors ne s'arrête pas là — il faut également leur créer des conditions de travail acceptables, ce qui est déjà une mission complètement différente.
La première chose à laquelle nous avons abouti est le mentorat volontaire dans des proportions raisonnables. C'est-à-dire que, en plus du fait que nous n'avons contraint personne au mentorat parmi les spécialistes existants, il a été clairement établi que la formation des novices ne doit pas remplacer le travail principal. Pas de « 50 % du temps consacré au travail, 50 % à enseigner à un junior ». Pour avoir une idée précise du temps nécessaire au mentorat, un petit « plan d’enseignement » a été établi : une liste de tâches que chaque mentor devait réaliser avec son protégé. La même chose a été faite pour le chef de projet des juniors, et au final, nous avons obtenu un scénario de préparation des novices et leur intégration dans le travail qui est très fluide et compréhensible.
Nous avons prévu les éléments suivants : vérification des connaissances théoriques, préparation d'un ensemble de matériels si le junior a besoin de compléter sa formation, adoption d'un principe unique pour la réalisation de revues de code pour les mentors. À chaque étape, les responsables donnent des retours aux novices, ce qui est très important pour eux. Le jeune employé comprend dans quels domaines il est fort et dans quels domaines il doit être plus attentif. Pour faciliter le processus d'apprentissage des juniors et des développeurs expérimentés, un chat commun a été créé sur Slack, de sorte que d'autres membres de l'équipe puissent également s'impliquer dans le processus d'apprentissage et répondre à des questions à la place du mentor. Tout cela rend le travail avec les juniors un processus prévu et, ce qui est important, contrôlé.
À l'issue d'une période d'essai de trois mois, le mentor organise un entretien technique final avec le junior, au cours duquel il est décidé si le junior peut passer à un poste permanent au sein d'une des équipes ou non.
Au total
À première vue, notre département pour les juniors ressemble à un incubateur ou à un espace de sable spécialement conçu. Mais en réalité, c'est un véritable département avec tous les attributs d'une équipe opérationnelle à part entière, qui résout de vrais problèmes et non des problèmes d'entraînement.
Mais le plus important est que nous offrons aux gens un horizon clair. Le département des tâches simples n'est pas un limbes infini où l'on peut s'enliser indéfiniment. Il y a un délai clair de trois mois durant lequel le junior résout des tâches simples sur des projets, mais a également la possibilité de se démarquer et de rejoindre une équipe. Les nouveaux recrues que nous engageons savent qu'elles auront leur propre chef de projet, un mentor parmi les seniors (voire plusieurs) et la possibilité de s'intégrer pleinement dans un groupe qui les accueillera et les attendra.
Depuis le début de l'année, 12 juniors ont été embauchés dans le département des tâches simples, seuls deux n'ont pas réussi leur période d'essai. Un autre jeune homme ne s'est pas intégré au groupe, mais comme il est très compétent dans son travail, il a été renvoyé dans le département des tâches simples pour une nouvelle période, durant laquelle, espérons-le, il trouvera une nouvelle équipe. Le travail avec les juniors a également eu un impact positif sur nos développeurs expérimentés. Certains d'entre eux, après une période de mentorat, ont découvert en eux des forces et des désirs de se tester dans des rôles de team leads, tandis que d'autres, en observant les juniors, ont amélioré leurs propres connaissances et sont passés d'un poste de mid à un poste de senior.
Nous allons simplement étendre notre pratique de recrutement de jeunes développeurs, car cela offre de nombreux avantages à l'équipe. Les juniors ont la possibilité d'un emploi à distance complet, indépendamment de leur région de résidence : nos équipes de développement vivent de Riga à Vladivostok et gèrent très bien le décalage horaire grâce à des processus bien rodés au sein de l'entreprise. Tout cela ouvre la voie aux personnes talentueuses vivant dans des villes et villages éloignés. Et il ne s'agit pas seulement de jeunes diplômés ou d'étudiants, mais aussi de personnes qui ont décidé de changer de profession pour diverses raisons. Notre junior peut avoir aussi bien 18 que 35 ans, car être junior concerne l'expérience et les compétences, mais pas l'âge.
Nous sommes convaincus que notre approche peut être facilement étendue à d'autres entreprises qui utilisent un modèle de développement à distance. Elle permet à la fois de recruter des juniors talentueux de n'importe quel coin de la Russie ou de la CEI, tout en développant les compétences de mentorat des développeurs expérimentés. D'un point de vue financier, cette approche est très économique, de sorte que tout le monde en profite : l'entreprise, nos développeurs et, bien sûr, les juniors, qui n'ont pas besoin de déménager dans de grandes villes ou capitales pour faire partie d'une équipe expérimentée et travailler sur des projets intéressants.
Source : habr.com
