IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

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 !

Programmation : qu'est-ce qui est recherché chez un candidat dans un entretien technique ?
Un spécialiste répond à la question

Le , par Michael Guilloux

45PARTAGES

8  0 
Si vous êtes candidat à un poste de développeur, vous devez vous attendre à écrire du code sur un tableau blanc lors de votre entretien technique. Et ce n’est pas du tout une tâche facile selon Eric Lippert, ex-développeur principal chez Microsoft.

Chez la firme de Redmond, M. Lippert a interviewé à plusieurs reprises des candidats à des postes de développement pour des équipes Visual Studio et à travers un récent billet de blog, il propose d’exposer ce que recherchent les recruteurs chez un candidat lors d’un entretien technique.

Passer au tableau peut rendre difficiles même les exercices les plus simples. « C’est difficile, en partie parce que vous ne disposez pas d'IntelliSense ou la coloration de syntaxe ou l'un des autres outils à votre disposition quand vous écrivez normalement du code ». Comme l’explique Lippert, les recruteurs ne s’attendent donc pas à ce que les candidats leur sortent des codes parfaits, mais se contentent de poser des questions simples qui pourraient leur permettre d’évaluer la capacité du prétendant à résoudre des problèmes. « Je ne suis pas à la recherche de personnes qui peuvent cracher du code syntaxiquement parfait », a déclaré Lippert; « ce n'est pas du tout le point de l'exercice de codage. J’essaie de découvrir comment vous résolvez les problèmes », a-t-il ajouté.

Ce qu’il recherche chez le candidat, c’est de savoir si ce dernier se jette immédiatement à l’eau et commence à coder ou prend soin de réfléchir à tous les contours du problème. Le candidat essaie-t-il de clarifier les zones d’ombre ou préfère-t-il émettre un tas d’hypothèses ? Le candidat préfère-t-il faire d’une pierre deux coups ou prend-il soin de découper le problème en morceaux et le résoudre progressivement ? Comment attaque-t-il le problème, par les parties faciles ou celles qui sont difficiles en premier ? Voici un ensemble de questions auxquelles Lippert essaie de trouver des réponses lorsqu’il est en face d’un candidat.

Le candidat idéal doit être « une personne bien organisée avec de bonnes compétences en résolution de problèmes », capable d’expliquer ce qu’il fait pendant qu’il le fait. Et le code résultant doit être « clair, bien organisé, lisible et au moins vaguement syntaxiquement correct ». Cela permet de juger facilement si le code est bien conçu et libre de bugs.

Lorsque le candidat arrive à proposer une solution, les recruteurs s’intéressent également à savoir si ce dernier fait confiance à sa solution et ce qu’il fait pour prouver qu’elle est correcte. Selon Lippert, le candidat ne devrait pas juste plaquer un code et dire que c’est correct, mais il devrait être en mesure de le prouver par des tests simples.

Après l’écriture du code, le candidat devrait également s’interroger sur sa robustesse et sa maintenabilité. Il devrait encore se demander si son code est déboguable, portable ou extensible.

Pour les candidats fraichement sortis des écoles, les recruteurs sont conscients qu’ils ont souvent très peu d'expérience avec le monde réel. Ce qui est donc évalué chez ces derniers, c’est la « puissance intellectuelle brute, leur talent de codage et le potentiel à long terme. »

Si l’entretien technique est un exercice difficile auquel des gens brillants peuvent échouer, M. Lippert pense cependant qu’on pourrait mieux le préparer avec les exemples classiques de n’importe quel livre d’introduction à la programmation.

Source : Blog d’Eric Lippert

Et vous ?

Qu’en pensez-vous ?

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

Avatar de Saverok
Expert éminent https://www.developpez.com
Le 03/06/2015 à 11:59
C'est ce passage qui est le plus important pour moi et correspond assez bien à ce que je recherche à évaluer lorsque je fais passer un entretien

Citation Envoyé par Michael Guilloux Voir le message

