Le 21 juillet, un stream a eu lieu sur nos réseaux sociaux avec Andrey Evsyukov, directeur technique adjoint du Delivery Club. Andrey a expliqué comment le cadre de recrutement DC fonctionne et a partagé quelques secrets sur la façon de l'optimiser afin qu'il fonctionne comme une horloge. Nous partageons avec vous la transcription et l'enregistrement de l'émission.
IT-, .
- ; , . , , .
En effet, mon profil n'est pas le mien, je ne suis pas un entrepreneur, mais plutôt un ingénieur. Si nous parlons de la composition minimale des postes, alors, comme il me semble, il devrait y avoir un trieur / chercheur qui recherche les CV et les candidats par mots-clés, il devrait y avoir un recruteur pour la sélection initiale, il devrait y avoir quelqu'un qui vérifie les compétences des personnes et leur conformité avec le poste déclaré et quelqu'un qui prend les décisions finales. Il est important de noter ici que mon profil est basé sur les entreprises pour lesquelles j'ai travaillé, et qu'il y a toujours une marque technologique en évolution qui influence fortement la façon dont nous recherchons des candidats. Il me semble que c'est fondamentalement différent, par exemple, d'une agence de recrutement, si nous parlons d'une entreprise qui n'a pas sa propre marque technique ou produit pour lequel elle recherche des employés.
– , , , ?
, , , 2 dry/solid-, 15 ?
Il existe différents types d'équipes. C'est-à-dire une usine de fonctionnalités, une équipe produit, une équipe produit responsabilisée, etc. Tout dépend des zones que le développeur doit influencer. S'il reçoit une tâche, donne le code pour examen et, à ce stade, l'entreprise considère que sa tâche est résolue - c'est une histoire. Un autre - si le développeur est également responsable du déploiement de la fonctionnalité, le troisième - s'il est chargé de clarifier les exigences du produit - de l'entreprise, des parties prenantes, du chef de produit. Ou une telle histoire, lorsque les développeurs sont impliqués dans quelles initiatives sont générées dans les changements pour le produit, savent à quoi il ressemble en production et comment cela affecte l'utilisateur; lorsqu'ils examinent les mesures des produits, ils connaissent les analyses commerciales - conversion, rétention, etc. lorsqu'ils savent comment se comporte l'application en production, ils connaissent les métriques techniques,savoir travailler avec Grafana et d'autres outils.
Dans le premier cas, une personne reçoit une tâche clairement décrite, et il y a un analyste technique séparé et un chef de projet / produit qui ont déjà terminé plusieurs étapes de travail sur la tâche et les exigences. Lorsqu'il prépare le code et l'envoie plus loin, ne se souciant pas beaucoup de ce qu'il advient de la tâche après celle-ci, les compétences techniques sont vraiment plus importantes pour lui.
Si l'histoire est plus proche du Delivery Club, alors les développeurs participent à la clarification des exigences, comprennent les mesures du produit et de l'entreprise, comprennent comment influencer l'utilisateur final, participent au déploiement, comprennent comment l'application se comporte en production - puis les softskills viennent en premier plan, et les connaissances connexes sont importantes. Dans ce cas, une personne peut ne pas connaître toutes les méthodes de tri, mais en même temps, elle comprend le fonctionnement de l'application, en comprend un peu plus sur l'architecture, sur le suivi de l'application en production, sur les activités de l'entreprise et comment cela se traduit en métriques du produit - et quoi ce sont les métriques qui sont importantes pour le produit ou pour la partie du produit avec laquelle il traite. Ensuite, l'évaluation passe à d'autres choses.
Souvent, dans un poste vacant pour un développeur PHP conditionnel, vous pouvez voir les connaissances requises de Docker, Kubernetes, Ansible, Prometheus, Grafana, CICD, GoLang - et vous pouvez également Python, Rust, Scala. Est-il vraiment nécessaire ou vaut-il mieux ne pas du tout postuler à de telles vacances?
Cela dépend de la manière dont le processus de développement est structuré. Et, probablement, à quel stade se trouve l'entreprise. S'il est en phase de croissance, lorsqu'il y a de l'incertitude, qu'il y a une culture d'expérimentation et d'hypothèse, alors il aura un profil différent d'employés recrutés. Autrement dit, il faudra des personnes qui comprennent comment leur travail affecte l'utilisateur final et le produit - et ici, vous ne pouvez pas vous passer des connaissances de Docker / Kubernetes.
Est-il judicieux de donner des problèmes de test à domicile pendant 1 à 2 heures, s'ils peuvent être résolus pour un candidat, et que cela ne peut pas être vérifié?
De nombreux programmeurs et pigistes peuvent ne pas vouloir faire un test gratuit - est-il habituel de payer pour cela?
Je répondrai en fonction de mon expérience personnelle et de mon opinion. Premièrement, le marché russe de l'embauche informatique est un marché hautement concurrentiel. Nous avons mis l'accent sur la réduction du nombre de points de communication avec les candidats potentiels afin d'atteindre le résultat qui est énoncé dans le sujet du flux. Nous ne donnons pas de tâches de test - à notre avis, cela teste faiblement les compétences. Il est important pour nous de déterminer comment une personne pense au cours de la dynamique «ici et maintenant», et pour cela, nous devons être présents et regarder comment il travaille avec des objections, avec des changements de conditions - cela nous parle des softskills. Le plus souvent, les candidats tombent au stade où on leur demande de faire une tâche de test, donc nous ne pratiquons pas cela.
, ? Rider App – ?
Nous développons nous-mêmes l'application Rider. Si nous parlons de tests - pour le moment, Delivery Club emploie 180 informaticiens, soit environ 30 équipes. Nous avons des équipes produit transnationales, composées de telle sorte que chaque équipe dispose d'un ingénieur QA - c'est-à-dire qu'il y en a également environ 30. Nous avons également des rôles de chef de file en matière d'assurance qualité, responsables de la direction et de la stratégie technologique.
Le processus de test lui-même est plus ou moins standard de l'industrie. Il y a JiraFlow et GitFlow, une étape dans laquelle les développeurs écrivent des tests unitaires, les tests fonctionnels sont écrits par des ingénieurs QA, ils composent également des cas de test qu'ils suivent. Ensuite, il y a les tests d'intégration, et après le déploiement, les tests finaux.
50 postes en 43 jours semblent irréalistes. Le processus d'intégration est intéressant.
L'introduction d'une personne dans le processus devrait prendre un certain temps - nous avons généralement 3-4 semaines, et nous avons besoin d'une révision du code améliorée. Comment gérer le flux des débutants?
Notre processus d'intégration est formalisé et établi au cours des 1,5 dernières années. Cela prend d'un mois à 3 mois - cela peut prendre toute la période d'essai. Il se décompose en 3 grandes étapes. Le premier est l'étude des processus, de la culture, de la pile technologique. À la deuxième étape (la deuxième-quatrième semaine) - tâches «semi-combat», tâches de dette technique, non prioritaires, dans lesquelles il est plus facile d'apprendre et de se plonger dans le contexte. Une personne reçoit un vrai projet au 3ème mois ou au milieu de la période probatoire, et nous prévoyons d'utiliser 100% de son temps utile - alors la personne montre ce qu'elle a étudié dans les deux étapes précédentes.
Le processus est formalisé, nous avons une base de connaissances dans Confluence avec des documents pour chaque direction de développement - l'adaptation d'intégration diffère légèrement en eux. Il y a toujours un manager direct, qui est également le chef d'équipe de l'équipe. De plus, nous pratiquons maintenant la culture du «copain» (une personne dans une équipe qui aide la personne à s'adapter et lui dit où chercher des informations et qui contacter). En outre, le supérieur hiérarchique agit en tant que mentor et aide l'équipe à diriger la mise en forme des objectifs pour l'employé. De plus, il existe une équipe et d'autres équipes auxquelles vous pouvez également vous référer. Nous avons beaucoup de communications horizontales entre et au sein des équipes, vous pouvez toujours vous adresser à n'importe quelle personne - y compris les personnes les plus hautes verticalement; c'est bienvenu.
Maintenant, l'intégration se déroule normalement, il n'y a pas encore de problèmes.
senior- ?
Il me semble que vous pouvez soit offrir un salaire plus élevé que le marché, soit recruter à peu près n'importe qui et déclarer qu'il est senior. Dans le premier cas, ce serait sur toutes les lèvres (et ce fait ferait partie de la stratégie).
Le salaire de Delivery Club est moyen sur le marché. Quant aux compétences, je dirai que nous avons des spécialistes qualifiés. Il existe plusieurs techniques qui peuvent accélérer l'embauche; si vous utilisez toutes les techniques disponibles, vous pouvez vraiment accélérer le processus de recrutement et en même temps améliorer sa qualité. Nous allons maintenant en parler plus en détail.
Donc, avant de parler d'accélération de l'embauche, je vais vous expliquer comment fonctionne notre cycle de recrutement et en quelles étapes il se compose - afin que vous puissiez plus tard vous référer à chacun d'eux et décrire comment vous pouvez améliorer la qualité et la vitesse à chacun d'eux. embauche.
Tout d'abord, il convient de mentionner que Delivery Club fait partie du groupe Mail.Ru. Nous utilisons plusieurs fonctions de Mail.Ru - par exemple, l'exploitation et le recrutement. Autrement dit, nous avons des ressources humaines de Mail. Au total, 7 recruteurs et une quarantaine de recruteurs ont participé à l'embauche, qui est notre sujet et qui a eu lieu au deuxième trimestre 2020.
Le processus commence par la rédaction d'une description de poste. Nous décrivons les exigences, décrivons le projet, nécessairement - les valeurs des employés (c'est-à-dire ce pour quoi un employé devrait travailler). Ce texte est également utilisé pour le premier contact. La recherche menée par les recruteurs est une recherche à froid, à travers les ressources que tout le monde a entendues. Après avoir compilé une description des exigences et des valeurs des employés, nous passons à l'étape du sourcing - c'est la recherche de contacts et le premier contact. Nous n'appelons pas les candidats, nous contactons par messagerie instantanée. La personne reçoit toutes les informations contenues dans la description de poste. Après cela, une courte réunion est prévue - une projection, qui dure 15 à 30 minutes. C'est la prochaine étape. Il est entièrement géré par une équipe de recruteurs. À ce stade, nous voulons déterminer si nous voulons appeler le candidat pour le prochain entretien technique.Au stade de la sélection, des questions sont posées sur le travail d'équipe - c'est l'une des compétences les plus importantes pour travailler dans Delivery Club, ainsi que sur les attentes des employés - quel poste il postule, quelle motivation matérielle et immatérielle il a. Une fois que nous avons pris une décision sur la poursuite de la communication avec le candidat, il y a des communications via le chat Telegram avec les recruteurs et les hauts responsables. Il y a des gens qui mènent des entretiens techniques, des chefs d'entreprise qui participent à la finale, moi et toute l'équipe de recrutement sommes également présents. Dès qu'un candidat apparaît, ils nous envoient un lien vers Huntflow (où nous maintenons une base de données de candidats), disent qu'il y a un candidat, telle ou telle compétence, pour tel ou tel poste, et s'entendent sur l'heure - alors ils déterminent déjà les créneaux convenables. Les cadres supérieurs écrivent au candidat pour savoir quand ils le peuvent,et planifier une entrevue technique.
Un entretien technique est un entretien de cas. Nous donnons des cas pour la conception d'architecture; ce bloc a également un petit bloc sur la programmation hardskills - seulement 15-30 minutes. La plupart de l'entretien n'est qu'un entretien de conception basé sur un cas; il dure 2 à 2,5 heures, parfois 3 heures, bien que nous essayions de ne pas les traîner: pendant ce temps, le candidat se fatigue et l'entretien devient inefficace. Après un entretien technique, les cadres supérieurs rédigent leurs commentaires dans Huntflow, saisissent les résultats des entretiens, vérifient les hardskills et les softskills. Ceci est également écrit sur le chat, et une décision est prise quant à savoir s'il convient d'appeler le candidat pour la finale.
La finale dure 30 à 60 minutes, elle est suivie par le chef de la direction à laquelle appartient le poste, ainsi que moi-même ou le directeur technique. Lors de la finale, nous découvrons enfin les attentes du candidat, parlons du projet que nous voulons lui proposer et prenons la décision finale - faire une offre au candidat ou écrire pourquoi nous ne sommes pas prêts à lui faire une offre d'emploi.
Déterminons maintenant ce qui peut être accéléré et amélioré ici, et à quelles étapes il faut prêter attention et à quel point.
Premièrement, comme je l'ai mentionné, le marché russe des spécialistes informatiques est très concurrentiel. Le nombre d'employeurs dépasse le nombre de candidats et, lorsqu'une personne déclare vouloir chercher un emploi, elle reçoit des réponses de nombreuses entreprises. Sur le marché occidental, la situation est inverse: si une entreprise affiche un poste vacant, une ligne de candidats se forme.
Cela nous dit de ne pas tergiverser avec des commentaires. Il est important de terminer rapidement toutes les étapes, de communiquer au candidat quelles seront les étapes, combien de temps elles prendront et quand il recevra des commentaires. L'étude a montré qu'en moyenne, un informaticien en Russie peut trouver un emploi en 3 jours - un temps d'arrêt même en 1 jour peut entraîner la perte d'un candidat. Notre expérience le confirme - nous avons eu des cas où un candidat a reçu une offre d'une autre entreprise alors que nous étions en retard avec les commentaires sur un entretien technique.
Tout d'abord, il est important de comprendre comment nous allons intéresser le candidat - c'est-à-dire quelles valeurs employés nous proposons, en quoi nous nous différencions des autres entreprises du marché. Nous l'avons dans les descriptions de poste et à tous les points de communication: une autonomie décisionnelle, un processus de développement bien coordonné, un cheminement de carrière clair, travailler avec les technologies modernes et enfin - travailler dans l'industrie du commerce électronique à la croissance la plus rapide et la plus rapide, y compris dans l'entreprise. , qui est le leader de ce marché.
Après avoir contacté le candidat, nous devons trouver rapidement les créneaux pour l'entrevue. Pour ce faire, nous communiquons sur Telegram. Nous avons un règlement - c'est-à-dire que lorsque nous nous préparons à un entretien avec les supérieurs hiérarchiques, nous répondons dans les 3 heures après que le recruteur a dit qu'il y avait un candidat et que nous devons trouver du temps pour un entretien. De plus, nous rédigeons les commentaires des entretiens au plus tard 1 jour - idéalement le même jour, au maximum - le lendemain matin. Un retard peut entraîner la perte du candidat.
Nous avons donc une phase d'entretien technique à laquelle les développeurs et les chefs d'équipe peuvent se rendre, et nous avons augmenté le nombre de recruteurs qui recherchent et augmenté le flux de candidats entrants. Après cela, il était important pour nous de nous assurer que nous suivions principalement les softskills. Pour nous, ce ne sont pas tant les compétences techniques qui sont importantes que la coïncidence entre les caractéristiques culturelles que nous avons dans l'entreprise, l'adaptabilité et l'éducation d'une personne, la qualité de son travail en équipe. Il y a eu un cas où une personne est venue et a postulé pour le poste de développeur GoLang malgré le fait qu'elle n'avait pas écrit en Go auparavant (il avait de l'expérience en Java), et en même temps, il a passé un entretien technique (je vous parlerai de l'entretien de cas plus tard), très cool a fait la conception du service, répondu rapidement, s'est orienté, a accepté de nouvelles contributions et ne s'est pas perdu. En fin de compte, nous l'avons embauché,il a rapidement maîtrisé Go, maintenant il fait des tâches sympas.
Il est important que l'étape de l'entretien de cas soit évolutive afin que davantage de personnes puissent y être connectées et que ce que nous identifions à ce stade soit clairement ciblé. À ce stade, nous n'identifions pas complètement la motivation: nous devons identifier l'adaptabilité, la capacité à travailler avec des objections, déterminer comment une personne argumente, donne du feedback, accepte les critiques et s'oriente.
Lorsque vous avez 40 managers de haut niveau et que vous devez mener 150 entretiens techniques, vous ne pourrez pas à chaque fois aller voir la personne et lui demander comment s'est déroulée l'entretien, que la personne l'a aimé ou non. Vous devez uniformiser suffisamment de commentaires - le format du rapport qui est enregistré après l'entretien technique. Nos supérieurs hiérarchiques et moi avons fait pas mal de formations - j'ai parlé des softskills qui sont importants pour nous, pourquoi et comment ils sont formés (pour l'avenir - ils sont formés à partir des particularités du secteur d'activité dans lequel nous travaillons). Nous avons parlé de la construction d'un entretien de cas, de ce que sont les mouvements, comment le suivre correctement, comment construire son contexte afin que vous puissiez vérifier l'adaptabilité d'une personne et comment elle s'oriente avec de nouvelles introductions. Et, bien sûr, à propos decomment refléter tout cela dans le rapport d'entrevue, de sorte que plus tard, si une personne arrive en finale, vous puissiez voir comment elle a réussi l'entretien technique. Avant cela, un rapport de sélection est également joint, que le recruteur remplit. En conséquence, en tant que personne qui dirige les finales, j'ai une vue d'ensemble. Il explique pourquoi une personne change d'emploi, quelle est sa motivation à changer, ce qui est important pour elle dans un nouveau lieu de travail. De plus - rapporte comment il travaille dans une équipe, s'il sait comment mesurer son efficacité, comment il est adaptatif, comment il est bon en architecture, quelles connaissances il a dans les bases de données, Go, PHP ou les langages connexes.car la personne qui dirige la finale a une vue d'ensemble. Il explique pourquoi une personne change d'emploi, quelle est sa motivation à changer, ce qui est important pour elle dans un nouveau lieu de travail. En outre - rend compte de la façon dont il travaille en équipe, s'il sait mesurer son efficacité, à quel point il est adaptable, à quel point il est bon en architecture, quelles connaissances il a sur les bases de données, Go, PHP ou les langages connexes.car la personne qui dirige la finale a une vue d'ensemble. Il explique pourquoi une personne change d'emploi, quelle est sa motivation à changer, ce qui est important pour elle dans un nouveau lieu de travail. En outre - rend compte de la façon dont il travaille en équipe, s'il sait mesurer son efficacité, à quel point il est adaptable, à quel point il est bon en architecture, quelles connaissances il a sur les bases de données, Go, PHP ou les langages connexes.
En fin de compte, nous vérifions la pertinence de notre culture, découvrons enfin les exigences, assurez-vous de parler des postes vacants que nous avons, des projets à réaliser, de la manière dont l'intégration se déroulera. À ce stade, il est important de travailler avec les attentes - pour clarifier à quoi ressemblera le travail, pour donner un choix de postes parmi ceux disponibles. Notamment, nous parlons des avantages et des motivations immatérielles que nous avons dans l'entreprise: assurance médicale volontaire, gym, conférences, formation, développement des employés; comment la revue de performance est construite; comment postuler pour une promotion et quel cheminement de carrière attend une personne. Tout cela influence la prise de décision finale du candidat.
En général: les recruteurs sont engagés dans les projections, il y a une équipe de cadres supérieurs qui sont engagés dans les entretiens de cas, il y a une équipe de directeurs de direction (avec moi) qui dirigent les finales. Il s'avère un "entonnoir". Il est important qu'à chacune des étapes, des choses spécifiques soient vérifiées, et à la fin, tout se réunisse et qu'une décision soit prise pour savoir si vous êtes prêt à accepter un candidat ou non. Cela permet d'accélérer le processus et de gérer beaucoup de trafic si vous souhaitez embaucher beaucoup de personnes en peu de temps.
On s'est demandé à quel point il était réaliste d'embaucher autant de personnes en si peu de temps. Il est à noter que ce n'est pas la première vague d'embauche à avoir lieu au Delivery Club. Le premier était de retour au 1er trimestre 2019, et les suivants au 3ème trimestre et au 1er trimestre 2020.
Il y a quelques autres choses qui peuvent accélérer l'embauche. Premièrement, lorsque vous comprenez qu'un candidat ne vous convient pas, vous devez comprendre comment lui donner ce retour. Vous devez lui dire quelles forces vous avez vues lors de l'entrevue. Vous devez bien comprendre pourquoi vous avez pris la décision en faveur d'un autre candidat, mais en même temps donner à ce candidat des axes de croissance, en disant: nous pouvons poursuivre le dialogue si vous resserrez ceci et cela. Nous avons de nombreux exemples de personnes qui reviennent. Tout d'abord, lorsqu'ils ont reçu des commentaires, ils ont dit: merci, vous avez mis en évidence pour moi des domaines auxquels je n'avais pas pensé auparavant. Dans ce cas, ils ne s'énervent pas parce qu'ils n'ont pas été pris. Et puis ils sont prêts à travailler pour revenir, acquérir certaines compétences et présenter une nouvelle demande.Un tel «investissement» peut vous donner une augmentation en six mois à neuf mois par exemple.
Deuxièmement, comme nous travaillons dans une entreprise de produits et que nous avons commencé à travailler sur une marque technique, cela affecte assez fortement la fidélité des personnes qui viennent postuler pour un emploi. Nous avons une telle chose: lorsqu'une personne vient au Mail, elle peut postuler pour un poste vacant dans n'importe quelle unité commerciale; et nous, après avoir commencé à télécharger la marque technique, sommes confrontés au fait que les gens viennent juste pour nous - «nous voulons aller au Delivery Club, nous avons vu comment Denis Gorev parle de la nomination des courriers, nous avons réalisé que vous avez beaucoup de choses, de nombreux systèmes, des cas complexes - nous aimerions essayer. " Autrement dit, il est également important de fournir à une marque technique des histoires sur le fonctionnement du système afin d'ajuster le flux entrant de candidats.
Enfin, nous avons également pu accélérer par le fait que pendant la période d'auto-isolement, nous sommes passés au travail à distance, depuis mars. Nous travaillons toujours à distance et nous avons commencé à examiner les marchés des employés distants. Avant cela, nous ne parlions que du bureau de Moscou, mais maintenant nous avons décidé d'élargir la géographie de nos candidats et de nos employés. Pendant cette période, nous avons réalisé que travailler à distance est possible; nos processus se sont adaptés de manière assez flexible, ce qui a ouvert un nouvel horizon et de nouvelles opportunités.
Au total, au deuxième trimestre, nous avons pris environ 500 contacts avec des candidats potentiels avec l'aide de recruteurs, réalisé environ 250 captures d'écran, 150 entretiens techniques, 70 finales et fait environ 58 offres. A chaque étape, il y a un entonnoir de 50%, environ; on peut dire que pour embaucher environ 50 employés, il est nécessaire de mener environ 500 contacts avec des candidats potentiels - un contact est compris comme une tentative de communiquer avec une personne trouvée sur la ressource. Environ 350 de ces 500 ont répondu de quelque manière que ce soit, et avec 250 d'entre eux, nous avons fait des projections initiales, qui ont été transposées en 150 entretiens techniques. L'entonnoir au stade des finales et des offres est beaucoup plus petit. À ce stade, il me semble que le travail dont j'ai parlé joue un rôle - c'est-à-dire comment vous travaillez avec les attentes. Vous souvenez-vous de la motivation du candidat:il est peut-être important pour lui de développer ou d'étudier des technologies, ou d'étudier des microservices, ou d'avoir une équipe et un mentor bien coordonnés. Vous enregistrez ces éléments dans votre base de candidats et répondez à ces attentes - en particulier lors de la finale et lorsque vous faites une offre.
Pouvez-vous partager une étude de cas issue d'un entretien de cas? Est-ce la même chose pour tout le monde ou avez-vous un ensemble de cas?
Allons plus loin dans les entretiens de cas. Ce que c'est? Tout d'abord, il existe plusieurs options de réponse pour les cas, elles ne peuvent pas être apprises à l'avance. Si les candidats demandent à quoi ils doivent se préparer, il n'y a pas de réponse. L'incapacité de se préparer est précisément la beauté d'un entretien de cas.
Nous avons plusieurs entretiens de cas, nous les utilisons en fonction du département dans lequel nous recherchons potentiellement le candidat. Parfois, il y a une différenciation claire par compétences: par exemple, à un moment donné, nous recherchions des candidats qui connaissaient Python pour RnD - nous avons utilisé un cas pour eux; quand on recherchait PHP-schnicks pour la plate-forme, le cas était différent, quand Go-schnicks pour le consommateur-direction, il y avait un troisième cas.
Dans un cas, tout d'abord, les conditions, le contexte, la tâche sont importants. Les entretiens de cas sont également bons car ils sont proches de la réalité. Encore une fois, on revient sur le fait que le marché est aujourd'hui très concurrentiel: il est très important pour nous d'intéresser un collaborateur potentiel. Lorsqu'une personne vient pour un entretien et qu'elle commence à l'interroger, elle a l'impression d'être à un examen, ou comme si elle était pour un interrogatoire - les candidats n'aiment pas ces entretiens, et c'est exactement le genre de retour que nous avons reçu après les entretiens. Mais si une personne se voit confier une tâche intéressante, proche de la réalité et conçue pour dire exactement comment elle travaille, comment se construit sa communication, comment elle discute de l'architecture, à quoi tout ressemble de l'intérieur - elle s'implique dans tout, elle s'intéresse, elle est plus disposée à répondre sur ce. Autrement dit, il n'y a rien de pire quequand une personne est confrontée à un problème purement synthétique, et qu'elle pose d'abord la question: peut-être est-il possible de ne pas faire cela? Pourquoi utiliser cet algorithme que vous me donnez? Pourquoi créer une application entière si vous pouvez faire du routage dans inject? La chose la plus intéressante est que dans les entreprises alimentaires, en tant qu'ingénieurs, on nous demande toujours de penser de cette façon - en plus des entretiens, ils doivent généralement changer complètement leur façon de penser. Nous avons essayé d'en tenir compte.
Lorsqu'un candidat arrive, nous le saluons, lui disons à quoi ressembleront toutes les étapes, disons qui est présentement présent à l'entretien. Le candidat parle un peu de lui-même - il est important de le détendre un peu pour qu'il puisse utiliser tout son potentiel, ne s'énerve pas, ne s'inquiète pas. Et puis on joue un gros match avec lui.
«Imaginez que vous ayez un emploi au Delivery Club. Et vous travaillez en équipe sur une application mobile où les gens commandent de la nourriture. Et vous devez créer un écran de suivi du courrier après avoir commandé de la nourriture. Si vous l'avez déjà utilisé, il existe une telle carte où vous pouvez voir comment il marche le long de la carte. Alors imaginez-vous comme un développeur backend qui a besoin de concevoir quelque chose comme ça. "
Ensuite, nous disons le contexte. Le contexte signifie un certain environnement. Nous disons: «Il existe une passerelle API qui accepte les requêtes d'une application mobile, elle les autorise, les achemine plus loin. Il y a un service avec des commandes - il y a une telle base de données, de tels champs, une si petite main qui donne telles et telles données. De plus, il existe un service logistique, auquel les coordonnées sont envoyées à partir de l'application que le courrier a entre les mains. " Autrement dit, en substance, nous créons l'approximation maximale de la réalité, nous disons qu'il est possible de changer, ce qui ne peut pas. Disons que l'un des services est écrit dans une langue exotique que le candidat ne connaît pas encore - c'est-à-dire qu'il ne peut pas être changé. Ou un autre service est trop complexe, il n'est pas non plus prêt à y apporter des modifications. Ensuite, le candidat est limité: il ne peut pas apporter de modifications à ces deux services,mais peut créer tout autre nombre de services pour résoudre le problème du transfert des coordonnées du courrier.
La personne se révèle être à l'écoute non pas du fait qu'elle est à l'entretien, mais de la manière de construire un tel système. Des solutions intuitives sont trouvées que vous pouvez essayer d'appliquer. Un diagramme de séquence est dessiné. Il s'avère que la solution ne fonctionne pas car les conditions ne sont pas réunies. La personne réfléchit plus loin. Après avoir trouvé quelque chose, nous utilisons parfois une petite branche avec un "faux chemin" - c'est ainsi que nous vérifions l'adaptabilité même dont j'ai beaucoup parlé.
En général, l'adaptabilité peut être décrite comme la vitesse de passage à travers les étapes d'adoption. J'aime cette métaphore: imaginez qu'on vous demande de construire une cabane. Vous construisez une hutte avec des bâtons. Et maintenant, vous devez vous assurer qu'il est protégé de la pluie - puis vous le recouvrez d'une bâche. Et maintenant, il est nécessaire qu'il ne s'effondre pas du tremblement de terre - alors il est clair qu'il est nécessaire de tout enlever, de faire les fondations et de construire non pas une hutte, mais un bâtiment. Autrement dit, si la solution est simple, il est facile et rapide de l'abandonner. Maintenant, imaginez que vous avez déjà construit un grand bâtiment, et ensuite vous êtes donné une condition dans laquelle vous comprenez que vous avez tout construit mal. Et c'est déjà assez difficile de refuser une telle chose.
Nous vérifions dans quelle mesure la personne est prête à revenir en arrière, faisons un aperçu de tout ce qu'elle a fait et comprenons s'il vaut la peine de développer davantage cette solution - ou tout de même il est nécessaire de tout supprimer et de tout faire différemment. Quand une personne en vient à cela, nous disons: oui, refaisons tout, nous avons une telle opportunité, nous n'avons même pas encore commencé à écrire du code. Et puis, quand on est revenu, ils ont tout reconstruit, et c'est la bonne décision, on dit qu'une personne a une adaptabilité assez élevée.
Avez-vous des tests à l'entrée pour certains formulaires standards? Si oui, comment évaluez-vous son efficacité? Sinon, pourquoi pas?
Si la question concerne les candidats, nous n'avons aucun test. Ce qui ressemble à des questionnaires et des examens effraie les gens et ne donne pas de bons résultats d'embauche, donc l'accent est mis sur les entretiens de cas. Nous n'effectuons pas de tests psychologiques, nous n'avons aucune compétence en la matière.
Qu'est-il arrivé avant
- Ilona Papava, ingénieur logiciel senior chez Facebook - comment obtenir un stage, obtenir une offre et tout sur le travail en entreprise
- Boris Yangel, ingénieur Yandex ML - Comment ne pas rejoindre les rangs des spécialistes stupides si vous êtes un Data Scientist
- Alexander Kaloshin, EO LastBackend - comment lancer une startup, entrer sur le marché chinois et obtenir 15 millions d'investissements.
- Natalia Teplukhina, membre de l'équipe de base de Vue.js, GoogleDevExpret - comment passer une interview dans GitLab, entrer dans l'équipe de développement de Vue et devenir ingénieur du personnel.
- , DeviceLock — .
- , RUVDS — . 1. 2.
- , - . — .
- , Senior Digital Analyst McKinsey Digital Labs — Google, .
- «» , Duke Nukem 3D, SiN, Blood — , .
- , - 12- — ,
- , GameAcademy — .
- , PHP- Badoo — Highload PHP Badoo.