Votre question peut être traitée en se divisant en deux sous-questions.
Pourquoi utiliser des années d'expérience comme exigence?
Parce que c'est une métrique facilement vérifiable en corrélation positive avec la compétence en programmation . La réponse de Snagulus développe déjà les détails de la corrélation, donc je vais me concentrer sur le "pourquoi".
La dure vérité est qu'il y a généralement plus d'un candidat pour un poste donné. De plus, les entretiens consomment beaucoup de ressources, surtout s'ils sont effectués "correctement", c'est-à-dire que les entretiens techniques sont menés par du personnel techniquement compétent (dans ce cas, les programmeurs).
Par conséquent, un critère pour filtrage initial des CV entrants doit être utilisé, et de préférence un qui peut être vérifié par le personnel non technique - en cas de doute, les RH peuvent toujours appeler les employeurs précédents et vérifier que oui, John Smith a travaillé pour X ans avec eux.
Pourquoi ne pas plutôt utiliser la «passion» comme exigence?
Il y a au moins deux problèmes avec ceci:
comment mesurer la "passion"?
KLOC enregistrés? Bonne chance pour découvrir que, également, dans la programmation (et dans d'autres disciplines), plus abondant n'est pas synonyme de "meilleur".
Projets open source / passe-temps terminés? Pas facilement vérifiée par les RH, et de nombreux programmeurs compétents ont des raisons légitimes d'être inactifs à cet égard - autres obligations longues, longues heures de travail avec envie de se détendre, simple accomplissement professionnel pendant les heures de travail, etc.
Des années d'expérience? Oh, attendez...
la «passion» est-elle vraiment une bonne mesure de la compétence?
Comme le dit Robert Harvey dans son commentaire, la passion n'est pas vraiment révélatrice d'une programmation compétente. Par rapport à l'expérience, c'est une qualité principalement orthogonale - c'est-à-dire qu'il existe:
- programmeurs passionnés et compétents et
- programmeurs impartiaux et techniquement compétents et
- programmeurs passionnés et techniquement incompétents et
- des programmeurs passionnés et non techniquement incompétents,
- etc.
Le dernier exemple est important dans notre contexte - des années d'expérience montrent également qu'un programmeur donné a en quelque sorte réussi à fonctionner dans son travail, alors qu'un programmeur dysfonctionnel pourrait, par exemple, refuser catégoriquement de participer même au système de gestion des tâches le plus simple. (disons Scrum Post-it), parce que "ça me ralentit".
Clause de non-responsabilité finale
Tout d'abord, et heureusement, les "années d'expérience" sont souvent évaluées "de manière lâche" - c'est-à-dire si vous postulez pour un emploi avec la langue X, mais que vous n'avez qu'une expérience "commerciale" avec la langue Y, similaire à X, c'est-à-dire aussi souvent pris en compte.
Deuxièmement, personnellement, je ne suis pas fan de "N années d'expérience", et je ne suis pas le seul. Il existe une alternative simple - en spécifiant «expérience en» . Cela suffit généralement comme filtre, car les candidats sont obligés de documenter cette expérience dans leur CV - si vous obtenez un candidat pour un poste de programmation qui n'a auparavant fait que l'attente (et cela arrive!), Vous savez que quelque chose ne va pas.