Version courte
Si le travail consiste à maintenir une candidature, les compétences à tester lors des entretiens sont:
La capacité de comprendre la grande base de code avec sa documentation, ses tests unitaires , etc.
La possibilité de refactoriser le code et d'apporter des modifications sans tout casser.
Demander aux gens de lire du code ne vous aidera pas à évaluer ces capacités.
Version longue
Vous a-t-on demandé d'écrire du code? Si oui, comme Sign l'a noté dans sa réponse , cela suffit. Si nous généralisons un peu, une personne qui écrit du code source clair et facile à comprendre serait capable de lire le code source écrit par d'autres personnes.
Si on ne vous a pas demandé d'écrire du code, eh bien, vous avez probablement été interviewé par une personne du département des ressources humaines. De tels entretiens ne peuvent pas être trop techniques et sont pour la plupart sans valeur, car ils ne valorisent pas vos compétences et votre capacité à bien travailler, mais plutôt le nombre d'années que vous avez passées à l'université et d'autres choses qui n'ont rien à voir avec le travail.
Il y a quelques autres raisons de ne pas demander à lire le code d'un travail de maintenance:
1. Il est difficile de le faire de manière fiable
Concrètement, que feriez-vous si vous étiez intervieweur? Faites lire à vos candidats du code. Quel code? Dans quelle langue? Comment bien ou mal écrit? Avec ou sans commentaires? Avec ou sans documentation?
Plus important encore, que dit-il sur le candidat? Dans quelle mesure est-il en corrélation avec la base de code elle-même?
Supposons que vous ayez une ancienne application VB.NET à maintenir. Vous savez que le code source est surtout laid et non testé, et quelques commentaires sont obsolètes ou trompeurs. Au cours des trois derniers mois, un développeur très compétent a travaillé sur la solution; il a refactorisé et testé à l'unité les parties les plus critiques de l'application, ajouté des commentaires là où il y avait un besoin de commentaires, et, surtout, écrit une documentation détaillée sur l'architecture globale, les parties critiques et les pièges.
Vous embauchez maintenant un développeur pour maintenir cette base de code. Au cours d'une interview, donneriez-vous un morceau de code hérité (laid non testé), ou le morceau de code qui a été refactorisé par le développeur précédent?
Souhaitez-vous donner la documentation? Pour lire la documentation, le candidat devra passer au moins quelques heures. Cela rend impossible de le faire lors d'une interview.
2. La lecture d'un court morceau de code n'est pas la même chose que la lecture du code d'un projet familier
N'oubliez pas, le travail consiste à maintenir un projet. Il est difficile de maintenir une base de code importante les premiers jours ou semaines lorsque vous n'êtes pas familier avec le projet. Il est beaucoup plus facile de le faire après quelques mois lorsque vous avez écrit toute la documentation et que vous avez une vue claire de la base de code globale.
La chose la plus importante à tester est de savoir si la personne sera efficace pendant ces mois . Peu vous importe que la personne ne puisse rien comprendre du tout les deux premiers jours.
En demandant à une personne de lire un court morceau de code à partir de zéro, vous ne testez pas comment cette personne pourrait gérer un code codé familier et documenté de milliers de LOC .
3. Le maintien du code source ne se limite pas à sa lecture
Lorsque vous gérez une base de code, vous la modifiez . Un développeur qui ne fait que lire du code n'apporte rien d'utile à son entreprise.
Les compétences utiles sont la capacité de refactoriser le code , d' ajouter des tests unitaires , de prédire l'impact d'un changement , etc. Vous ne testez pas ces compétences en demandant à une personne de lire le code pendant l'entretien.