Embaucher des développeurs - des conseils pour être plus efficace? [fermé]

17

Je représente une société de logiciels qui est en train de constituer une grande équipe de développement de logiciels. Nous sommes difficiles à recruter et nous avons un très bon taux de rétention (la plupart des développeurs sont là depuis en moyenne 5-6 ans).

Nous avons consacré beaucoup de temps aux développeurs et aux ressources humaines et avons un faible ratio applications / embauche. Voici le processus que nous utilisons:

  • Entretien RH par téléphone - implique de poser des questions comportementales et techniques de base
  • Test en ligne - Implique un test technique de 30 minutes
  • Entretien technique par téléphone - Un entretien de 60 minutes par un développeur
  • Interview sur site - Une interview de 60 à 90 minutes par plusieurs développeurs seniors

Bien que ce processus ait fonctionné, nous avons consacré trop de temps aux entretiens. Avez-vous des réflexions sur la manière de procéder différemment? Notre objectif est d'automatiser toutes les tâches si possible tout en conservant la qualité des talents.


MISE À JOUR: Merci pour les réponses. Besoin de clarifier certaines choses. Notre objectif est de réduire le nombre de candidats qui passent d'une étape à l'autre. Voici nos chiffres actuels.

  1. Nous recevons 1000 CV
  2. 800 CV réussissent l'entretien RH
  3. 500 réussissent le test en ligne
  4. 100 passer l'écran initial du téléphone
  5. 10 Passez sur le site et embauchez

Comme vous pouvez le voir, nous devons mieux éliminer les candidats plus tôt dans le processus. Pouvons-nous faire un meilleur travail dans la façon dont le test en ligne évalue les gens?

Voici plus de détails sur le processus basé sur certaines réponses:

  • Entretien RH par téléphone - Ils posent des questions techniques très basiques (qu'est-ce qu'un CLR?) Pour éliminer le plus de personnes possible
  • Test en ligne - Ayez environ 10 questions de base avec 3 questions de codage
  • Écran de téléphone Tech - Couvre une variété de technologies. Peu importe si le demandeur ne sait pas tout tant qu'il peut démontrer qu'il sera en mesure de choisir de nouvelles technologies et de se mettre rapidement au courant
  • Sur site - Questions de codage devant les développeurs. Plus de questions au niveau architectural.
DotnetDude
la source
2
Une stratégie consiste à embaucher localement. Cela ne fait pas gagner de temps mais réduit le coût, si le coût est une considération importante.
rwong
1
Une deuxième façon consiste à identifier les collègues qui sont plus enclins (ou, cela ne le dérangerait pas) à l'embauche, et à les laisser y assumer une plus grande part de responsabilité.
rwong
2
Pourquoi ne pas demander aux développeurs de soumettre des CV via git? Cela éliminerait également quelques interdits.
WernerCD
2
@WernerCD - Si vous embauchez des développeurs .NET, ils n'ont probablement pas entendu parler de git.
jfrankcarr
4
D'un autre côté, je déteste les RH poser des questions techniques et devoir faire des tests en ligne. Celles-ci me donnent juste une mauvaise impression d'une entreprise. Je serais beaucoup plus intéressé par l'entreprise si elle passait directement à FizzBuzz et passait 10 minutes à parler d'architecture à la place. Je trouve ces choses beaucoup plus informatives et plus rapides.
MrFox

Réponses:

31

Je pense qu'il y a quelques endroits où vous perdez du temps.

Abandonnez l'entretien RH au-delà d'un simple premier contact pour configurer des entretiens de suivi. Demander aux RH de poser des questions techniques est une perte de temps. Par exemple, j'en ai eu un qui m'a posé une question peu claire sur MVC et ils n'ont pas pu clarifier ce qui était demandé.

Abandonnez le test en ligne, surtout si vous embauchez des développeurs de niveau intermédiaire à supérieur. Cela fait perdre leur temps plus votre temps et votre argent. De plus, certains développeurs ne réussissent tout simplement pas à ce genre de test.

Bien qu'une interview téléphonique soit bonne, elle ne devrait pas nécessiter une heure complète. Souvent, 5 à 10 minutes suffisent pour déterminer si une personne est en bonne forme ou non. 30 minutes devraient être le maximum dont vous aurez besoin pour déterminer si un face-à-face est justifié.