Ce qu’il recherche chez le candidat, c’est de savoir si ce dernier se jette immédiatement à l’eau et commence à coder ou prend soin de réfléchir à tous les contours du problème. Le candidat essaie-t-il de clarifier les zones d’ombre ou préfère-t-il émettre un tas d’hypothèses ? Le candidat préfère-t-il faire d’une pierre deux coups ou prend-il soin de découper le problème en morceaux et le résoudre progressivement ? Comment attaque-t-il le problème, par les parties faciles ou celles qui sont difficiles en premier ? Voici un ensemble de questions auxquelles Lippert essaie de trouver des réponses lorsqu’il est en face d’un candidat.
la syntaxe ou encore l'environnement de travail sont assez secondaire pour moi car cela s'acquière relativement rapidement.
A chaque fois que l'on change d'entreprise (ou client pour les presta), tout cela change
Ce n'est pas le principal, de mon point de vu.

Ce qui compte ; c'est l'analyse et la méthode

En général, je donne un code d'une cinquantaine de lignes max et je demande au candidat de l'analyser :
* qu'est ce qui ne va pas ? et pourquoi ? (le pourquoi est plus important encore que de trouver l'erreur)
* comment le corriger ? pour quel gain ? (en tenant compte de tous les aspects : maintenabilité, compréhension, évolution, perf, robustesse, etc.)

Le tableau blanc n'est là que comme support pour expliciter la conception.
Je ne demande jamais au candidat de réécrire toute la classe proposée, juste quelques fragments

Personnellement, dans mes équipes, je recherche des analystes développeurs.
L'erreur que font beaucoup de gens, surtout les débutants, c'est de ce focaliser sur la partie dev pure et de zapper l'analyse.
C'est une énorme erreur.
Si on veut "juste un dev", je prends de l'offshore.
La valeur ajoutée vient de l'analyse.
11  0 
Avatar de Frédéric Latour
Membre actif https://www.developpez.com
Le 17/06/2015 à 11:42
Citation Envoyé par sazearte Voir le message
Mr Frédéric Latoure, vous qui dites que le niveau est médiocre, avez vous une solution ?, qu'es ce qui est médiocre ?, car les ingénieurs en info font plein de chose, y'a pas qu'une matière appeler informatique, comme certains d'entre vous semble pensez...

Le niveau est médiocre uniquement en info ? ou ailleurs ?

Je ne trouve pas le niveau médiocre, il est même très bon, par rapport a d'autre pays. Je vais peut être sur-estimer mon métier, mais je trouve que le développement logiciel, demande une forte concentration intellectuel, plus que dans n'importe quels autre domaine (sauf 2-3...).

Les auto-didacte, sont peut être bon dans le technique (et encore faut voir le code source pour s'en assurer), mais sont très loin de fournir des prestations de professionnel.

Apres cela dépend de la demande, si c'est juste un petit script en python/basic, ou faire un petit site web, la encore je dis pas, mais quand faut développer (c'est mon cas actuellement) des programmes capable de faire de (très) lourd calcules, avec toute les contraintes et technique d'optimisation imaginable pour un data center, clairement non, l'amateurisme et proscrit.

Dernière remarque, plus on fait d'étude en informatique, moins on code, et plus on fait du fondamentale, de la théorie...., donc les maths servent, c'est une prérogative d’être bon dans cette matière, les écoles d'ing ne te forme pas pour pisser du code, sa c'est a l'iut/BTS, après on passe a un autre stade plus évoluer de l'info.
  1. Cela me dépasse qu'un "ingénieur" dont on imagine qu'il est rigoureux ne soit pas capable de faire un copier coller de mon nom sans faire d'erreur. Surtout quand ce même ingénieur vient m'expliquer comment il est beau. Vous semblez partager cette difficulté avec votre ami "bmoraut".
  2. J'ai accompagné ma remarque d'un certain nombre de points précis. Si vous désirez débattre il me semble que la première démarche devrait être de reprendre ces points et de les commenter, pondérer, contredire. Pourquoi me poser une question à laquelle j'ai déjà répondu dans le cadre de différents messages?


