Technique d'entrevue «MoSt»

Il n'est pas habituel d'en parler à voix haute, mais de nombreux candidats embellissent leurs compétences et mentent parfois ouvertement lors des entretiens pour obtenir un emploi. Pour l'employeur, ce n'est en aucun cas un fait réconfortant, car un employé sans scrupules ne se fera pas sentir tout de suite - il faudra beaucoup d'efforts, de temps et d'argent de l'entreprise avant qu'il ne devienne clair que le retour ne correspond pas aux ressources investies. Et par décision de dire au revoir à un homme, il faut encore en chercher un nouveau ...

Une erreur dans la sélection d'un employé est un phénomène de longue durée, il est donc important d'enquêter immédiatement autant que possible sur une personne venue se montrer. La technique MoSt peut nous y aider. L'entretien, selon son testament, dure environ une heure et prévoit un entretien structuré du candidat en deux parties: technique et personnelle. Vous pouvez mener une interview en direct et par téléphone / vidéo.

La technique est conçue pour vous apprendre à obtenir des informations plus significatives sur le candidat, mais elle n'augmentera pas le nombre de candidats et n'améliorera pas leurs compétences. MoSt, cependant, augmentera vos chances de succès lors de la décision d'embaucher une personne.

25 questions


Donc, nous allons avoir une interview. Pour la première partie, technique, nous préparons 25 questions, réparties en 5 groupes, d'une durée totale de 30 à 40 minutes:

Intérêt
(le groupe est important lorsque l'on travaille avec un jeune candidat, car les programmeurs expérimentés ont souvent un haut niveau de responsabilité du fait de la présence d'une famille, obligations, réticence à changer d'emploi; également très pertinent pour les postes avec un grand flux de nouvelles exigences: externalisation, produits expérimentaux qui n'ont pas encore été testés par les utilisateurs et peuvent changer de façon spectaculaire)

Souvent, les candidats essaient de démontrer leur intérêt pour ce que fait votre entreprise ou pour la profession en général, et déjà ici, nous devons faire le premier pas. Il est facile de dire «je suis intéressé», il est impossible d'imiter l'intérêt, nous allons donc sélectionner quelques questions qui montrent à quel point une personne est vraiment intéressée par ce qu'elle fait. Visites de conférences, blogs, forums, projets personnels, participation à des développements Open Source, connaissance de la programmation de l'actualité mondiale et de l'histoire des TI, idées scientifiques, telles que la complexité du code cyclomatique et la vérification formelle des algorithmes, les principes de KISS, DRY, SOLID et tout ce que vous voulez dire eux-mêmes ne pouvaient s'empêcher d'entendre au travail - ce sont des signes sûrs d'intérêt. Les questions peuvent prendre la forme d'une conversation libre, mais l'essence devrait déjà être claire pour vous. Une personne intéressée est toujours précieuse,parce que l'intérêt génère un véritable désir de comprendre, de se développer et de réussir.

L'intérêt est tout, sans intérêt nous ne sommes que des gens.

