web-dev-qa-db-fra.com

Quelle est la différence entre les développeurs juniors, intermédiaires et seniors?

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:

  • Junior
  • Milieu
  • Sénior

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?

36
user592704

Il y aura autant de réponses à cette question qu'il y a de programmeurs. Mais je les juge de cette façon:

  • Un développeur junior aura besoin d'une aide quasi constante. Non seulement ils ne connaissent pas le domaine de l'entreprise, mais ils peuvent également avoir des difficultés avec les principes fondamentaux de la langue ou du jeu d'outils. Ils ne savent pas ce qu'ils ne savent pas, donc sans conseils, ils feront de fréquentes erreurs qui, si elles ne sont pas maîtrisées, feront dérailler l'équipe au sens large.
  • Un développeur régulier a une certaine expérience à son actif. Ils seront productifs de manière indépendante et seront capables de s'attaquer à la plupart des tâches par eux-mêmes, ou de comprendre quand ils doivent demander de l'aide.
  • Un développeur senior a encore plus d'expérience et sera capable de concevoir des solutions ainsi que d'effectuer des tâches. Cependant, ils peuvent avoir besoin de leurs conceptions proposées vérifiées avant de commencer à mettre en œuvre, car ils n'auront pas nécessairement une vision architecturale globale. Ils pourront encadrer des membres plus juniors de l'équipe.

Mais vous devriez vraiment vous diriger vers cela bien meilleure réponse pour voir ce que j'aurais dû écrire!

32
Bill Michell

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.

13
World Engineer

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:

  • N'importe qui au stade novice ou débutant avancé je considérerais Junior.
  • Les développeurs compétents sont intermédiaires
  • Compétent et Expert serait Senior.

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;)

7
Michael Brown