Je vais vraiment finir par croire que tout ceci est une blague ... sazearte et bmoraut ne feraient-ils qu'un à l'instar de bougredane et bougredandouille?
8  0 
Avatar de maske
Membre éprouvé https://www.developpez.com
Le 17/06/2015 à 18:44
Citation Envoyé par sazearte Voir le message
Je n'ai pas dit sa, mais un ingénieur en info sortant d'une école, une vrai, une qui sélectionne( Ensimag, Insa, UTC...), pas celle pour glandeurs (Epitech...), et meilleur qu'un technicien.
Je ne veux pas me battre dans la boue avec vous, mais pour rebondir sur cette remarque en particulier sur l'UTC qui est une école assez réputée et qui est une vraie école qui sélectionne : c'est sur ces trois critères (réputation, «vraie», sélection des étudiants) qu'on a essayé de recruter des ingés de l'UTC, pour des stages BAC+5 notamment.

Alors je ne veux pas généraliser mais - en tout cas pour les candidats qui sont passés en entretien chez moi - je ne suis pas du tout convaincu de la méthode de sélection... On a été beaucoup plus satisfaits des gens qui venaient de la fac (bac+3 à bac+5) et des écoles locales - encore une fois sans généraliser.

Les écoles d'ingés en informatique, y'a quand même beaucoup de quiches qui en sortent à BAC+5 et qui ne savent pas répondre à des tests basiques : on fait passer un test de recrutement noté sur 20 (ok ça vaut ce que ça vaut) et la meilleure note c'est un autodidacte reconverti du médical qui l'a eue (14).

Alors peut-être que les meilleurs vont ailleurs...

(Note : moi je m'occupe du recrutement des stagiaires dans ma boite, et ceux qui m'envoient des candidatures BAC+3/4/5 avec le même niveau de français que l'auteur de cette citation, j'ai du mal à ne pas la jeter direct...)
8  0 
Avatar de didier.cabale
Membre confirmé https://www.developpez.com
Le 04/06/2015 à 13:42
Citation Envoyé par Orgoff Voir le message
Que le "spécialiste" utilise le BABA du recrutement pour évaluer les candidats, cela en valait-il la peine d'en faire un article ?
ah ben si justement, car la grande majorité des recruteurs ne procèdent pas ainsi. Ils s'attachent, au contraire, à savoir si vous maitrisez le Framework xxxx version yyyy, ainsi que le Framework zzzz version aaaa .. ce qui montre qu'ils n'ont rien compris au métier, et que, n'y ayant rien compris, ils préfèreront "ne prendre aucun risque" vis à vis de leur client, en tentant de délivrer le mouton à cinq pattes dont leur client avait rêvé.
7  0 
Avatar de Zirak
Inactif https://www.developpez.com
Le 16/06/2015 à 15:38
Citation Envoyé par sazearte Voir le message
La vous dites que vos secrétaires sont de meilleurs informaticienne, juste en tapant sur du word et en écrivant quelques code basique, probablement dans un langage (très) haut niveau ?!
Je ne dénigre pas le métier de secrétaire, ni ingénieur des mines, mais cette histoire me parait louche quand même, car une secrétaire on lui apprend pas a coder des programmes ?!
Désespérant...

Il te parle de femmes, qui à la base AVAIENT une formation de secrétaire, et qui se SONT RECONVERTIES dans l'informatique, et qui faisaient de meilleurs analyses QUE DES INGENIEURS BAC +5 SORTANT DE l'ECOLE.

Tout ça pour te dire, qu'il n'y a pas forcément besoin d'être ingé pour être un bon informaticien !

Je n'ai rien contre toi, et cela ne m'empêchera pas d'être d'accord avec toi sur d'autres sujets, mais le seul truc louche de ce fil, c'est ton niveau de compréhension du français, par rapport à ton niveau d'étude...
7  0 
Avatar de Zirak
Inactif https://www.developpez.com
Le 17/06/2015 à 16:45
Citation Envoyé par sazearte Voir le message

Et Latour recrute des secrétaires, pour faire un boulot d'ingénieure en informatique, sa ne choque personne apparemment..., car les secrétaires sont de bien meilleurs informaticiennes que des ingénieurs en info bac+5.


Déjà ce n'était pas Frédéric Latour, mais el_slapper, qui te parlait de secrétaires reconverties dans l'informatique, pas d'actuelles secrétaires, bien sûr qu'ils n'ont pas pris la première venue à l'accueil pour combler un poste de dev...

