Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Comment évaluer les compétences réelles d'un développeur ?
Triplebyte livre les résultats d'une analyse de données de recrutement

Le , par Michael Guilloux

0PARTAGES

3  0 
Quand on arrive à la question d’évaluer les compétences réelles d’un développeur au cours d’un recrutement, plusieurs facteurs entrent en jeu. Les compétences du recruteur lui-même, sa connaissance et sa pratique du métier, ainsi que les méthodes utilisées dans le processus de recrutement peuvent permettre d’embaucher l’oiseau rare ou à l’opposé, se retrouver avec un développeur dont les compétences réelles ne reflètent pas celles qu’on a supposées pendant le processus d’embauche. De manière générale, l’évaluation des compétences peut dépendre fortement de la méthode utilisée.

Plusieurs méthodes existent à ce jour. Les entreprises embauchent les développeurs en se basant sur diverses variables comme l'éducation et le niveau d’étude, l'expérience professionnelle, et la capacité à résoudre des problèmes de codage sur un tableau blanc. Mais selon Triplebyte, une société spécialisée dans le recrutement de professionnels de l’IT, aucune de ces méthodes ne marchent vraiment dans la plupart des cas. Triplebyte a donc opté pour un processus de recrutement qui permet d’identifier les capacités de programmation générale d’un développeur grâce à un système de notation que la société a mis en place.

Dans un billet de blog, Ammon Bartram de Triplebyte écrit que « ce dont l'industrie a besoin est une façon de sélectionner les candidats en regardant leurs capacités réelles », et non en se basant sur l’école où ils sont allés ou les entreprises dans lesquelles ils ont travaillé dans le passé.

La société a donc mis en place un processus qui lui permet d’atteindre cet objectif. Il s’agit d’un processus en 4 étapes qui débute par un test technique en ligne, suivi par un entretien téléphonique de 15 minutes pour discuter d’un projet technique réalisé par le candidat dans le passé. Le test technique en ligne comprend un exercice de programmation du style FizzBuzz et un quiz de programmation à choix multiples qui nécessite de comprendre du code réel, en analysant par exemple une fonction, et en choisissant lesquels parmi plusieurs bugs proposés sont présents dans le code.

La 3è étape est une interview de 45 minutes par écran partagé où le candidat écrit du code, et la dernière est une autre interview par écran partagé de 2h où le développeur travaille sur un projet technique plus vaste qu’il choisit dans un ensemble réduit de projets.

Pour permettre au candidat d’être à l’aise pendant le codage, ce dernier a le choix de son environnement de développement et du langage de programmation. Il travaille également avec son ordinateur personnel.

Après avoir évalué 300 candidats en 30 jours, la société livre les résultats de l’analyse des données issues de son processus de recrutement.

L’analyse révèle que le quiz de programmation à choix multiples est un fort prédicteur de la réussite dans les entretiens de codage. « Près de la moitié de la performance de l’interview (48%) peut être expliquée par le score obtenu dans le quiz », explique Bartram en ajoutant que « 39% peut être expliqué par le temps d'achèvement du quiz ». Les candidats ayant terminé le plus vite le QCM sont donc susceptibles d’être de meilleurs programmeurs.

En ce qui concerne le test de style FizzBuzz, il ne permet pas réellement d’expliquer la performance des candidats au test de programmation. L’analyse révèle en fait qu’il n’y a pas de corrélation entre la bonne résolution du test de FizzBuzz et l'obtention d'un bon score dans l'interview de codage.

Un autre résultat qui est ressorti de l’analyse de Triplebyte montre que les candidats qui ont été impressionnants quand il fallait parler des expériences passées ont été dans certains cas très décevants quand il s’agissait d’accomplir des tâches de programmation relativement simples. A l’opposé, les candidats qui ont eu du mal à être convaincants lorsqu’il s’agissait de parler des expériences passées, ont été les meilleurs dans les exercices de codage.

Les résultats de l’analyse sont toutefois à prendre avec un peu de réserve. Contacté par un média pour plus de détails, le PDG et co-fondateur de Triplebyte Harj Taggar précise qu’ils ne testent pas de connaissances de langages spécifiques, mais « juste la capacité de programmation générale ».

