Skip to content

Latest commit

 

History

History
66 lines (58 loc) · 4.86 KB

012-comment-sont-formalisés-les-différents-niveaux-des-développeurs-chez-mycompany.md

File metadata and controls

66 lines (58 loc) · 4.86 KB

Comment sont formalisés les différents niveaux des développeurs chez MyCompany ?

Développeur Junior

  • Compétences techniques :
  • Qualité du code produit :
    • Garde en l'état ou améliore légèrement la qualité du code sur lequel il intervient
    • A besoin d'être incité pour corriger les bugs ou les régressions
    • A besoin d'aide pour écrire du code prêt à être mis en production
  • Communication :
    • A besoin d'aide pour gérer son temps efficacement
    • A besoin d'aide pour faire le suivi de ses Issues et Merge Request
    • Participe aux conversations techniques
  • Déploiement, Performance et Scalabilité :
    • A peu ou pas d'expérience dans l'écriture d'applications performantes et scalables

Développeur de niveau intermédiaire

  • Compétences techniques :
    • A besoin d'être ponctuellement accompagné pour écrire du code modulaire, bien testé et maintenable (par exemple
  • Leadership :
    • Propose de nouvelles idées
    • A besoin d'être accompagné pour étudier la faisabilité et estimer le temps nécessaire à la réalisation de ses nouvelles idées
    • Est capable de prendre intégralement en charge de nouvelles fonctionnalités de petite taille, des corrections de bugs, traiter des problématiques d'intégrations avec un minimum d'accompagnement d'un développeur sénior
    • Essaye d'améliorer la productivité de l'ensemble de l'équipe. Cela peut consister à encadrer un développeur junior, améliorer les process, la documentation, les tests ou les outils dans le but d'aider toute l'équipe à être plus efficace.
  • Qualité du code produit :
    • Améliore la qualité du code sur lequel il intervient. (Par exemple : améliore les tests en les rendants plus rapides, plus fiables, plus lisibles, etc.)
    • Essaye de réduire la complexité du code et du projet dans son ensemble
    • Prend l'initiative de corriger les bugs ou des régressions
    • Prend soin de l’intégralité du projet en surveillant les erreurs retournées par l'outil d’intégration continue
    • Écrit du code prêt à être mis en production avec un minimum d'aide
  • Communication :
    • Donne des retours précis et au bon moment à ses collègues, prend soin de simplifier au maximum le travail des reviewers
    • Est capable de communiquer sur des sujets techniques et présenter ses idées au reste de l'équipe
    • N'hésite pas à demander de l'aide à ses collègues quand il rencontre un point bloquant
    • Est proactif dans le suivi de ses Issues, communique sur son état de progression, etc.
  • Déploiement, Performance et Scalabilité :
    • Est capable de corriger les problèmes rencontrés en production
  • Déploiement, Performance et Scalabilité :
    • Est capable de corriger les problèmes rencontrés en production

Développeur Sénior

  • Compétences techniques :
    • Écrit du code modulaire, bien testé et maintenable (par exemple
  • Leadership :
    • Propose de nouvelles idées, analyse leur faisabilité et estime le temps nécessaire à leur réalisation
    • Est capable de prendre en charge les nouvelles fonctionnalités complexes, les corrections de bug de manière autonome
    • Doit améliorer la productivité de l'ensemble de l'équipe. Cela peut consister à encadrer un développeur junior, améliorer les process, la documentation, les tests ou les outils dans le but d'aider toute l'équipe à être plus efficace.
  • Qualité du code produit :
    • Améliore la qualité du code sur lequel il intervient (par exemple : essaie de garder un code simple, améliore les tests)
    • Corrige rapidement les bugs et regressions
    • Prend soin de l’intégralité du projet en surveillant les erreurs retournées par l’outil d’intégration continue
    • Écrit du code prêt à être mis en production de qualité
  • Communication :
    • Donne des retours précis et au bon moment à ses collègues, prend soin à simplifier au maximum le travail des reviewers
    • Sait communiquer clairement sur des sujets techniques et présenter ses idées au reste de l'équipe
    • Est proactif dans le suivi de ses Issues, communique sur son état de progression, etc.
  • Déploiement, Performance et Scalabilité :
    • Est capable de corriger les problèmes rencontrés en production
    • Est capable d'anticiper les problèmes de performance

Source d'inspiration : https://gitlab.com/gitlab-com/www-gitlab-com/blob/cb98971f6c22a6f05e9a2d41eb5fe951bacd03b3/source/job-families/engineering/frontend-engineer/index.html.md#how-we-define-our-levels