Je ne vois pas ce qu'il y a de compliqué à comprendre dans cette phrase pourtant, si c'est ça la supériorité intellectuelle des ingénieurs...
7  0 
Avatar de Frédéric Latour
Membre actif https://www.developpez.com
Le 18/06/2015 à 12:13
Citation Envoyé par maske Voir le message
Je ne veux pas me battre dans la boue avec vous, mais pour rebondir sur cette remarque en particulier sur l'UTC qui est une école assez réputée et qui est une vraie école qui sélectionne : c'est sur ces trois critères (réputation, «vraie», sélection des étudiants) qu'on a essayé de recruter des ingés de l'UTC, pour des stages BAC+5 notamment.

Alors je ne veux pas généraliser mais - en tout cas pour les candidats qui sont passés en entretien chez moi - je ne suis pas du tout convaincu de la méthode de sélection... On a été beaucoup plus satisfaits des gens qui venaient de la fac (bac+3 à bac+5) et des écoles locales - encore une fois sans généraliser.

Les écoles d'ingés en informatique, y'a quand même beaucoup de quiches qui en sortent à BAC+5 et qui ne savent pas répondre à des tests basiques : on fait passer un test de recrutement noté sur 20 (ok ça vaut ce que ça vaut) et la meilleure note c'est un autodidacte reconverti du médical qui l'a eue (14).

Alors peut-être que les meilleurs vont ailleurs...

(Note : moi je m'occupe du recrutement des stagiaires dans ma boite, et ceux qui m'envoient des candidatures BAC+3/4/5 avec le même niveau de français que l'auteur de cette citation, j'ai du mal à ne pas la jeter direct...)
Je ne suis donc pas le seul à constater que les écoles d'ingénieur produisent beaucoup de quiches (je reprends l'expression que je trouve tout à fait adaptée). Je serais encore plus sévère que cela si je me laissais aller mais je vais me contenir...
Maintenant si quelqu'un a une expérience différente avec une école particulière, je serais curieux d'en savoir plus.

Quant au niveau de Français de l'auteur de la citation à laquelle vous faites référence, c'est tout simplement catastrophique. Mon fils de 9ans fait moins de fautes. J'ai eu la délicatesse de demander si le Français était sa langue maternelle sans obtenir de réponse. Quand cette même personne semble sous-entendre qu'elle sort d'une très bonne école qui pratique la sélection, on ne peut s'empêcher de penser à un canular ...
7  0 
Avatar de Saverok
Expert éminent https://www.developpez.com
Le 05/06/2015 à 11:28
@serenodo
Indirectement, je comprends un peu ta situation.
Je me prends très régulièrement le choux avec ma DRH car lorsque je rédige une fiche de poste, je ne renseigne que des savoir-faire et des savoir être.
Puis, l’annonce qui est émise est retravaillée par le service RH en gonflant l’expérience demandée ainsi qu’en imposant des niveaux d’études…
Du coup, je ne reçois que des candidats aux profils et parcours très standardisés alors que la richesse d’une équipe vient de la diversité…

En France, et cela touche tous les domaines et n’a rien de spécifique à l’informatique, les RH n’aiment pas les individus aux parcours atypiques.
Cela est particulièrement regrettable car c’est une source de richesse incroyable d’avoir des expériences variées qui offrent une ouverture d’esprit et des angles de vues différents sur une même problématique.
6  0 
Avatar de Zirak
Inactif https://www.developpez.com
Le 16/06/2015 à 11:39
Citation Envoyé par sazearte Voir le message

Une secrétaire n'a même pas la notion de boucle, d'itération, et je ne parle même pas des pointeurs...
Quel rapport avec les pointeurs au niveau de l'analyse ?

Tu sais que le mot itération existe dans la langue française sans être spécifique à l'informatique, et que donc la plupart des gens avec du vocabulaire savent ce que cela veut dire ?

Quand aux boucles, ou aux tests conditionnels, idem, y'a pas besoin de faire une école d'ingé pour connaitre / comprendre comment cela fonctionne.