Source : Triplebyte

Et vous ?

Que pensez-vous des résultats de l’analyse de Triplebyte ?

Quelle est la meilleure façon d’évaluer les compétences d’un développeur ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de codeur_83
Membre du Club https://www.developpez.com
Le 03/07/2015 à 9:33
Le bon développeur,il regarde le cahier des charges il code alors que le mauvais développeur il regarde le cahier des charges il code mais c'est pas pareil c'est un mauvais développeur....
19  1 
Avatar de vinmar
Membre confirmé https://www.developpez.com
Le 03/07/2015 à 8:50
Bientôt on va se retrouver dans la situation des graphistes : faire des maquettes non rémunérées "pour voir"n. 3 jours après la boîte sort un site avec le graphisme...
11  0 
Avatar de Traroth2
Membre chevronné https://www.developpez.com
Le 03/07/2015 à 9:56
Citation Envoyé par codeur_83 Voir le message
Le bon développeur,il regarde le cahier des charges il code alors que le mauvais développeur il regarde le cahier des charges il code mais c'est pas pareil c'est un mauvais développeur....
J'en discutais récemment avec des amis chasseurs. Ils étaient d'accord...
7  1 
Avatar de Zirak
Inactif https://www.developpez.com
Le 03/07/2015 à 10:09
Citation Envoyé par vinmar Voir le message
Bientôt on va se retrouver dans la situation des graphistes : faire des maquettes non rémunérées "pour voir"n. 3 jours après la boîte sort un site avec le graphisme...
C'est ça !

Après avoir évalué 300 candidats en 30 jours, la société livre les résultats de l’analyse des données issues de son processus de recrutement a bien avancé dans ses projets en cours.
6  0 
Avatar de clementmarcotte
Inactif https://www.developpez.com
Le 02/07/2015 à 22:33
Étant avant tout un utilisateur final devenu développeur autodidacte, et en "évaluant" les développeurs en partant du produit fini, il me semble que personne ne pense à vérifier l'empathie des développeurs. Si on admet que la "définition de base" de l'empathie, c'est la capacité de se mettre à la place de l'autre, cela me semble être quelque chose qui manque à trop d'informaticiens, et pas juste des développeurs.

C'est une tendance naturelle chez tous les êtres humains de penser que la personne en face de nous connaît le sujet autant que nous, alors que la réalité est souvent différente. Pour différentes raisons, l'informatique est enveloppée d'une aura de machin ésotérique impossible à comprendre si on n'est pas un génie; si bien que même des cadres dirigeants de sociétés, laissent l'informatique à des "experts" lesquels experts ayant souvent le chic de pratiquer un langage hermétique connu des seuls initiés. Notons que ce comportement se retrouve également dans toutes les professions.

Donc les développeurs en général, sont en général en relation privilégiée avec des gens liés au même domaine qu'eux et on dirait qu'à force de communiquer ou de travailler "en circuit fermé", la capacité des développeurs de faire abstraction de leurs connaissances et d'évaluer ce que serait la réaction d'une personne craintive et/ou ignorante de l'informatique face à leurs produits est finalement un handicap. Ce n'est pas de leur faute, c'est juste une conséquence de l'obligation de se conformer à un modèle et un effet de mimétisme.

L'arrivée du "ruban" est un peu dépendante de cela. On raconte qu'un jour Microsoft a eu l'idée de demander à leurs clients ce qui manquait dans leur suite Office. Apparemment, la très grande majorité des demandes concernait des fonctionnalités déjà présentes que les utilisateurs n'avaient pas, disons, découvertes. En voyant cela, Microsoft aurait lancé une grande recherche sur l'ergonomie de ses produits, et le ruban en serait une manifestation visible.

Je me rappelle une autre histoire de "vieux". À une certaine époque le traitement de texte le plus répandu était Word Perfect et la compagnie était renommée pour son service à la clientèle; lequel travaillait presque exclusivement avec des secrétaires et du personnel de bureau; donc très peu d'informaticiens. Pour WordPerfect, le client c'était l'utilisateur final et pas le Service de Dictature Informatique.

