Je ne pensais pas que j'allais écrire un article à ce sujet, et encore plus sur Habr, mais comme on dit, "il faut faire quelque chose avec ça". C'est douloureux.
Au cours des 10 années de ma carrière, d'abord en tant qu'administrateur système, puis en tant qu'ingénieur système et développeur, après avoir réussi à être un simple interprète, technicien et chef d'équipe, j'ai visité et mené des dizaines d'entretiens dans des entreprises de différentes tailles dans différents pays, participé à la formation d'exigences lors de la recherche d'employés et ... les gars, l'embauche est l'obscurité.
Je pense que le style et la façon d'embaucher qui vivent et prospèrent font du tort aux employés et aux entreprises.
Je vais essayer d'expliquer pourquoi.
Qui cherche l'employeur?
Tout dépend de quel avion considérer cette question.
Du point de vue des affaires, l'employeur est à la recherche d'une unité pouvant exécuter les fonctions requises à moindre coût.
Au niveau des chefs de service, des directeurs adjoints, etc. les exigences changent quelque peu et sont détaillées - elles ont besoin d'une personne dont le salaire s'inscrit dans le budget, qui peut être trouvée sur le marché avec les fonds disponibles et qui exécutera les tâches que son manager lui assignera dans l'intérêt des affaires.
À ce niveau, il est généralement déterminé l'argent spécifique que l'entreprise est prête à payer pour le travail et à partir de ce niveau, les RH ordonnent de rechercher un employé qui répond aux critères, puis les candidats qui ont passé les premiers filtres viennent pour un entretien.
Cela vaut la peine d'en parler.Pour commencer à recruter du personnel, vous devez savoir qui chercher.
Pour cela, des exigences sont formulées pour les candidats postulant à un poste vacant.
Dans un souci de standardisation, les grandes entreprises disposent encore d'une liste de règles sur la conduite des entretiens, voire de formations internes avec le titre «d'intervieweur agréé».
Et tout cela dégoûte.Selon la structure de l'entreprise et la compétence des gestionnaires, une liste d'exigences est formée dans les styles de «nous avons besoin d'un programmeur frontend, les exigences sont ordinaires», à «nous avons besoin d'un programmeur frontend avec une connaissance de
<liste de 30 articles> , une expérience de travail d'
au moins 23 mois et l'expérience requise dans les sociétés FMCG depuis
au moins 2 ans . »
Parfois, même des employés techniquement compétents sont impliqués et sont chargés de «former une liste complète des compétences et des technologies que vous utilisez par écrit» et tout cela avec quelques ajustements laisse pour la vacance dans le bloc «exigences».
Dans des cas encore plus rares, la tâche consiste à «former un test pour tester les connaissances nécessaires», ce qui donne lieu à diverses tâches de test sur Hackerrank, consistant en des tâches infiniment éloignées des travailleurs.
Quelle que soit l'approche utilisée pour la formation des exigences à partir de cette gamme,
elle fonctionne mal.Pourquoi cela fonctionne-t-il mal?
La pile technologique dans l'industrie est énorme.
Plus que vous ne pouvez imaginer ou écrire dans les exigences (bien qu'il existe également des listes d'exigences de trois pages).
De plus, la pile de l'entreprise changera également tôt ou tard.
Les leaders vont changer, la plate-forme logicielle va changer, un nouveau fournisseur viendra avec une bonne offre.
Mais les gens resteront. S'ils ne s'enfuient pas ou n'ont pas à les tirer, car ils ne sont pas en mesure d'effectuer de nouvelles fonctions.
Le désir de formalisation est compréhensible. Il est psychologiquement sûr et supprime le stress de la tête.
Mais cela
interfère avec l'embauche et la poursuite du travail .
L'embauche de professionnels passe à côté d'un grand nombre de personnes talentueuses simplement parce que les mots clés ne correspondent pas.
Regardez LinkedIn avec son «vous avez 27% des compétences correspondant à cet emploi». Ou sur la première page de l'émission HH / Indeed / Glassdoor, pour les postes vacants avec des exigences et une connaissance de la technologie.
En suivant les règles, les enquêteurs
posent des questions délirantes , se rendant compte qu'ils n'ont rien à voir avec les tâches futures. Le plus souvent,
ils ne connaissent pas eux-mêmes de réponses autres que celles écrites dans le questionnaire et
ne comprendront pas la bonne réponse si elle n'est pas standard.
Surtout quand l'entreprise a beaucoup de spécialistes avec des spécialisations différentes, et que les règles et les questions sont les mêmes pour tout le monde.
Ne respectant pas les règles, les enquêteurs commencent à s'appuyer sur leurs connaissances, peut-être très spécifiques, et à poser des questions qui, là encore, n'aident en rien à déterminer comment la personne exécutera les tâches qui lui seront faites.
Il peut provenir d'un autre projet pour développer un système spécifique, il peut très (pas) aimer ML, il peut (pas) aimer Go / Python / Perl / C # / C ++ / C / Java / Scala, mépriser ou adorer Puppet / Salt / CFEngint / Chef etc.
Tout simplement parce qu'il est un homme et qu'il n'a rien à se fier, sauf pour sa propre expérience et son goût.
Ces entretiens sont stressants pour toutes les personnes impliquées.La plupart des personnes interrogées sont toujours désagréables d'écrire des critiques négatives sur les candidats. L'impression des candidats après de tels entretiens est également loin d'être positive. Les managers sont fâchés que le poste ne soit pas fermé, les RH sont obligés d'envoyer de plus en plus de lettres et de messages, se demandant pourquoi le candidat qu'ils ont fourni ne correspondait pas, car "cela correspond parfaitement aux exigences".
Ces problèmes naissent du fait que le système de recherche d'employés est conçu pour trouver non pas un bon employé avec la tête, mais une certaine fonction, en essayant de le décrire à travers le nombre maximum d'exigences.Listes, mots clés, balises, listes de questions pour les interviews dans le style de "combien d'arguments la fonction de sous-chaîne prend" - ils gâchent tout.
Un tel système de sélection, d'une part, donne lieu à des «enquêteurs» professionnels qui se retrouvent dans des positions qui ne tirent pas objectivement, et d'autre part, ils empêchent les spécialistes normaux de venir travailler dans l'entreprise et lui apportent beaucoup d'avantages, car ils ont utilisé Puppet au lieu de Salt, ont-ils écrit en Python 2.7 au lieu de 3.5, ils ont utilisé Symphony au lieu de Laravel, Docker, pas RKT, Docker Swarm, pas Kubernetes ou etcd, pas Consul.
Tous les outils sont modifiés et remplacés.
Après 1-2 ans, les connaissances actuelles sur les outils ne seront plus pertinentes, après 5 ans, personne ne se souviendra le plus. Tout devra être changé, la fonction de l'employé peut aussi changer avec l'environnement et les projets.
La grande majorité des entreprises n'a aucun problème où vous devez connaître 8 algorithmes de tri et vous souvenir de toutes les fonctionnalités de Spring Boot Core ou des bibliothèques npm qu'il connaît.
Cela ne fait aucune différence quel système de gestion de configuration une personne connaît au début ou combien d'arguments à Java il se souvient.
Si une personne sait exercer une certaine fonction dans un cadre donné, cela ne signifie pas du tout qu'elle est un bon spécialiste.
Cela signifie seulement que, par coïncidence, il sait comment exécuter une certaine fonction ici et maintenant.
En fait, d'après mon expérience, d'autres critères sont beaucoup plus importants pour le candidat (et le futur employé retenu):
- Vous devez être adéquat, pouvoir raisonner et apprendre, être capable de faire des hypothèses raisonnables sur ce que vous ne savez pas.
- Vous devez avoir des connaissances de base sur les systèmes d'exploitation, les réseaux et les technologies pertinentes.
- Vous devez comprendre ce qui sous-tend les outils utilisés et pourquoi ces outils sont nécessaires (ou non).
- Il faut avoir des croyances sur la façon de travailler et la force de les suivre.
- En bref - vous devez être capable de penser au sens large.
Regardez les grandes entreprises qui réussissent, leurs exigences pour les candidats. Ils spécifient au minimum les technologies, juste pour indiquer une certaine base sur laquelle s'appuyer.
Voici ce que
Yandex écrit dans ses postes vacants au poste d'
administrateur système dans les exigences:
- Expérience en administration Unix / Linux - plus de trois ans;
- expérience dans l'administration d'applications open source (serveurs Web, bases de données, serveurs de messagerie, etc.);
- connaissance des technologies de réseau TCP / IP;
- expérience en programmation dans les langages de script (shell, python, perl);
- la capacité d'apprendre de l'expérience de collègues et de partager la leur avec eux;
- L'année dernière, vous avez occupé un poste similaire.
Et voici ce qui est dans les souhaits:
- expérience dans la conception de systèmes qui fonctionnent en continu et en douceur (24x7x365);
- compétences analytiques pour prévenir et dépanner rapidement.
Et voici les
exigences pour
la position SRE
de Google :
- Baccalauréat en informatique ou dans un domaine technique connexe impliquant le codage (par exemple, physique ou mathématiques), ou expérience pratique équivalente.
- Expérience avec les algorithmes, les structures de données, l'analyse de complexité et la conception de logiciels.
- Expérience dans un ou plusieurs des domaines suivants: C, C ++, Java, Python, Go, Perl ou Ruby.
Et voici les voeux:
- Intérêt pour la conception, l'analyse et le dépannage de systèmes distribués à grande échelle.
- Approche systématique de résolution de problèmes, associée à de solides compétences en communication et à un sentiment d'appartenance et de dynamisme.
- Capacité de déboguer et d'optimiser le code et d'automatiser les tâches de routine.
Il est préférable
de prêter plus d'attention aux descriptions de poste de
ce que fait l'entreprise et de ce que le candidat devra faire que de répertorier les 10 cadres utilisés dans vos projets.
Changez l'approche des entretiens.Demandez les bases des entretiens, demandez de raisonner à voix haute, posez des questions générales (et soyez prêt à entendre plus d'une fois une réponse qui vous surprendra), construisez un dialogue, communiquez, partagez des informations. Recherchez un terrain d'entente, essayez de comprendre comment une personne pense et pourquoi elle le pense.
La plupart des personnes à qui j'ai posé cette question (ainsi que moi-même) conviennent qu'en fait,
15 à 20 minutes de communication suffisent pour s'assurer qu'une personne est appropriée et déterminer son niveau et
en 10 minutes, il est nécessaire que comprendre qu'une personne ne s'adapte pas parfaitement.
Dans le même temps, les tests et les sondages techniques approfondis
n'affectent pratiquement
pas le résultat .
Oui, pendant cette période, vous devrez forcer votre cerveau et vos capacités de communication pour ceux qui mènent des entretiens.
La direction doit apprendre à faire confiance à ceux qui mènent ces entretiens et qui, à l'avenir, travailleront avec des personnes embauchées.
Vous devrez abandonner les balises, le filtrage fou (et irréfléchi) et la normalisation excessive, mais si calme.
Vous devrez assumer une responsabilité accrue pour le résultat de l'embauche, car "Voici ses résultats de test, il a répondu à 98% des questions, je ne sais pas pourquoi il a échoué le projet" ne fonctionnera plus.
Le flux entrant de candidats, y compris ceux qui ne conviennent pas, augmentera.
Mais, pensez par vous-même - cela va-t-il payer?