L'entretien en face à face sera le plus important. Il suffit de ne pas le gaspiller sur BS comme les tests de personnalité RH, les tests en ligne standardisés et autres. Prenez le temps d'apprendre à connaître la personne et de voir si elle s'intégrera dans votre équipe. Posez de bonnes questions liées au travail que vous attendez d'eux, ne trompez pas les questions, ne vous occupez pas des énigmes que vous avez entendues demander à Google / Microsoft / Apple / etc ou des anecdotes obscures.

Vous pouvez également passer par une firme de recrutement qui fait un contrat de location. Beaucoup d'entre eux auront fait le dépistage et les tests préliminaires et, dans certains cas, auront déjà travaillé avec la personne. De cette façon, vous pouvez embaucher le (s) meilleur (s) candidat (s) et déterminer s'ils conviennent bien tout en effectuant un travail réel pour vous. Si les choses ne fonctionnent pas pour une raison quelconque, laissez-les partir. S'ils conviennent bien, gardez-les comme employés permanents.


Modifier en fonction des informations mises à jour ...

Si votre RH ne sélectionne que 200 sur 1 000, le problème pourrait y résider.

Votre aide recherchée peut être trop générique et encourager de nombreuses personnes à postuler qui, autrement, se filtreraient. Vous souhaiterez peut-être mieux cibler votre annonce, mais ne la sur-ciblez pas.

Avec autant de curriculum vitae, les RH pourraient mieux externaliser cette phase à une agence de présélection pour affiner un peu les choses, en utilisant des entretiens d'automatisation et / ou de présélection et des vérifications des antécédents. Cela pourrait inclure une véritable interview technique initiale donnée par un vrai programmeur. Il pourrait également inclure un test en ligne, mais ce sera de la variété des astuces et des anecdotes.

Comme je l'ai dit, je ne pense pas que vous tiriez beaucoup de valeur des écrans de test RH et en ligne. Je suggère de repenser ces derniers et vous constaterez que vos chiffres dans les autres phases seront plus raisonnables.

jfrankcarr
la source
22
Drôle, je ne travaillerai pas pour des entreprises qui insistent sur de telles bêtises. J'ai également constaté que les entretiens RH sont généralement une perte totale de mon temps. Ils ne me disent rien sur l'entreprise, et les drones RH semblent penser que je me soucie des «valeurs d'entreprise».
Kristof Provost,
2
@jfrankcarr - peu importe ce qu'il fait. Le programmeur doit être capable de penser logiquement. Si vous ne copiez simplement pas des choses déjà existantes. Chaque projet doit faire quelque chose de nouveau, même lorsqu'il utilise un algorithme de bibliothèques, etc.
srnka
3
@srnka - Pour les applications d'entreprise typiques, je me fiche qu'elles puissent écrire un algorithme de tri serré et de bas niveau à partir de zéro. Il existe de nombreuses bibliothèques disponibles pour cela. Je me soucie s'ils savent comment suivre les modèles de programmation, concevoir une bonne interface utilisateur, écrire de bonnes requêtes de base de données, etc., c'est-à-dire les choses qu'ils feront tous les jours au travail.
jfrankcarr
2
Alors que je ne ferais pas -1 ... mais laisser tomber les RH et laisser tomber le test en ligne ... et faire 1000 interviews de 10 minutes? Qu'en est-il de quelqu'un qui ne peut pas répondre aux exigences de l'emploi (filtre RH)? Ou peut-on faire un entretien téléphonique mais pas FizzBuzz (test en ligne)? Ces filtres semblent être assez importants.
WernerCD
3
@NimChimpsky: Tout comme certaines entreprises utilisent les tests de personnalité comme outils pour sélectionner les candidats, certains candidats les utilisent comme outils pour sélectionner les entreprises.
Blrfl
23

C'est une situation où vous ne voulez pas être plus efficace que vous ne l'êtes déjà. Il y a déjà trop de candidats qui ne peuvent pas passer FizzBuzz. Votre processus de filtrage actuel semble garantir la qualité du développeur. Vous perdriez encore plus de temps sur la ligne si vous éliminiez l'une des étapes que vous prenez jusqu'à présent.

SomeKittens
la source
5

