1. Accorder peu d'importance à la communication écrite

Lors d'un entretien, faire complètement abstraction de ce qu'à pu écrire un candidat (CV et lettre de motivation) permet de se concentrer uniquement sur la personne.
Il est bien connu que seules les interactions face à face entre développeurs sont importantes. L'importance des capacités de synthèse et de concision qui permettent de rédiger des documents diffusables aux divers intervenants d'un projet ne doit pas être surestimée.
Les correcteurs grammaticaux et orthographiques des traitements de texte ont rendu obsolète le jugement des qualités rédactionnelles. Celles-ci ne sont d'ailleurs représentatives que de sa capacité à assimiler des conventions et structurer sa pensée.


2. Ne juger que sur les éléments directement évaluables lors de l'entretien

Les diplômes qu'a pu obtenir un candidat ne doivent pas être pris en compte car ils ne représentent qu'une vision partielle des domaines dont il a montré une certaine maîtrise.
Une mention 'Bien' ou 'Très Bien' à un baccalauréat ne permet, au mieux, que de se rendre compte de l'ouverture et l'éclectisme dont a su faire preuve un candidat face à des domaines aussi variés que les mathématiques, l'histoire, la littérature ou les sciences naturelles.
En ce sens, un entretien d'une heure où l'on va pouvoir évoquer ses quelques réalisations informatiques et ses activités extraprofessionnelles du moment est beaucoup plus représentatif de sa capacité d'ouverture aux sujets nouveaux.


3. Se comporter en bon copain

Il faut faire en sorte que l'entretien se déroule dans une ambiance de franche camaraderie en évitant autant que possible de stresser le candidat et en veillant bien à ne pas monopoliser le dialogue.
Le développeur évolue naturellement dans une bulle protectrice mise en place autour de l'équipe. Il n'a qu'une très faible probabilité de se retrouver face à un client récalcitrant, un fournisseur roublard ou un collègue mal intentionné. Sa potentielle incapacité à savoir faire entendre son opinion face à un beau parleur qui lui opposerait des arguments fallacieux n'a que peu d'importance.


4. Se reposer sur la capacité à apprendre

Tout contrôle des connaissances techniques du candidat est une perte de temps. La capacité à apprendre des choses nouvelles est bien plus importante que les connaissances déjà acquises. Il suffit d'interroger le candidat sur la façon dont il a su évoluer lorsqu'il s'est trouvé confronté à un manque de connaissance sur un sujet.
L'interrogation sur des points techniques précis et la mise en condition réelle d'apprentissage sur les points que le candidat ne maîtrise pas ne montreraient rien de plus que la véracité de ses propos. Il est inutile de la mettre en cause puisque l'on a par ailleurs su établir une bonne ambiance de confiance réciproque.


5. Répéter inlassablement que 'développer' c'est, avant tout, 'utiliser des outils de développement'

Faire travailler un candidat sur un support papier est une hérésie car le vrai développement est celui qui se fait face à la machine et qui produit directement du logiciel exécutable. Les outils modernes de développement tels que l'aide contextuelle à la saisie, la compilation à la volée en phase d'exécution ou le remaniement de code rendent inutiles les fastidieuses phases de réflexion sur papier que l'on a pu connaître par le passé.
Ainsi, demander à un candidat d'écrire du code ou de lire le code de quelqu'un d'autre sans avoir tous les outils informatiques nécessaires à portée de main ne serait qu'une perte de temps. Cela ne montrerait que sa capacité d'abstraction et de conceptualisation face à un problème de développement logiciel.
Ces capacités, qui sont essentielles lorsque l'on doit prendre du recul par rapport à une activité de codage, sont aujourd'hui obsolètes puisqu'il suffit désormais de lancer sans relâche son compilateur jusqu'au succès complet de l'ensemble des tests unitaires automatisés pour réaliser un logiciel.