Langage de programmation
(plus pertinent pour les jeunes programmeurs (<5 ans d'expérience); est également très important si le candidat a travaillé longtemps dans une entreprise ou en tant que pigiste)

En fait, le cœur de l'entretien. Le candidat doit connaître les outils de langage intégrés, les structures de données, les normes d'écriture du code et son organisation. Ce groupe de questions devrait maximiser la base technique du candidat, alors choisissez avec soin! Entre autres choses, cela aide à comprendre à quel point une personne aborde la question de manière approfondie. Les personnes qui aspirent à obtenir simplement un emploi bien rémunéré démontrent généralement une connaissance élevée des cadres spécifiques (commercialisables), mais une faible connaissance des fonctionnalités du langage intégré, sans lesquelles il est assez difficile de résoudre avec succès de nouvelles tâches (pour un programmeur). Le programmeur, «par amour», commence généralement par les bases, l'essence même et, par conséquent, ayant une bonne base, gère la nouvelle bien mieux.

Boîte à outils et auto-optimisation
(l'importance des réponses augmente avec l'expérience du candidat de moins de 5 ans en raison de la forte probabilité d'ignorance des outils et de plus de 15 ans en raison du rejet généralisé de tout développement ultérieur; elle est particulièrement importante pour les candidats pour les petites équipes très chargées)

Ce groupe est conçu pour déterminer quels outils de développement le candidat utilise et s'il cherche à simplifier son travail. Comme vous pouvez le deviner, cela comprend des questions sur les systèmes de contrôle de version, le déploiement et la livraison des applications, les IDE, les fonctionnalités du système d'exploitation, la planification du code et les outils de surveillance (mesure de la complexité du programme, couverture du test, consommation de mémoire, maintenabilité de l'index ...). Ce groupe de questions devrait aider à évaluer l'efficacité du candidat, sa nature scientifique et la rigueur de son approche.

Compétences architecturales
(l'importance des réponses est extrêmement élevée lors de la sélection d'un spécialiste de premier plan, car il prendra des décisions qui affectent le travail de toute l'équipe)

Le troisième groupe devrait révéler la capacité du candidat à écrire du code pratique, flexible et facile à entretenir. Dans la plupart des cas, les questions reposent sur la connaissance du paradigme du langage principal: POO, programmation de composants, interfaces ... Nous ajoutons également ici de la documentation, l'organisation d'un référentiel Git, le déploiement d'applications, les tests automatiques et unitaires ... Autrement dit, il ne s'agit pas tant de connaître des choses spécifiques, mais de la capacité de construire correctement le produit, de le rendre compréhensible, facile à utiliser et à prendre en charge, durable, facilement testé et assemblé.

Un article avec une revue des projets personnels du candidat (le cas échéant) s'intègre parfaitement dans ce groupe, car c'est en eux que la familiarité du propriétaire avec l'ordre et les préférences architecturales est révélée.


Spécificité et réflexion
(la pertinence augmente avec la complexité du poste pour lequel le candidat est considéré - par exemple, la programmation de bureau à usage général est plus simple que la programmation de jeux, les programmes financiers ou mathématiques, le Big Data)

Ce groupe comprend des questions directement liées à l'orientation pour laquelle le candidat est considéré. Très souvent (je l'ai vu moi-même plus d'une fois), des questions spécifiques ne sonnent pas du tout. C'est un gros péché: un programmeur Python peut être un bon programmeur ou développeur CLI, mais n'a absolument aucune expérience en développement Web et ne connaît même pas ses bases. Un développeur / concepteur frontend est susceptible de devenir un développeur backend faible et un mainteneur de la base de données. Le développement de jeux est un patrimoine très spécial. Il existe de nombreux exemples - une chose est claire: on ne peut pas se passer de questions spécifiques à l'emploi! Dans la programmation moderne, il y a trop de directions et toutes n'ont pas de similitudes, donc l'expérience dans l'une ne garantit pas le succès dans l'autre.

De plus, ce groupe devrait inclure quelques questions sur la pensée algorithmique et de bas niveau. Ils ne doivent pas être compliqués, mais le candidat doit avoir une idée de ce que fait son programme à un niveau bas, dans quel ordre, combien de temps ces équipes ou d'autres prennent-elles les unes par rapport aux autres, quels goulots d'étranglement ils ont, comment économiser les ressources informatiques et résoudre le problème en moins d'actions.

Et après?


En fait, nous avons 25 questions - et maintenant? Maintenant, nous devons poser ces questions et, sur la base des réponses du candidat, répondre nous-mêmes à cinq questions sur la personne interrogée:

1. Intéressé par : tentera-t-il, se développera-t-il à volonté, ne détestera-t-il pas son travail comme tel?
2. Possède une base technique : connaît-il les moyens fondamentaux de la langue, sait-il les utiliser et sera-t-il capable de résoudre des problèmes "pas à partir d'un manuel"?
3. Organisé et économique : il apprécie son temps, ses efforts, fait attention à la sélection des outils et tentera de simplifier la vie de lui-même et de toute l'équipe?
4. Architecte : il peut se voir confier des solutions architecturales, il organise le code de façon compréhensible, extensible, facilement vérifiable, pour que l'équipe puisse travailler avec lui?
5. Convient pour la position: Comprend-il les problèmes spécifiques à l'emploi et a une compréhension fondamentale de ce qui se passe en elle?

Sur la base des réponses, nous pouvons comprendre ce qui nous attend et notre équipe avec ce candidat professionnellement.

Qualités personnelles


Un facteur important est la détermination du profil psychologique du candidat: il est bourreau de travail ou paresseux, préfère faire son travail ou va (éventuellement avec envie ou mécontentement) regarder les autres employés, décomposera la discipline ou, à l'inverse, la soutiendra par ses actions - la deuxième partie est consacrée à la clarification de tout cela entretiens (20-30 min.). Les questions pour déterminer les qualités personnelles se posent: ce qui n'a pas aimé dans l'équipe précédente, au dernier lieu de travail, quels conflits de travail ont été mémorisés, à quelle fréquence traitez-vous et pour quelles raisons ... - l'histoire de tout cela peut révéler beaucoup de choses sur le candidat.

Ruse, trahison, fausseté


La triste vérité est que de nombreux candidats se trouvent aux entretiens (environ 70%, selon diverses sources). Cela peut-il être contrecarré? Je formulerai ma propre approche:

1. Déterminez les compétences du candidat qui ne vous conviennent pas personnellement . Quelque chose que, selon le candidat, il sait faire, mais ce n'est pas obligatoire, car le poste n'oblige pas. Supposons que vous n'ayez pas eu besoin de SQL dans un travail, mais le candidat prétend être un maître SQL.

2. Faites parler le candidat. Posez une longue question concernant une compétence telle que la personne interrogée a l'impression que vous n'êtes pas versé. En règle générale, dans une telle situation, les menteurs attaquent, car il est très facile d'accrocher des nouilles aux oreilles de quelqu'un qui ne comprend pas et de se montrer comme un "utilisateur de PC confiant". De plus, l'entretien technique est déjà terminé, et "selon la règle du sandwich, au final il faut préciser que ce n'est rien, que j'ai un peu dormi sur les questions techniques, j'ai tout démonté dans le travail passé, je suis devenu un expert en tout, et ils ne se souviennent pas de ce qui était au milieu. "

Un exemple tiré de la pratique personnelle:

en compagnie d'un employé, j'ai interviewé un programmeur Go qui a affirmé qu'il avait travaillé avec Firestore pendant plusieurs années, ainsi qu'avec PostgreSQL. Ni l'un ni l'autre n'a été mentionné dans la vacance, la situation suivante se développe donc: l'interviewé prétend qu'il est pratiquement un maître dans ce que nous ne sommes pas les derniers. Cependant, il ne le sait pas - il ne sait pas que nous avons de l'expérience à la fois dans Firestore et PostgreSQL. Il sait seulement que nous sommes des programmeurs Go, et par les réponses aux questions orientées Go, il n'est clairement pas un gagnant.

Sans hésitation, nous avons demandé à la personne interrogée de lui dire ce qu'il faisait sur Firestore, puis sur SQL, "pour que les gens qui n'étaient pas dans celui-ci comprennent". Selon lui, il a conçu des bases de données et des tables, des index, écrit de nouvelles requêtes et optimisé les anciennes après d'autres employés (c'est-à-dire que nous avons entendu des déclarations confiantes, bruyantes mais très générales). Quelle a été sa surprise lorsque nous avons commencé à poser des questions spécifiques sur l'appareil Firestore et SQL (révélant ainsi notre propre expérience), et sur le peu qu'il pouvait nous en dire.

Cependant, nous n'avons pas dit que nous ne comprenions pas, nous avons seulement demandé de le dire de manière à ce que les inconnus comprennent. La manipulation inoffensive nous a permis de déterminer que le candidat n'avait aucune idée du périphérique Firestore et des JOIN en SQL, et, surtout, essaie de nous tromper. Oui, nous n'avons pas besoin de connaissances sur Firestore, et nous n'utilisons pas du tout SQL, mais nous avons découvert que le candidat n'était pas fiable et n'était guère un programmeur performant au poste précédent, car il ne comprenait pas ce qu'il était censé faire là-bas.

Avec l'aide du silence, la rétention d'informations sur nous-mêmes et des questions stupides, nous avons créé l'impression que nous n'étions pas dans la dent, avons donné au candidat de saisir l'initiative, de commencer à parler. Provocation? À peine. Nous venons de créer une situation dans laquelle un mensonge serait bénéfique, nous avons examiné comment le candidat se comporterait, puis nous sommes passés à la troisième étape, particulièrement importante.

3. Béton. La personne interrogée doit répondre spécifiquement aux questions! Ne laissez pas les discours confiants vous induire en erreur - chaque affirmation doit être évaluée pour sa concrétisation. L'expression "J'ai travaillé avec Angular pendant deux ans, j'ai réalisé trois projets, dans le quatrième, j'étais le leader", même dit sur un ton confiant et ordinaire, ne veut vraiment rien dire. Essayez de savoir auprès du candidat ce qu'il a fait exactement, ce qu'il sait, quelles difficultés il a vues, comment il les a décidées - s'il vous dit vraiment quelque chose de techniquement spécifiquealors vous pouvez commencer à croire. Si la conversation se poursuit avec des phrases générales et tente d'éluder les réponses directes, il vaut mieux y mettre fin en douceur - nous recherchons des preuves réelles d'expérience, plutôt que des allégations non fondées qui doivent encore être testées dans la pratique. Une personne ne peut pas écrire un programme, mais ne peut pas du tout le comprendre, car dans notre profession, la compréhension précède le résultat. Celui qui comprend, peut s'exprimer spécifiquement. Celui qui ne comprend pas, cela ne peut certainement pas.

Le programme fait ce que vous y avez écrit et non ce que vous en attendez.


Ordre


Ce n'est peut-être pas évident à première vue, mais il y a un certain ordre dans cette technique d'interview. Le premier groupe de questions est simple et permet au candidat de s'habituer à la situation, de se détendre. Le deuxième groupe pose des questions techniques, après quoi il y a un saut aux outils, puis un retour aux problèmes de programmation puis au plus difficile - des questions de bas niveau et spécifiques. La charge et les sujets sautent, il faut au moins regarder un peu la capacité du candidat à basculer entre les tâches. Dans les troisième et quatrième groupes, il est recommandé, dans la mesure du possible, d'exercer une pression psychologique, de mettre le candidat dans une impasse, de donner l'impression qu'il ne dit pas exactement ce qu'on attend de lui. Cela est nécessaire pour créer des tensions afin, encore une fois, d'évaluer au moins partiellement son comportement et ses performances dans une situation stressante.

Une fois que le candidat est complètement chargé de questions techniques, une enquête personnelle commence. Dans la pratique, ce moment tombe vers la quarantième minute de l'entretien - le moment où le candidat est déjà assez fatigué, commence à perdre sa vigilance et dévoile honnêtement les détails de sa personnalité.

Conclusion


De nombreux détails de la technique ont été omis afin de raccourcir l'article, cependant, l'essence de l'approche est entièrement divulguée. MoSt nécessite une préparation d'une demi-heure pour un entretien avec la personne qui le mène, de l'attention et des compétences d'acteur, mais il offre les avantages suivants:

- Vous pouvez identifier ceux qui sont venus pour l'argent. Une telle aspiration n'est pas toujours «le code est rouge, le code est rouge, nous avons un carriériste ici!». Cependant, une personne intéressée a généralement plus de succès qu'une personne qui ne recherche que le profit.
- Les questions sont posées par des groupes spécifiques. Cela vous permet de déterminer les forces et les faiblesses du candidat et, en fonction du contexte, de prendre la bonne décision. Par exemple, lors de la recherche d'un junior, les compétences architecturales seront un plus, mais elles n'auront pas de valeur accrue, et lors de la sélection d'une personne pour une équipe très chargée, il est important de comprendre s'il fera face à des outils de développement complexes, que personne n'a le temps d'expliquer le dispositif.
- Avec le plus grand soin, vous identifierez les menteurs et ceux qui se sont préparés «cinq minutes avant» - en règle générale, ils répondent bien à certaines questions spécifiques, mais en considérant la situation, ils commencent à trébucher sous des angles différents.

En conclusion, il convient de dire que certains peuvent trouver la technique du MoSt provocante, mais l'intervieweur n'a besoin que de manipulations - créant des situations dans lesquelles vous pouvez voir le candidat sous le vrai jour, et non l'image qu'il a préparée pour l'entretien - mais pas un mensonge évident. Notre objectif (de personnes interrogées) est précisément la lutte contre le mensonge et la collecte d'informations significatives et fiables.
-
Ilya,
QLogic LLC,
développeur Python / Go
GitHub acc | Page personnelle

All Articles