On dirait qu'un candidat retenu prend environ trois à quatre heures. Je n'essaierais pas de réduire ce temps global. Si quoi que ce soit, je pourrais ajouter plus de temps pour l'entrevue sur place afin de donner suffisamment de temps aux très bons candidats pour montrer définitivement leur valeur et décider si ce que vous proposez est intéressant pour eux à long terme. Avec votre faible chiffre d'affaires, vous devez faire quelque chose de bien.

Le faible retour sur investissement dans votre processus pourrait être les trois premières étapes. Vous pouvez peut-être filtrer les CV plus strictement ou rechercher des scores encore plus élevés lors du test en ligne. L'écran technique du téléphone peut être une cible d'optimisation si vous le définissez à 30 minutes, mais permet aux candidats supérieurs de s'étendre à 45 ou 60 minutes.

Si c'est une consolation, je pense que la distraction et le coût en temps, tout en ralentissant le travail du projet, sont parmi les plus précieux que vous puissiez passer. Considérez les coûts et les problèmes qui découlent des erreurs d'embauche et les grands gains pour l'équipe et l'entreprise lorsqu'une bonne embauche est effectuée.

Si vous faites preuve de point, en travaillant avec presque tous vos candidats, vous êtes en quelque sorte un agneau sacrificiel. Cependant, l'effet global du travail que vous effectuez a une grande valeur. Vous devez embrasser le rôle et le traire pour toute la bonne volonté que vous pouvez obtenir parmi les nouvelles recrues. Si le processus se déroule bien, votre direction appréciera également votre jugement sur d'autres choses.

DeveloperDon
la source
4

Comme je l'ai lu, votre système fonctionne et vous êtes plus que satisfait des résultats. Vos équipes fonctionnent bien, sont productives et tout le monde est content. Le seul problème est que vous pensez que cela coûte trop cher.

Considérez l'alternative - vous réduisez les frais généraux de recrutement du personnel (quelle que soit la méthode). En conséquence, la durée du mandat passe de 6 ans à 3. Si vous avez passé la moitié du temps pour chaque recrutement, vous avez dépensé la même somme au total pour le seul recrutement. Maintenant, regardez le coût du chiffre d'affaires - contrairement au travail manuel (la peinture de clôture en est un bon exemple), il faut beaucoup de temps pour se mettre à niveau, disons 3 à 6 mois. Cela signifie donc que vos économies de recrutement doivent récupérer 3 à 6 mois de salaires, de coûts et de profits perdus pour l'entreprise (appelez cela 2,5 * salaires).

Dans l'ensemble, un recrutement vous coûtera en moyenne 3 à 6 mois de salaire. Combien dépensez-vous pour combler un poste - une semaine ou deux, je suppose.

Façon de le réduire: tout ce que je peux voir, c'est les heures d'entrevue - les terminez-vous ou les complétez-vous une fois que vous avez décidé que le candidat est un non (ou un oui)? Si vous avez décidé de lui faire une offre après les 5 premières minutes, faites l'offre. Si vous avez besoin de 90 pour décider de ne pas faire d'offre, demandez pourquoi il a fallu 90 pour arriver à Non (c'est-à-dire qu'a-t-il fait pour le faire sauter dans les 60 dernières secondes).

Le recrutement est au mieux une séance de merde - il semble que vous ayez réussi à charger les dés en votre faveur, je serais tenté de le garder comme ça ...

mattnz
la source
3

Je suggérerais également quelque chose que j'ai lu ici: Programmation efficace: plus que d'écrire du code :

C'est agréable de voir si le candidat «s'inscrit» dans la culture et la vie quotidienne de l'organisation. Cela peut être fait en permettant au candidat de poser des questions aux employés actuels "officieusement" ou à un niveau avancé en faisant un travail contractuel pour une semaine ou deux (suggéré par l'auteur).

Rétrospectivement, si certaines entreprises pour lesquelles j'ai travaillé avaient utilisé cette stratégie, elles ne m'auraient jamais embauché, ce qui serait tout aussi bon pour les deux parties.

Dimitrios Mistriotis
la source
1

Nous leur demandons généralement d'apporter et d'expliquer du code qu'ils ont écrit et dont ils sont particulièrement fiers, de préférence à partir d'un projet open source.

« Attendez, » vous dites: « Est -ce pas ce parti pris envers les personnes qui vous des logiciels d'écriture dans leur temps libre? »

Oui. Oui. C'est un peu le point.

tylerl
la source
10
Deux notes: 1) de cette façon, vous vous assurez de manquer beaucoup de candidats par ailleurs également en forme qui ne font pas de projets open-source pendant leur temps libre, pour une raison quelconque (par exemple, ils n'ont pas de temps libre, étant un père / mère) ; ils préfèrent garder un équilibre entre vie professionnelle et vie privée pour éviter l'épuisement professionnel; ils ont d'autres passe-temps; etc.) 2) cela ne répond pas à la question.
Péter Török
1
+1 à mon humble avis, les meilleurs développeurs ne sont pas 9 à 5 développeurs. Ils passent du temps libre à travailler avec des projets. Bel article: theundercoverrecruiter.com/…
jgauffin
6
Je pense que c'est de l'argent. Je préfère embaucher quelqu'un de bien rond avec des intérêts en dehors du travail. Le codage est le plus simple.
NimChimpsky
3
J'ai une question de routine pour mon entretien: "avez-vous déjà été impliqué ou contribué à un projet open source"?, Laissez-moi vous dire que ce n'est qu'une sonde culturelle . S'ils l'ont, GRAND!: Ils aiment ce qu'ils font assez pour utiliser leur temps libre pour cela, ils sont bons avec le travail à distance et ils ont des compétences en communication / négociation (une grande partie de la question concerne l'implication dans la communauté elle-même , Je me fiche du code). S'ils ne le font pas, cela ne devrait faire aucune différence , car cela signifie probablement qu'ils ont une famille.
dukeofgaming
3
@ PéterTörök - Les entreprises comme celle décrite ne veulent pas que leurs programmeurs aient une vie extérieure. Ils veulent qu'ils soient jeunes et non attachés afin de pouvoir les utiliser et les recracher dans 3 à 5 ans.
jfrankcarr
0

Avez-vous pensé à travailler avec une agence de recrutement pour essayer de trouver des gens? Vous pouvez vous asseoir avec une agence et leur dire votre processus et ce que vous recherchez chez un candidat. Ils peuvent ensuite passer du temps à regarder les nombreux CV, à faire le test technique général et à administrer le test en ligne. Ensuite, ils vous transmettent les bons candidats pour le téléphone et l'entretien en personne.

J'ai travaillé avec une agence de recrutement dans le passé en tant que développeur à la recherche d'un emploi. J'ai dû passer par un long processus d'entrevue pour être dans leur bassin, puis lorsque des emplois potentiels sont apparus, j'ai dû faire les premières étapes et si mon code / mes réponses étaient bons, j'ai pu rencontrer la société actuelle.

Je suis sûr que cela réduit beaucoup les frais généraux de votre équipe, mais il y aurait un coût. J'ai entendu dire qu'il pouvait s'agir d'un pourcentage du salaire de l'employé. Donc, si vous offrez 65k / an, vous pourriez leur offrir 60k et ensuite payer 5k à l'entreprise.

Tyanna
la source
Quels mécanismes doivent être mis en place pour s'assurer que l'agence de recrutement fait bien son travail? (Par exemple, sélectionner correctement les bons candidats et ne pas soutenir les candidats inaptes via des préparations de test.)
rwong
@rwong ~ C'est simple, l'entreprise fait toujours l'entretien final ou 2. C'est le mécanisme. Soutenir un candidat ne fonctionne que si ce candidat n'a à parler à personne. Faire 2 heures d'entretiens (heure de téléphone et heure sur place) montrera rapidement si le candidat est vraiment bon. Et si beaucoup de faux candidats sont transmis, arrêtez d'utiliser cette agence.
Tyanna
0

Plutôt que de demander si notre processus est mauvais, vous devriez d'abord vous demander si nous n'arrivons pas à attirer les meilleures personnes disponibles. La plupart des organisations ne parviennent pas à se promouvoir et à promouvoir l'emploi avant de recevoir des candidatures. Je pense que c'est également une erreur d'avoir une implication RH au premier point de contact. Il existe un schisme fondamental entre les types de personnalité employés dans les RH et les développeurs haut de gamme.

Après avoir longuement réfléchi au fil des ans à ce sujet, j'utiliserais une politique d'embauche à 100% / intérimaire et offrirais des postes à temps plein pour sélectionner des entrepreneurs après un an. Certaines personnes interviewent très bien les connaissances techniques encyclopédiques mais passent leur temps à écrire le code dont elles savent que vous avez besoin mais pas ce qui leur a été demandé.

J'ai un conseil d'entrevue spécifique, je fournis du code et je donne au candidat 10 minutes pour le réviser, puis je lui demande de critiquer le code.

affaire de chameau
la source
Je suis d'accord, sauf que je pense qu'un an est trop long pour une situation de contrat à perm. 6 mois, c'est la durée la plus longue si vous voulez retenir des gens. Généralement, vous saurez dans les 3 mois si la personne est en bonne forme ou non. Il n'y a aucune raison de faire traîner les choses.
jfrankcarr
Un contrat de location de six mois est très bien si vous souhaitez embaucher des entrepreneurs. Cela peut être trop long si vous souhaitez embaucher quelqu'un qui occupe actuellement un poste permanent.
kevin cline
0

Comme le dit SomeKittens, faites le test FizzBuzz ... seulement pour le faire en direct et de préférence sur papier, car ce que vous voulez, c'est vraiment voir combien de temps ils prennent pour faire la solution. Ne notez pas la syntaxe, juste la logique de la solution, dans mon cas, j'autorise même le pseudocode et ce n'est pas un problème, cela fonctionne tout aussi bien.

Cela a fonctionné comme par magie pour moi ... J'ai pu éliminer un soi-disant gars expérimenté de 15 ans qui parlait beaucoup de lui étant si bon qu'il serait prêt à "démissionner" de son poste de direction pour un tiré sur un poste de développeur dans mon entreprise ... oh boy, at-il échoué: 45 minutes (je suis même allé chercher un soda et je suis revenu), je l'ai fait en pseudocode, et il s'est trompé. Le gars avait laissé une bonne impression aux RH en raison de son curriculum vitae, mais étant donné ce résultat, j'ai pu l'éliminer sans transpirer.

La moyenne est de 15 minutes, moins que cela, ne signifie pas que vous avez un bon programmeur, plus que cela commence à vous inquiéter d'avoir un mauvais programmeur devant vous.

Lisez l'article de Jeff Attwood " Pourquoi les programmeurs ne peuvent-ils pas programmer " pour avoir une idée de l'essence du test.

De plus, malheureusement, je suis au Mexique et ce n'est pas assez populaire pour avoir où choisir, mais, essayez peut-être careers.stackoverflow.com ?, Je veux dire, c'est un outil de recrutement spécialisé exactement pour ce que vous recherchez.

dukeofgaming
la source
0

Répondre du point de vue des développeurs, s'appuyer sur les compétences techniques des développeurs permet d'obtenir des développeurs de qualité mais a également la possibilité d'éliminer de très bons développeurs également.

Je suis impliqué dans de nombreux horizons de programmation C #, Java, PHP, etc. De nombreuses expériences professionnelles garantissent qu'une personne est experte dans son domaine, mais pour cette raison, un fait ignoré est que d'autres antécédents sont supprimés.

Par exemple, la majorité de mon expérience concerne PHP et je connais presque tous les mésanges et les morceaux du langage, juste parce que je peux répondre à la question, cela ne fait pas de moi un programmeur de qualité. Et ce n'est pas parce que je ne me souviens pas que le nom et la définition de la fonction dans une bibliothèque XXXX en Java sont un mauvais codeur Java.

Je pense que les développeurs devraient être jugés en fonction du potentiel et de l'adaptabilité plutôt que de ce qu'ils peuvent faire.

Starx
la source
0

Ma suggestion serait de changer l'entretien RH pour être davantage sur l'interrogation du candidat sur son environnement de travail idéal. Un point clé ici pour les RH est de simplement recueillir des réponses et d'ajouter des points sur la façon dont la réponse est donnée pour déterminer si le candidat sait quel type d'environnement il veut et dans quelle mesure cela correspond-il à votre organisation.

Il peut y avoir quelque chose à dire pour que les RH connaissent certains points du processus global utilisé au sein de votre organisation, mais c'est probablement là que vous pourriez faire un peu plus de désherbage si vous pouvez configurer les choses afin d'avoir des valeurs spécifiques, des styles de communication et d'autres points. comme des choses pour les RH à trouver. Il ne s'agit pas ici pour les RH de déterminer l'adéquation seul, mais plutôt de collecter les informations qui peuvent ensuite être transmises à un développeur ou deux qui peuvent voir si quelqu'un mérite un suivi rapide du processus.

JB King
la source