Soit tu te fais une très haute opinion de ton métier (pour te sentir supérieur à une personne lambda ?), soit tu prends les non-ingénieurs (ou les non-informaticiens) vraiment pour des débiles.

Il n'y a pas besoin de s'y connaitre en informatique pour savoir analyser un truc et faire preuve de logique. Oui la secrétaire n'aura peut-être pas les bons termes techniques, et c'est sûr qu'elle te dira peut-être pas "la ici, il faudra un test conditionnel "IF .. Then", mais qu'elle te dira seulement "si telle donnée a cette valeur on fait ça, sinon, on fait ça", au final, le résultat est le même au niveau de l'analyse.

Même ma pauvre mère qui a bientôt 60 ans, qui n'est pas BAC +5 (elle n'a même pas le BAC tout court) et qui n'y connait rien en informatique, a bien réussi à se coder des ptits trucs en Basic (genre exercices de révisions) pour des gamins qu'elles gardent. Et elle a réussi, car elle sait lire, suivre un tuto et qu'elle est capable d'analyser un problème. Pas besoin d'être BAC +5 et de se croire demi-dieu pour cela...

Enfin, son propos n'était pas de dire que TOUTES les secrétaires analyses mieux que TOUS les ingénieurs, mais bon à part cela oui, tu as effectivement bien compris son propos, cela saute aux yeux...
6  0 
Avatar de Zirak
Inactif https://www.developpez.com
Le 17/06/2015 à 11:53
Citation Envoyé par sazearte Voir le message
Mr Frédéric Latoure, vous qui dites que le niveau est médiocre, avez vous une solution ?, qu'es ce qui est médiocre ?, car les ingénieurs en info font plein de chose, y'a pas qu'une matière appeler informatique, comme certains d'entre vous semble pensez...

Le niveau est médiocre uniquement en info ? ou ailleurs ?

Je ne trouve pas le niveau médiocre, il est même très bon, par rapport a d'autre pays. Je vais peut être sur-estimer mon métier, mais je trouve que le développement logiciel, demande une forte concentration intellectuel, plus que dans n'importe quels autre domaine (sauf 2-3...).

Les auto-didacte, sont peut être bon dans le technique (et encore faut voir le code source pour s'en assurer), mais sont très loin de fournir des prestations de professionnel.

Apres cela dépend de la demande, si c'est juste un petit script en python/basic, ou faire un petit site web, la encore je dis pas, mais quand faut développer (c'est mon cas actuellement) des programmes capable de faire de (très) lourd calcules, avec toute les contraintes et technique d'optimisation imaginable pour un data center, clairement non, l'amateurisme et proscrit.

Dernière remarque, plus on fait d'étude en informatique, moins on code, et plus on fait du fondamentale, de la théorie...., donc les maths servent, c'est une prérogative d’être bon dans cette matière, les écoles d'ing ne te forme pas pour pisser du code, sa c'est a l'iut/BTS, après on passe a un autre stade plus évoluer de l'info.

Tu fais encore des amalgames énormes...

autodidacte =/= amateur
école d'ingé =/= boulot de pro

Une personne Bac+5 sortie d'école pourra analyser/coder comme un cochon, la où un freelance qui a appris tout seul fera un boulot professionnel, cela dépend de la personne et de son implication, de son parcours professionnel, et pas seulement de son cursus scolaire...

C'est bien ce que je disais il y a quelques messages de ça, pour toi, les ingés sont des demi-dieux et les autres, qui ne sont pas BAC+5, sont des sous-merdes qui n'ont pas le niveau.

Soit tu as une haute estime de toi-même, qu'on pourrait limite qualifier de prétention (surtout lorsque l'on voit comment tu écris / comprends un texte, je doute fortement de la perfection de tes développements mais bon admettons), soit tu as quelque chose à compenser, ou tu as été malheureux petit, et tu cherches à prendre ta revanche sur la vie et sur tous ces non-ingénieurs qui se sont moqués de toi plus jeune ?

Etre ingénieur ne fait pas de toi quelqu'un de supérieur aux autres personnes (en tous cas pas humainement vu tes messages).
6  0