Test technique pour un développeur senior [clôturé]

21

J'ai un dilemme. J'ai un candidat pour un poste de développeur de logiciels senior.

Le gars semble compétent lors d'un premier entretien avec lui et il a répondu précisément aux questions posées et m'a donné des preuves de son travail. De plus, il a été fortement recommandé par certains collègues de confiance.

Dans ce cas, je suis tenté de sauter le test technique requis par HR car je dois pourvoir le poste vacant dès que possible. Veuillez partager votre expérience.

ÉDITER:

Contre un meilleur jugement, j'ai donné le test. Meilleurs scores sur presque toutes les questions, même sur un sujet sur lequel il ne se vantait pas. Mais j'avais tellement de l'ironie de sa part quand il a vu les questions du test - qui n'étaient clairement pas pour un senior.

Nous avons donc fait une offre.

Merci à tous pour vos idées.

Daniel Voina
la source
22
recommandé par des collègues de confiance devrait être suffisant. La plupart ne feraient pas cela car c'est leur réputation sur la ligne.
Aditya P
28
Si vous n'avez pas assez de temps pour le tester maintenant, comment diable aurez-vous assez de temps pour le congédier, rechercher un nouveau candidat, puis tester ce type? Faîtes-le bien la première fois.
Alex Feinman
1
@Alex: Il ne s'agit pas de ne pas bien faire le processus. Je veux embaucher rapidement car j'ai un délai à respecter. Je peux le tester autant que je veux, je lui ai même fait concevoir des solutions sur le talk - pas de code cependant car je n'étais vraiment pas intéressé par la syntaxe du langage mais par la solution proposée et les technologies adaptées.
Daniel Voina
Ne pourriez-vous pas contracter pendant ce temps pressant?
Kevin Peno
1
@Aaron, les RH seraient-elles vraiment si préoccupées par un poste contractuel? Surtout si le contrat a été mis en place à court terme pour éviter des difficultés à long terme pour l'entreprise.
Kevin Peno

Réponses:

34

Comme d'habitude...

Ça dépend

Je n'ai jamais vu un test technique qui prouve sa compétence. J'ai vu beaucoup de tests techniques qui ont démontré l'ignorance - à la fois de la part du testeur et du candidat.

Quelle confiance accordez-vous au test technique? L'avez-vous pris? Pensez-vous que c'est juste?

En toute confiance, j'ai pris un test technique en ligne en faveur d'un client il y a quelque temps (ils voulaient que mes scores soient une `` base de référence '' pour les nouvelles embauches) et je l'ai échoué - principalement parce que les questions du test consistaient uniquement en noms de syntaxe et de fonction pour un version d'une langue spécifique. J'utilise la langue tout le temps et j'en ai depuis des années, mais pas ces spécificités . Ce sont toutes des choses que je pouvais rechercher quand / si nécessaire - et en tant que telles, elles n'étaient absolument pas pertinentes pour les compétences / aptitudes.

Cela dépend donc vraiment du test. Si vous pensez que votre test technique est important, administrez-le par tous les moyens. Si vous ne vous en débarrassez pas . Votre impression basée sur un entretien personnel et des recommandations de collègues de confiance est bien plus précieuse que n'importe quel test .

