Voilà quelques années, j'avais lu l'excellent article de Coding Horror « Why Can't Programmers Program ». Que du très intéressant, et je m'étais promis de me souvenir de cet article si un jour je me retrouvais de l'autre côté du bureau à interviewer les gens pour des postes.

Ce qui a justement été le cas voilà quelques semaines, et m'a motivé à rédiger un petit formulaire que je trouvais simple. Sévère déconvenue à venir…

Commençons par l'évident : l'expérience aura été extrêmement enrichissante. Que ce soit sur les CV ou pendant les entretiens, on se rend compte d'une multitude de petites choses qui peuvent déplaire ou plaire au recruteur. La leçon s'avère incroyablement utile, et modifiera durablement (en bien j'espère ! ) mes futurs entretiens « côté demandeur ».

Mais là n'est pas le but de cet article. Je voudrais plutôt vous mettre, vous lecteurs, dans la peau d'un demandeur, afin d'avoir votre opinion sur la difficulté de la chose.

L'entretien

Première partie : l'entretien. Rien d'extraordinaire, je tentais juste d'éviter les questions trop classiques du type « citez-moi trois de vos qualités ». Je mettais aussi un point d'honneur à lire attentivement le CV du demandeur avant l'entretien pour orienter mes questions et me faire une idée de la personne avant – même si j'ai pu découvrir que certains n'hésitaient pas à mentir allégrement.

Dans cette partie, je jouais le rôle du gars « sympa », ne posant pas de questions-piège et écoutant sans préjugé (j'ai même continué l'entretien avec un Apple-fan, c'est dire si j'étais ouvert d'esprit ;)).

Parmi les questions intéressantes :

Quel est votre langage préféré et pourquoi ?

La partie intéressante est bien évidemment le « pourquoi ». Et c'est instructif ! « Java, parce que j'aime le système de packages », « . NET parce que c'est puissant », etc.

Ayant l'avantage de connaître la plupart des langages cités, je pouvais renchérir et demander plus de précisions – voire apporter des contres-arguments (« oui, mais le système des include en C est similaire », « oui, mais c'est limité à Windows et la configuration est complexe », ce qui avait souvent l'avantage d'ouvrir un mini-débat.

Quel est votre plus gros projet informatique ?

Malheureusement, la réponse était dans la quasi-totalité des cas un projet scolaire.

Certes, tout le monde ne code pas des sites, des jeux ou des applications pendant son temps libre, mais on peut tout de même avoir fait des stages ou des découvertes à l'extérieur.
Ironiquement, la plupart des gens étaient inconscients (« un énorme projet ! Y avait 11 tables SQL ! » – j'embauchais pour un projet en contenant plus de 200) ou mentaient (« un projet scolaire » « en quel langage ? » « ah mais je sais pas en fait c'est pas moi qui l'ai fait j'étais juste dans le groupe. » oO)

Cela dit, les réponses permettaient elles aussi d'ouvrir une conversation, et même d'amener à la question suivante :

Quel gestionnaire de versions utilisez-vous ?

J'acceptais tout ! CVS, Mercurial, Git, SVN… j'étais ouvert d'esprit, et en en ayant testé pas mal prêt à tout entendre. Mais la surprise est rude !

  • « C'est quoi ça ? »
  • « Euh… on code sur un serveur tous ensemble » – « mais comment vous faites si vous devez modifier le même fichier ? » – « … »
  • « On s'envoie les fichiers par mails »
  • « Ah ouais ça ! Bah tu vois (sic) on est plus malins avant on utilisait CVN (sic) et maintenant on est plus malins tu vois en fait on est tous ensemble et on se parle quand on modifie un fichier ou alors y en a qu'un qu'à le clavier et comme ça on a pas de problèmes tu vois »

Fort heureusement, quelques SVNistes planqués dans le lot… mais pas d'utilisateurs de DCVS (la boite dans laquelle je suis actuellement est sur Git – Github FTW ! )

Que pensez-vous de votre école ?

Comprendre : l'endroit où vous avez été formé. Ça permet de se faire une idée du sens critique des gens et aussi de voir ce qu'ils ont retenu.


Venaient ensuite quelques questions plus en rapport avec l'offre pour lequel les gens postulaient, avec là aussi quelques moments assez priceless :

: Vous utilisez Javascript ?
: Oui
: Avec un framework ?
: Oui oui bien sûr !
: C'est bien ça ! Et lequel ? (on est sous jQuery)
: … en fait je sais pas ce que c'est.

Ou encore :

: Vous avez déjà fait de la POO ?
: Oui en classe. C'est un langage de Microsoft non ?

Et enfin :

: Qu'est ce que vous aimez en informatique ?
: Les bases de données.
: Ah c'est bien ça ! (je suis moi-même un grand fan des Formes Normales :D). Et qu'est-ce qui vous plaît dans les BDD ?
: Remplir les tables, je trouve ça bien.
: Ah. Écoutez, si un jour je cherche une secrétaire, je vous recontacterai ! (non, je n'ai pas dit ça, mais la réponse m'a laissé songeur...)

Cela dit, la plupart des gens s'en sortaient bien, et les exemples que je cite ici sont bien entendu extrêmes. Le plus souvent, cette phase orale se déroulait bien – même si quelques réponses complètement à côté de la plaque arrivaient de temps en temps, stress oblige – et me laissait confiant pour la deuxième partie : le questionnaire !

Je distribuais alors les feuilles en informant qu'il y en avait pour une quinzaine de minutes, puis partait discuter du candidat avec un collègue ayant assisté à l'interview – l'opinion d'une personne n'ayant pas pris part au débat vaut son pesant de cacahuètes, croyez-moi !

Prochaine partie : le questionnaire ! Et là, ça devient intéressant (et un tout petit peu déprimant).