Novell, entreprise spécialisée dans les réseaux locaux, dont les clients étaient les informaticiens acheta WordPerfect et se cassa la gueule, incapable de "travailler" avec la nouvelle clientèle.

Faisant en quelque sorte partie de la "minorité assise entre deux chaises", je constate que c'est la même chose que pour les anglais et les français du Canada : deux solitudes.
6  1 
Avatar de reventlov
Membre régulier https://www.developpez.com
Le 08/07/2015 à 9:27
La programmation pure a de nos jour une image négative (On connais le terme pisseur de code dans les SII...) je me souvient d'une époque où si tu était programmeur tu étais vu presque comme une star du rock ... Il est vrai que beaucoup d'écoles d'informatique produisent en fait des profils de manager (à la limite du marketing) souvent incapable d'aligner quelques lignes ou ne maîtrisant qu'un seul langage car ils ont "bien appris le manuel". je ne sais pas si je suis un bon programmeur ou un mauvais programmeur. Quoi qu'il en soit j'ai la chance de travailler pour une entreprise juridique comme développeur à plein temps là où en général un boulot comme le mien serait sous-traité à une SII ou une agence web. Depuis presque 10 ans j'ai constaté une chose : à chaque fois que j'ai passé les armes à une SII ou un sous traitant (des fois je suis débordé ) je n'ai jamais obtenu ce que je voulais. Dans le meilleur des cas l'agence web m'explique que c'est une drôle d'idée de vouloir faire ce que je veux et que ce n'est pas "à propos". La vérité c'est que ce genre de boîte utilisent des moyens tout faits qu'ils assemblent et au mieux adaptent. Si cela devient trop ardu il tentent de convaincre le client que sa vision du problème n'est pas la bonne. Il n'empêche qu'au final, ce que je développe pour le domaine juridique, je ne l'ai jamais vu ailleurs... Nous avons bien des concurrents qui donnent dans le même domaine mais les fonctionnalités proposées sont en général édulcorées.

La charge de travail augmentant, mon boss a décider d'embaucher quelqu'un pour bosser avec moi. Il s'est d'abord tourné vers une boîte de recrutement et donc entretient selon niveau d'étude etc... etc... Cela n'a rien donné de concluant. Je lui ai proposé de simplement faire paraître une annonce dans les journaux locaux et de m'occuper moi-même du recrutement (puisque après tout la personne doit bosser avec moi...). Etant autodidacte et ayant souvent travaillé seul, je n'ai pas une réelle vision de mon niveau en programmation. j'ai donc sélectionné une personne selon mes critères et avec ces simples questions : En quoi tu as déjà programmé ? Simple interprétation d'un organigramme. Détection d'une simple erreur de syntaxe dans un code. Ces trois questions passées j'ai ensuite soumis un problème au candidat. Ce problème inclus des éléments techniques qui sont à priori inconnus ou mal connus par lui et surtout (très important) par moi. je nous donne une heure pour bosser dessus à deux pour voir ce qui ressort... Et j'ai trouvé la perle rare : un programmeur avec de bonnes bases algorithmiques. Ce n'est pas un tueur dans un langage précis mais il est opiniâtre et finit toujours par trouver une solution pour obtenir exactement l'effet ou la fonctionnalité voulue. C'est à dire une personne qui sait transformer sa culture informatique en inventivité. Le tout c'est d'avoir la fibre et la rigueur... Après le reste n'est que littérature

EDIT :

