Duplicata possible:
Quelle est la différence entre les développeurs Entry Level/Jr/Sr?
Il semble y avoir trois Java niveaux de qualification du programmeur communs:
Qu'est-ce qui fait qu'un programmeur est "junior", "moyen" ou "senior"? Cela signifie-t-il que le programmeur possède une quantité spécifique de certifications ou d'expertise professionnelle? Comment les sociétés informatiques décident-elles du titre à donner à un programmeur?
Il y aura autant de réponses à cette question qu'il y a de programmeurs. Mais je les juge de cette façon:
Mais vous devriez vraiment vous diriger vers cela bien meilleure réponse pour voir ce que j'aurais dû écrire!
Vous pouvez le lier à la matrice de compétences du programmeur si vous voulez en faire une métrique "plus difficile". Les titres ne sont pas gravés dans le marbre; c'est tout parler RH. Mots à la mode pratiques pour encapsuler des caractéristiques qui peuvent même ne pas être définies avec précision si elles sont définies.
Pour le lier au PCM:
Développeur junior: Taux d'au moins un n ^ 2 dans la plupart des disciplines. Pourrait évaluer n ou log (n) dans quelques-uns et peut avoir quelques 2 ^ n et toujours être correct.
Développeur moyen: Majorité n avec une minorité de n ^ 2 et aussi peu de 2 ^ n que possible. Autant de log (n) que possible mais sera probablement encore une minorité.
Développeur principal: Majorité n avec une forte minorité ou même une légère majorité dans log (n) et aussi peu n ^ 2 et pas 2 ^ n.
Légendaire: connectez (n) tout ce qui est possible avec quelques n et rien en dessous de cette marque.
Spécialiste: Connectez-vous (n) à leurs spécialisations et expérience appropriée autrement.
De toute évidence, ce seraient des "idéaux" pour chaque catégorie. Je doute qu'il y en ait beaucoup qui correspondraient au titre et qui correspondraient vraiment aux normes.
Je souhaite qu'il y ait un raccourci ici pour référencer le Dreyfus Model of Skills Acquisition . Je dirais que mes concepts de Junior Middle et Senior correspondent bien aux cinq étapes si vous considérez chaque niveau comme une gamme:
Bien sûr, l'astuce vient de la méta-connaissance. Il est difficile pour une personne de reconnaître que quelqu'un en sait plus qu'il ne sait. Si en tant que développeur novice, j'évalue les connaissances d'un autre développeur, je ne serais pas en mesure de les évaluer comme étant autre chose qu'un novice (si je pouvais les évaluer comme plus élevés que les novices par définition, j'ai suffisamment de connaissances pour être moi-même au-dessus des novices ). À l'autre extrémité du spectre, il est difficile d'évaluer correctement une personne ayant beaucoup moins de compétences. Pensez à un expert évaluant un développeur compétent. C'est facile de dire, eh bien, il ne comprend pas comment faire X ... c'est évidemment un novice.
La seule solution consiste à demander à des personnes de niveaux de compétence multiples d'évaluer un individu. À chaque niveau, vous identifierez que la personne est aussi compétente que moi ou non. Le niveau le plus élevé que vous obtenez est l'évaluation la plus précise. Maintenant, il y a le problème de la façon d'évaluer vos employés existants;)