Le(la) bon(ne) candidat(e) .Net
Lors d’un déjeuner avec une connaissance chargée du recrutement de profils techniques dans un cabinet de ressources humaines, la discussion est venue sur une question majeure : « quels sont les trois principaux points pour déterminer qu’un(e) candidat(e) possède une expérience réussie de projet de développement .Net ? » Vaste question qui a demandé une prolongation gastronomique bien après le repas du soir, afin d’arriver aux trois questions suivantes :
- « Qu’exprime pour vous l’extrait de code suivant ? »
VB.Net
(ByVal sender As Object, ByVal e As EventArgs)
C#
(object sender, EventArgs e)
Au début, nous avions pensé à des questions du style « quelle est l’influence des méthodes virtuelles dans le polymorphisme ? », ou encore « Parlez-moi des différences entre une classe abstraite et une interface », mais il suffit d’avoir en face de soi une personne qui a bachoté un livre sur l’approche objet, pas nécessairement en .net, et les réponses sont évidentes.
Alors que si le(la) candidat(e) fait une réponse autre que « c’est le truc qu’on a quand on double-click sur un contrôle », voire qu’il(elle) est tellement intarissable sur l’avantage de l’héritage de System.EventArgs qu’au bout de cinq minute on doit siffler la mi-temps, on est [à peu près, ndlr] sûr qu’il(elle) a compris ce qu’est la programmation objet, ce qu’est un « event handler », et qu’elle est la différence entre la programmation procédurale et celle par événement.
- « Quelle est votre principale source de documentation que vous utilisez dans votre recherche d’information ? »
Ici, aucun doute possible, la bonne réponse donnée par l’expérience n’est ni msdn2.microsoft.com, ni les documents et livres (nombreux) sur le sujet, mais bien www.google.com ou encore www.google.com/microsoft pour trouver les bonnes réponses sur les sites communautaires (au passage, ne pas oublier de demander à l'administrateur réseau de débloquer tous les sites communautaires).
- « Quelle est la caractéristique principale indiquant la fin d’un projet de développement ? »
La réponse traditionnelle « Quand l’ensemble du cahier des charges est couvert » traduit bien une approche quelque peu théorique du développement (nous avons tous été formés à Merise J), car bien rares sont les développements qui ont un réel cahier des charges … En fait, quelqu’un réaliste répondrait sûrement plutôt « Quand il n’y a plus rien à retirer au projet ! ».
Enfin, pour vraiment les bons candidats, nous avons ajouté la question subsidiaire : « Comment caractériser la complétude d’un projet de développement ? » Et là, si le(la) candidat(e) possède une bonne conscience de la réalité économique des choses, la bonne réponse devrait ressembler à « lorsque l’étendue du revenu créé par la solution développée correspond à plus de 50% de ce qui avait été estimé. »
Encore faudrait-il que les projets de développement soient caractérisés par des indicateurs de complétude tangibles, et par des objectifs financiers - mais cela n'est pas en standard dans le framework .Net.
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :