Pourquoi les jeux-concours pour développeurs m’exaspèrent-ils ?

J’ai dernièrement été invité à participer au « Java Challenge by BNP Paribas » et devant mon refus (dont je vous place l’échange ci-dessous) il m’a été répondu qu’il ne s’agissait en aucun cas d’une évaluation, mais juste d’un jeu qui est fait pour le fun …

Je profite donc de ce billet pour préciser que le reproche s’adresse à la culture que ces concours distillent dans notre industrie.

En effet, l’objet même de l’évaluation : déterminer le comportement d’un code excessivement mal écrit (pour être difficile à comprendre), voire potentiellement aberrant, est tout sauf constructif. Les questions associées portent elles-mêmes sur des notions qui sont de l’ordre de l’anecdotique.

Effectivement, le métier de développeur n’est pas de connaitre par cœur un langage (et encore moins ses comportements aberrants), mais de pouvoir apporter une réponse simple à un problème métier donné. 
Or, ce type de concours, en associant la notion d’expertise d’un développeur avec sa capacité à résoudre un puzzle technique détourne totalement celui-ci du nécessaire recul qu’il doit être capable de prendre avec ses outils.

Enfin, il s’agit in fine d’une évaluation (puisque présenté comme un concours, même si l’objectif est le fun). 
Et c’est là que le bât blesse, en effet je n’ai rien contre l’idée de connaitre certains comportements très limites d’un langage, mais le fait de poser une évaluation sur la connaissance de ceux-ci amène mécaniquement à considérer qu’un « bon » développeur est un développeur qui les maitrise.

Pour conclure, ce qui me gêne est qu’en fin de compte la culture de ce type de jeu va amener les partenaires (ne nous voilons pas la face, la BNP ne sponsorise pas pour le fun l’évènement) à recruter des personnes qui peuvent se révéler toxiques pour un projet informatique.

Finalement pour aller plus loin sur les problèmes de culture technique chez les développeurs, je vous invite à aller lire l’excellent billet de mon collègue : De l’état de l’art du marché du développement.