Steven A. Lowe
la source
:) Je ne suis vraiment pas intéressé par la syntaxe ou le formatage du code. Je veux juste un gars expérimenté qui peut gérer l'incertitude et connaît bien ses trucs. De plus, il est un ID SCJP vérifié chez Oracle. Vaut-il la peine de lui poser des questions sur C # juste pour le bien du processus RH?
Daniel Voina
3
+1 "A la fois de la part du testeur et du preneur de test" ... en effet. J'aimerais pouvoir +10
P.Brian.Mackey
1
@Daniel: Je ne le pense pas - mais j'ai une très faible opinion des processus et formalités RH. Je pense qu'une grande partie de ce document existe simplement pour justifier l'existence du ministère, plutôt que d'ajouter de la valeur à l'entreprise. Mais c'est juste mon opinion.
Steven A. Lowe
S'il s'agit d'un test en ligne, vous pouvez rechercher les réponses comme vous le feriez normalement, non?
Zan Lynx
3
lol à votre histoire sur l'échec d'un test pour une technologie dont le client sait déjà que vous êtes un expert. J'ai déjà fait ce genre de tests auparavant et ils m'ont vraiment fait douter de mes propres capacités (j'étais trop tôt dans ma carrière pour réaliser à quel point le test était inutile.) C'est exactement la raison pour laquelle la plupart des certifications techniques sont au mieux des mots à la mode. votre CV pour les filtreurs RH.
jhocking
33

Les résultats du test technique feront-ils une différence dans votre décision d'embauche? La force de votre conversation avec lui et les recommandations de collègues hautement fiables sont-elles suffisamment fortes pour rendre les résultats du test technique non pertinents?

Si le test ne fait aucune différence, sautez-le.

Gratzy
la source
2
Si le test ne fait aucune différence, sautez-le. - Je pensais la même chose. Cependant, il y a une autre variable - les RH, si cela nécessite fortement ce test et que cela ne prend pas beaucoup de temps, alors je recommanderais de le faire pour ne pas être blâmé par les RH dans des tests faibles ou ne pas soutenir les règles / politiques de l'entreprise.
alexb
1
@alexb Si les RH nécessitent vraiment le test, la question elle-même est théorique et le test doit être administré. Le fait que la question soit posée, nous devons donc supposer que la possibilité de ne pas passer le test existe.
Gratzy
1
@Gratzy Certainement d'accord. Par «les RH exigent fortement », je voulais dire que les RH nécessitent un test, mais cela pourrait toujours être ignoré (si les RH pouvaient être flexibles), mais cela pourrait être risqué pour le gestionnaire en cas d'embauche d'ingénieur avec un manque de compétences nécessaires, car le gestionnaire dans un tel le cas pourrait être blâmé pour ne pas avoir passé le test. C'est juste que je voulais dire.
alexb
Ce que je pourrais en plus dire, c'est: si le test ne prend pas beaucoup de temps, je recommanderais juste de le faire, cela devrait gêner + certaines informations utiles pourraient être récupérées.
alexb
1
@alexb Je ne suis pas en désaccord avec vous. Plus d'informations vaut mieux que moins, éliminer les risques vaut mieux qu'avoir des risques, mais l'affiche a clairement un court laps de temps et veut prendre une décision en fonction des informations limitées dont elle dispose, donc si le test ne va pas ajouter beaucoup alors ce n'est pas très utile ici. Si nous avions des informations illimitées, les décisions seraient faciles. Être capable de prendre de bonnes décisions sur des informations limitées est précieux.
Gratzy
6

Je ne vois pas d'argument solide pour sauter le test. Vous devez donc le conserver .

Si vous croyez que le candidat rechignera à devoir passer un test, c'est révélateur en soi.

Si le test prend tellement de temps à administrer et à vérifier que cela signifie que la décision d'embauche est retardée, vous devrez probablement revoir le test lui-même.

Inversement, si vous envisagez d'embaucher la personne quel que soit le résultat, allez-y sans, mais vous devriez probablement revoir à nouveau la politique de test et la rendre explicitement facultative.

sdg
la source
Bon point sur le test (pas le résultat) étant un problème. Assurez-vous certainement que le test est approprié.
ChrisF
4

Le test technique est-il généralement utile ou BS? Voulez-vous l'ignorer parce que vous voulez qu'il soit embauché plus rapidement, parce que vous avez peur d'obtenir un barrage routier à l'embauche que vous souhaitez, ou parce que vous avez peur que cela puisse l'offenser?

En règle générale, j'aime faire des règles de règles. Parce que si vous commencez à faire des exceptions pour une seule personne, vous devriez commencer à faire des exceptions de plus en plus jusqu'à ce que vous soyez brûlé et que vous compreniez pourquoi la règle existe. Et croyez-moi, une mauvaise location est une erreur vraiment douloureuse. Mais cela n'est vrai que si la règle est utile. L' utilité de cette règle dépend du test technique.

Deuxièmement, quelle que soit la pression que vous ressentez à embaucher, ne laissez pas cela vous pousser à prendre une décision précipitée. La hâte nous pousse à dire oui quand nous ne devrions pas, à ignorer les signes avant-coureurs, etc. En fait, plus vous êtes sous pression, plus vous devez repousser cette pression pour être sûr de prendre la bonne décision.

Troisièmement, si vous avez une voix lancinante disant: «J'ai peur que, malgré tout, il ne réussisse pas le test», alors écoutez cette voix - ne sautez pas le test. Ce n'est peut-être pas la bonne location.

Et enfin, si le candidat est bon non seulement le candidat ne sera pas offensé en devant passer un test technique, le candidat le verra probablement comme un bon signe pour votre organisation. Il s'agit du point 11 du test Joel largement cité . Après tout, ils ont eu le mécontentement de travailler avec des développeurs qui n'auraient pas réussi un test technique et ne veulent probablement pas répéter cette expérience.

Pour toutes ces raisons, vous devriez faire le test si (et c'est important si) le test n'est pas un morceau évident de BS qui devrait être remplacé par un test technique utile .

btilly
la source
Surtout BS, sans pertinence pour l'emploi. Le HR pose des questions en C # mais nous sommes surtout une maison Java / Unix (ne riez pas - ils ont acheté les tests auprès d'un consultant en embauche). Comme je l'ai commenté ci-dessus - ce n'était pas du "vrai code" demandé lors de l'interview mais du pseudo-code et quelques croquis UML.
Daniel Voina
1
@Daniel Voina - Cette personne occupera-t-elle un travail de codage ou d'architecture? S'il s'agit d'un travail de codage, vous devez demander à la personne d'écrire du code lors de l'entretien. Sérieusement. Si le candidat rechigne à cela, vous devez le savoir avant d'embaucher.
btilly
Tous les deux. Je m'attends à ce qu'il se développe. Je m'attends à ce qu'il vienne avec des solutions au niveau de la conception / architecture ainsi que leur codage. Je pense que le 2e est naturellement sous-entendu par le SCJP + expérience précédente + recommandations
Daniel Voina
@Daniel Voina - Alors vous devez absolument le tester. Certains candidats très expérimentés, sinon très bons, développent une attitude selon laquelle le codage est en quelque sorte en dessous d'eux. Ils peuvent être excellents dans un rôle d'architecture pure si un rôle d'architecture pure vous convient. Mais si vous en engagez un et que vous lui demandez de coder, vous n'aurez pas de ressentiment et de problèmes. Vous devez donc rechercher cela dans le processus d'entrevue.
btilly
4

Nous étions récemment dans la même situation. Nous avons sauté la technique approfondie, car au début, il semblait avoir lu tous les bons livres et travaillé sur tous les bons types de projets. Il avait l'air vraiment bien.

Puis, après quelques semaines, il est devenu évident qu'il n'était pas en mesure de coder au niveau que son interview avait dit qu'il devrait. Et sa personnalité ne correspondait pas à l'équipe. C'était un gâchis de se débarrasser de lui et de nettoyer ce qu'il avait fait.

Faites la technique avant d'embaucher quelqu'un.


la source
3

Gardez le test par souci d'équité. Si d'autres nouveaux embauchés apprennent plus tard qu'ils devaient passer un test, mais ce type ne l'a pas fait, cela pourrait provoquer un ressentiment.

Le test doit être appliqué à tout le monde ou à personne. Si vous souhaitez l'appliquer de manière sélective, assurez-vous qu'il existe une politique claire et écrite expliquant quand elle peut être levée.

FrustratedWithFormsDesigner
la source
1

Les valeurs des tests techniques sont variées et dépendent en grande partie de l'adéquation des tests au rôle pour lequel le développeur principal est embauché. Je veux dire, donneriez-vous une liste de questions sur l'ingénierie des systèmes embarqués à un développeur Oracle (c'est un mauvais exemple pour prouver un point).

Même si le développeur senior obtient de mauvais résultats au test technique, cela vous empêcherait-il d'embaucher le candidat?

Comme vous avez mentionné que vous êtes pressé par le temps, ne précipitez pas la décision à cause de cela. Ce sera pire si le développeur principal s'avère être quelqu'un qui est en dessous de la moyenne dans son domaine de responsabilités et finit par mettre le projet en retard.

tehnyit
la source
1

Retourne le.

S'il s'agit d'un employé senior permanent qui est fortement recommandé par les personnes en qui vous avez confiance, il / elle pourrait bien se retrouver dans les futures équipes d'entrevue. Demandez à ce développeur senior potentiel de lui poser ses questions préférées sur les tests techniques et comment il pourrait évaluer les forces et les faiblesses de diverses réponses. Peut-être inventer de nouvelles mauvaises réponses pour les tester. Vous pourriez même apprendre beaucoup de cette utilisation de votre temps (ou peut-être trouver quelque chose qui est un drapeau rouge).

Cochez ensuite certaines des réponses à leurs propres questions comme «test technique effectué».

hotpaw2
la source
1

Pensez-y de cette façon - quelle est la différence entre embaucher quelqu'un excellent un peu plus tard que vous le souhaiteriez, ou embaucher quelqu'un potentiellement affreux en ce moment?

De plus, dans quelle mesure diriez-vous que vous êtes capable de faire le travail pour lequel ce test a été conçu?

Je travaille pour une entreprise qui requiert environ 99% des candidats pour réussir un test de programmation. Les 1% qui ne sont pas tenus de passer se divisent en deux catégories. La première catégorie est constituée des types "rockstar" que nous avons activement recrutés dès le départ. La deuxième catégorie, et probablement la plus pertinente, concerne les personnes pour lesquelles le processus a été annulé par des cadres supérieurs qui ont un très bon historique d'embauche et qui sont capables d'exécuter le travail pour lequel ils embauchent.

Personnellement, je pense que c'est une bonne politique et je la recommanderais pour votre situation.

Ben Burns
la source
1

Je donnerais quand même le test. Il pourrait être recommandé pour un certain nombre de raisons (certaines qui pourraient ne pas vous être très bénéfiques ...). L'un des avantages de l'entretien technique est de commencer le processus de liaison avec les autres membres de l'équipe. Ne sous-estimez pas le besoin de l'équipe de participer au processus d'embauche.

Al Biglan
la source
1

Compte tenu des restrictions des RH, je pense que je téléchargerais une copie du cyber-dojo , l'installer sur un serveur local, asseoir votre candidat devant un navigateur Web qui ne peut accéder à ce serveur et leur demander de compléter plusieurs kata (de votre choix) dans une langue de leur choix (idéalement une langue différente par kata).

Regardez ensuite la séquence des feux de circulation. S'ils sont un bon développeur TDD , vous devriez obtenir une belle progression répétée rouge / vert.

Si vous voulez jouer avec le cyber-dojo, l'auteur a une belle version en ligne ici .

Mark Booth
la source
hmmm ... bel outil. J'envisageais Codility codility.com mais celui-ci est gratuit. Merci!
Daniel Voina
0

Une autre question - dans quelle mesure avez-vous confiance en votre service RH.

Je bois peut-être trop de KoolAid psychédélique ici, mais j'ai souvent été agréablement surpris de découvrir que mon service des ressources humaines avait un bon plan en tête lors de la mise en œuvre d'une mesure de protection donnée pour l'embauche. Par exemple, il semble qu'il soit vrai que votre senior sera nécessaire pour Oracle, et non pour C #, donc un test C # ne semble pas pertinent. Mais si votre service des ressources humaines est très sensible à la difficulté de licencier quelqu'un alors qu'il ne peut pas atteindre la marque sur plusieurs projets différents, alors votre besoin à court terme pour quelqu'un peut être contrebalancé par le besoin à long terme de vous assurer que chaque le développeur pourrait répondre à certaines compétences minimales dans un langage de programmation largement utilisé.

Tout cela a à voir avec votre méthodologie d'embauche actuelle, les lois régissant votre entreprise et les besoins de compétences techniques dans tous les domaines. Dans certaines entreprises, la mise en place de choses comme une période de probation, il est facile de faire un essai avec quelqu'un, puis de le laisser partir si cela ne fonctionne pas au cours des 3 premiers mois. Dans d'autres entreprises, à la minute où quelqu'un entre dans la porte en tant qu'employé permanent, ils sont soumis à des protections massives de traitement équitable, ce qui signifie que vous devez les retenir et les recycler pendant longtemps avant de pouvoir vous débarrasser de quelqu'un qui ne mesure pas vers le haut.

Je vérifierais dans votre entreprise et voir s'il y a une raison de faire preuve de diligence même si ce type n'a pas besoin de démontrer ces compétences à court terme. Les ramifications à long terme - en particulier au niveau du salaire d'un ingénieur senior - peuvent être énormes.

Bethlakshmi
la source
Franchement? Pas tant. Ils semblent découplés de la technologie et ne suivent peut-être pas involontairement les tendances du marché informatique local.
Daniel Voina
@Daniel Voina - Avez-vous déjà essayé de renvoyer quelqu'un?
bethlakshmi
J'ai même réussi.
Daniel Voina
@Daniel Voina - génial ... mais j'ai vu des situations où il a fallu 6 mois à 1,5 ans pour renvoyer quelqu'un. Étant donné la douleur et la souffrance impliquées non seulement pour la personne et les personnes qui les gèrent directement, mais pour toute l'équipe, je dirais qu'il est valable de faire sauter la personne à travers des cerceaux apparemment inutiles, surtout si cela fait partie d'un ACY mécanisme.
bethlakshmi
0

Vous avez répété plusieurs fois que les délais se profilaient - je suppose que vous connaissez la loi de Brook.

Cela dit, vous devriez voir ici quel type de retard le processus d'entrevue pourrait entraîner. S'il est un candidat très compétent qui, selon vous, peut intervenir et résoudre vos problèmes de délai sur la course, il ne devrait pas avoir de problèmes à passer quelques heures à interviewer / à programmer des paires. Un autre facteur à considérer serait vos pairs actuels. Vous ne voulez pas donner à votre équipe plus large le sentiment que les gens entrent / sortent selon vos caprices - parce que cela reflète généralement mal si le gars sort. C'est l'une des principales raisons pour lesquelles les RH insistent sur plusieurs entretiens afin qu'une personne ne puisse pas dominer.

Bonne chance avec l'embauche et le projet!

Subu Sankara Subramanian
la source
Les délais arrivent dans environ 5 mois. Je ne m'attends pas à des super pouvoirs de lui, juste être capable de gérer de nouvelles fonctionnalités, comprendre la base de code actuelle, être familier avec certaines des technologies et être capable de corriger les bugs si nécessaire. Les délais sont mon problème et je souhaite embaucher afin de les respecter au maximum sans trop consommer l'équipe. Les gars de mon équipe le connaissent mieux que moi - ils ont travaillé ensemble dans une autre entreprise.
Daniel Voina
Cela signifie alors que vous supposez qu'il sera en mesure de frapper le sol en cours d'exécution. Pourquoi ne faites-vous pas une session de programmation d'une paire d'une heure et ne prenez-vous pas de décision?
Subu Sankara Subramanian
J'avais en tête de lui poser un problème et d'obtenir une solution en quelques jours (solution = code + tests). La programmation par paires serait également excellente. Le problème est que si je n'engage pas, je risque de perdre la fenêtre d'opportunité - le gars est également chassé par des têtes. Ce qui me dérange, c'est que je ne peux pas le garder en ville (il vit actuellement ailleurs) plus longtemps, jusqu'à ce que les RH décident que le test d'embauche est correct. Je pense que je vais suivre mes tripes après tout.
Daniel Voina
Sauf si vous essayez d'embaucher une personne de niveau Richard Stallman, je suis sûr qu'il existe d'autres programmeurs équivalents :). Mais encore une fois, nous devons suivre notre instinct de temps en temps - Donc, comme je l'ai déjà dit, bonne chance :). Mettez à jour ce post sur la façon dont il s'est avéré plus tard!
Subu Sankara Subramanian
0

Habituellement, dans le cadre du contrat, vous disposez de six mois comme période d'essai au début de l'emploi. Si le candidat est complètement incompétent, cela sera assez évident au cours de ces premiers mois et vous aurez au moins la possibilité de résilier après sa période d'essai. Je tiens également à souligner que personne ne peut tout savoir et que les gens ont souvent besoin de temps pour devenir leur rôle et, en fait, peuvent accélérer l'échelle de carrière, donc un peu de temps pour s'installer avant de porter un jugement est toujours sage (des deux des soirées!)

Matt Wilko
la source
0

Pour être honnête (et répéter ma réponse pour une autre question), je me méfierais moi-même d'être embauché par un magasin qui ne m'a pas accordé d'entretien technique. Je douterais de leur engagement envers l'excellence technique et n'aimerais pas le fait que je n'aurais pas l'occasion de "parler boutique" avec l'équipe avant de prendre ma décision.

Faites de l'entretien technique une opportunité pour les membres de l'équipe de faire connaissance avec le gars et pour lui de les connaître. Étant donné que le gars est senior, il est très important que vous puissiez communiquer clairement avec lui sur les questions techniques. Comment allez-vous le tester sans entretien technique approfondi?

En bref: s'il est suffisamment important pour renoncer à l'entretien technique standard pour lui, il est assez important pour effectuer un entretien technique spécial avec lui.

quant_dev
la source