Citation Envoyé par Jitou Voir le message
Il faut se réveiller car l'époque des services informatiques internes où les développeurs étaient aussi des experts fonctionnels proches des utilisateurs finaux c'est du passé.
Ou mais on y revient je crois. Et de plus en plus d'entreprises comprennent qu'il est bon d'avoir une petite équipe de dev sous la main. Moi ou je travaille, mon patron a vite fait le compte et s'est aperçu qu'il était plus rentable pour lui d'avoir deux ou trois développeurs multitâches sous la main que de louer les services d'une boîte d'informatique. Et tout le monde y gagne. j'ai un pote qui bosse dans une SII et il est très content de ne plus faire de code (c'est du travail de petite main pour lui), il est analyste fonctionnel (quel terme ). Il m'a proposé de quitter mon poste pour venir dans sa boîte. J'ai évidement refusé : il bosse en moyenne 10 heures par jour pour 2300 euros net par mois (je pensais naïvement qu'il tournait au moins à 3000 euros). Je suis seulement à 2100 net certes... mais je peux vous assurer que mes heures sont très très TRES cools... N'empêche que mon boss est toujours content de son équipe. Ca lui coûte largement moins que de passer par une agence et nous notre vie professionnelle est très cool et très bien payée pour la région ou je travaille.
5  0 
Avatar de Bousk
Rédacteur/Modérateur https://www.developpez.com
Le 02/07/2015 à 17:58
Il présente surtout les programmeurs bullshit qui savent te vendent du rêve alors qu'ils ont fait du vent en réalité. Et qui s'approprient le travail de l'équipe en leur nom-propre sans les capacités d'y parvenir :/

Bon par contre vu la quantité de trucs pour repérer les candidats.. pfiou faut être motivé pour postuler !
5  1 
Avatar de fox47
Futur Membre du Club https://www.developpez.com
Le 03/07/2015 à 21:26
Je pense pour ma part que rien ne vaut une mise en situation professionnelle.
Le facteur stress est trop important lors d'un entretien pour connaître les réelles compétences techniques et relationnelles d'un candidat.
Un excellent développeur ne va peut-être se révéler qu'au bout de quelques semaines et même devenir indispensable à une équipe (du vécu).
Que dire d'un test sur une techno, qui va mettre en avant un candidat qui connait déjà celle-ci, au détriment de celui qui sait s'adapter et évoluer.
Laissons le temps au gens de s'exprimer dans le boulot qu'ils ont choisi.
4  0 
Avatar de micka132
Expert confirmé https://www.developpez.com
Le 06/07/2015 à 9:54
Citation Envoyé par gabriel.klein Voir le message
Il y a un dénigrement de la profession de développeur (au niveau des universitaires) qui est vraiment décevant On a fait nos preuves en décrochant des papiers qui méritent d'être pris en considération.
Le dénigrement vient, je pense, en partie parce que justement le papier sert à pas grand chosel, c'est franchement pas compliqué de l'avoir...
Citation Envoyé par gabriel.klein Voir le message

Il y a sur-enchère de ces tests, et des certifications qui sont faites en quelques jours (Prince2, PMP, certifications java, Microsoft, etc..) par rapport à des formations de plusieurs années dans notre domaine. A la fin il faut arrêter ce délire ou il faut rémunérer cet effort d'évaluation du candidat avec le prix qu'on paye un consultant....
Ah c'est sûr que les certifs valent pas plus. Le problème reste toujours là : comment on évalue dans un minimum de temps parce que ca coûte cher le recrutement!
4  0 
Avatar de spyserver
Membre averti https://www.developpez.com
Le 02/07/2015 à 17:14
La fin de l'article révèle le fameux dilemme entre le hard codeur qui crache du bon code mais qui reste dans son coin et a du mal à communiquer ou à prendre des initiatives et le codeur moyen qui code pas tjrs de manière rigoureuse mais qui communique relativement bien, à partir du moment où une personne n'impose pas ses choix et n'en fait pas qu'à sa tête tout le temps et est capable d'admettre ses erreurs, je pense que cette personne sera plus adaptée à travailler en équipe, à l'inverse le hard codeur est souvent plutot prétentieux et/ou réservé et plutot tétu, ce sont 2 tendances très clichés mais à mon avis le candidat idéal est entre ses extrêmes, pour avoir connu les 2, que ce soit l'un ou l'autre dans les 2 cas c'est pas agréable du tout de bosser avec ! L'un est incapable d'être autonome et l'autre n'en fait qu'a sa tête et ne communique pas ...
5  2