paint-brush
Du leadership aux lignes de code : guide du chef d'équipepar@lookingforere
1,190 lectures
1,190 lectures

Du leadership aux lignes de code : guide du chef d'équipe

par Ilia Ivankin9m2024/03/07
Read on Terminal Reader

Trop long; Pour lire

La transition de développeur à chef d’équipe détourne souvent l’attention du codage vers des tâches plus managériales. Pour réintégrer le codage dans votre routine : Planifiez l'heure de codage : bloquez des heures spécifiques pour le codage dans votre calendrier. Participez à la révision du code : restez impliqué dans le processus de codage à travers des révisions et des discussions. Évaluez vos responsabilités : rationalisez vos tâches pour vous assurer que vous vous concentrez sur l'essentiel. Prioriser et déléguer : utilisez des méthodes telles que Kanban pour gérer les tâches efficacement et déléguer lorsque cela est possible. Utiliser des techniques de gestion du temps : appliquez des stratégies telles que la technique Pomodoro pour améliorer la concentration. Participer à la R&D : Proposer et travailler sur des prototypes pour des améliorations potentielles ou de nouvelles fonctionnalités. Apprenez en continu : restez au courant des nouvelles tendances et technologies grâce à des lectures, des cours et des conférences. Travaillez sur des projets personnels : développez vos propres projets pour affiner vos compétences et apporter de nouvelles idées à votre travail principal, en garantissant le respect de tous les accords NDA.
featured image - Du leadership aux lignes de code : guide du chef d'équipe
Ilia Ivankin HackerNoon profile picture
0-item

Salut!

Je pense que chaque développeur qui passe à un rôle de chef d'équipe s'efforce dans un premier temps de revenir au codage et à la résolution de tâches aux côtés de l'équipe. Plus tard, nous commençons à englober davantage de tâches et de problèmes commerciaux, en nous plongant dans les défis liés à l'entreprise, à la communication entre les départements ou les clients et à l'architecture.


A partir de ce moment-là, nous n’avons plus ni le temps ni l’envie de faire autre chose. Le calendrier d'un chef d'équipe typique commence à ressembler à ceci :


Est-ce que c'est réel?

Comment puis-je revenir au développement et recommencer à coder ? Par où dois-je commencer ?

Il est également important d'évaluer à quel point vous êtes réellement occupé et à quoi ressemble votre journée de travail typique. Est-ce que vous vous améliorez après le travail ou non ? Ce sont tous des facteurs cruciaux.


Sur la base de mon expérience, je suggère de parcourir le chemin allant de « pas de temps avant ou après le travail, pas de désir ni d'opportunité » à « je suis toujours devant l'ordinateur et c'est ma passion ».


Bloquez votre temps !

Un point de départ efficace consiste à prévoir du temps dédié au développement. Bloquez simplement le « temps de codage » dans votre calendrier pendant une heure ou plus. Si possible, pensez à réserver une demi-journée ou une journée complète chaque semaine spécifiquement pour aborder des tâches techniques.


Oui, cela peut impliquer de déplacer des réunions, d’éliminer celles qui ne sont pas nécessaires ou de discuter de la nécessité d’assister à certaines d’entre elles. Pensez cependant à réévaluer si certaines séances de toilettage sont toujours pertinentes pour vous.

Peut-être y passez-vous une heure sans grand impact ? Redirigez ce temps vers le codage !


Révision du code avec votre équipe !

Le deuxième et le plus crucial pour optimiser certains processus autour de vous est de communiquer les valeurs ou les approches du projet à vos collègues. Tous les développeurs n'ont pas la même approche de la résolution de problèmes. Il est donc essentiel de prédéfinir séparément les styles de codage, la couverture des tests, ainsi que les méthodes et mécanismes fondamentaux de la plate-forme ou des services.


Effectuez toujours des révisions de code, et si vous avez l'impression qu'une question s'éternise, rassemblez l'équipe pour résoudre rapidement les problèmes dans les demandes d'extraction (PR). Comme le montre la pratique, cette approche accélère le temps de résolution des problèmes, améliorant ainsi le délai de commercialisation des fonctionnalités.


Au fil du temps, votre équipe comprendra parfaitement et appliquera des approches de développement qui nécessitent moins d’attention. Vous vous concentrerez uniquement sur la résolution de la tâche à accomplir et sur sa logique, ce qui vous fera gagner quelques minutes au départ et, à long terme, potentiellement des heures de développement.


J'adore mon équipe !


De quoi êtes-vous responsable ?

Cela peut ne pas sembler être la tâche la plus évidente, mais demandez-vous : de quoi êtes-vous responsable ? Qu'avez-vous besoin de faire? Notez tous ces points sur une feuille de papier et voyez si vous avez pris quelque chose d'inutile.


Peut-être faites-vous le travail de quelqu'un d'autre simplement parce que c'est devenu une habitude. Peut-être avez-vous aidé une équipe voisine dans ses processus et vous êtes toujours impliqué.


Définissez clairement votre position et ce que vous apportez au projet ou à l'entreprise. Si vous dirigez une grande équipe, utilisez des notes dans lesquelles vous pouvez créer une file d'attente de tâches et de problèmes. Effectuez toujours des examens et assurez-vous que si vous êtes un responsable DevOps, par exemple, vous ne gérez pas par inadvertance des tâches destinées aux développeurs d'applications mobiles.


Si vous vous sentez surchargé de tâches et de dépendances, cela vaut la peine de s'arrêter pour parler à vos supérieurs et comprendre pourquoi cela se produit dans votre service. Par exemple, si vous êtes une équipe DevOps responsable d'ingénieurs de données et qu'ils ont leur propre responsable, il peut être judicieux de déléguer les responsabilités à leur responsable plutôt qu'à votre service.


Créez des spécifications et des documents nécessaires pour formaliser les accords ou tout détail caché concernant la configuration ou la maintenance et renvoyer les personnes dans leurs équipes respectives.

Il est essentiel de noter qu'il ne s'agit que d'un exemple et que chacun a ses propres équipes et principes de formation.


Priorisation et délégation

Il est possible que vous ne parveniez pas à faire avancer les choses parce que les priorités changent constamment. L'ensemble de l'entreprise fonctionne sur des sprints de deux semaines, mais cette configuration ne vous convient plus et vous n'y voyez pas d'intérêt. Les fonctionnalités ne parviennent pas à être finalisées au cours d'un sprint en raison de priorités faibles.

Ceci est pertinent pour les équipes orientées service.

Envisagez d'explorer Kanban ou une approche de flux d'eau. Nos équipes sont comme des îlots séparés où nous avons le droit d'essayer d'améliorer les processus. Testez la transition vers la nouvelle approche pendant un mois et observez vos mesures. D'après mon expérience, quelques semaines ont suffi pour constater que Scrum ne nous convenait pas et nous sommes passés à Kanban.


Notre délai de mise sur le marché a considérablement diminué car les priorités pouvaient désormais changer deux fois par semaine, ce qui nous permettait de résoudre les problèmes plus rapidement.

Ensuite, essayez de diviser l'équipe en zones de domaine, mais pas de manière trop granulaire.

Immergez chaque membre de l’équipe en suivant la règle des 70/30 :

  • 70 % dédiés à leur pile principale, projet ou produit
  • 30% pour tout le reste


Si votre équipe compte plus de 5 personnes, vous couvrirez tous les services et fonctions, permettant ainsi aux individus de se plonger plus rapidement dans le sujet.


Qu’est-ce que cela permet d’obtenir ?

Cela permet de déléguer certaines tâches à l’équipe plutôt que de tout faire soi-même si l’on voit qu’un développeur a déjà une bonne compréhension et une bonne immersion. Vous n'avez pas besoin de décrire l'intégralité de l'algorithme et des intégrations ! Ils savent déjà tout !

plongée profonde!


Gestion du temps et productivité

Comment l’équipe planifie-t-elle son temps de travail ?

Commençons par quelque chose de simple : comment fonctionner en équipe ? Jetez un œil à vos estimations et à la façon dont vous évaluez les tâches. Est-ce que tout est en ordre ? Peut-être y a-t-il place à l'amélioration ou à l'introduction d'un coefficient de charge de travail ?


Le coefficient de charge de travail permet de comprendre comment chaque membre de l'équipe est chargé pendant un sprint ou une semaine, en tenant compte des distractions potentielles pour le soutien. Par exemple, si vous êtes une équipe de service avec votre propre produit à maintenir, d'autres équipes pourraient solliciter votre aide ou demander des améliorations, ce qui entraînerait du temps consacré à la communication au cours du sprint.


Il en va de même pour la gestion des bugs ; vous pourriez souvent être distrait par la résolution de problèmes urgents dans l'environnement de production.

Mais c'est un sujet distinct, et je vous conseille de consulter mon article précédent sur la façon d'apporter des améliorations progressives dans ce domaine.


Revenons maintenant au coefficient. Si nous reconnaissons que chacun de nous est appelé à un chat ou à une réunion au moins 1 jour sur 5 pour résoudre un problème, tenez-en compte lors de la planification. De cette façon, vous parviendrez de manière réaliste à accomplir des tâches qui profitent réellement à l'équipe, libérant potentiellement du temps pour écrire du code.

Essayez la technique Pomodoro.

Rien de révolutionnaire ; utilisez simplement une application sur votre téléphone qui vous permet de vous concentrer sur une tâche pendant un intervalle de temps défini, par exemple 45 minutes. Rien de spécial, je suppose.

Utilisez des trackers.

Menez une enquête sur ce à quoi vous consacrez vos 8 heures de travail – enregistrez chaque heure et minute de vos activités au cours de la semaine ou du mois. Vous découvrirez peut-être des facteurs qui vous distraient, ou vous remarquerez peut-être que faire une marche de 15 minutes après le déjeuner vous permet de travailler plus efficacement : c'est peut-être la clé du succès ? Ou, si vous avez trois réunions consécutives, vous retrouvez-vous à ne rien faire pendant une heure après, juste à lire les spécifications ? C'est peut-être un défi pour vous ?


Le but est d’examiner minutieusement ce que vous faites et je pense que vous identifierez les domaines à améliorer.


Participation à des projets techniquement difficiles

Si vous ne pouvez pas assister à des réunions dédiées à la conception de systèmes ou à des solutions architecturales, lisez les suivis ou la documentation. Essayez de comprendre comment et ce qui résout le problème. Il est préférable de ne pas manquer de tels rendez-vous et de s'efforcer de s'immerger le plus possible dans les aspects techniques.


Sélectionnez les projets ou les aspects du projet qui nécessitent une analyse approfondie du code. Cela vous aidera à rester au courant des nouvelles technologies et méthodologies de développement.


RnD pour vous

Si vous remarquez des domaines du projet qui présentent des problèmes ou dont les fonctionnalités pourraient être améliorées, n'hésitez pas à créer des prototypes. Cela vous permettra non seulement de visualiser les changements proposés mais également de fournir à l’équipe du matériel tangible pour la discussion et la prise de décision.


L'objectif principal n'est pas seulement de présenter des idées, mais de les mettre en œuvre dans le projet si elles s'avèrent véritablement significatives ou bénéfiques. Par exemple, si vous avez toujours rêvé de migrer des services obsolètes de Java 1.8 vers la version 21, pourquoi ne pas essayer ? Créez un prototype, montrez-le à l'équipe, développez votre solution et documentez minutieusement l'ensemble du processus pour référence future.


Cette approche permet non seulement de mettre en œuvre des améliorations techniques, mais également de créer une compréhension partagée au sein de l'équipe concernant les changements potentiels. Ainsi, vous pouvez apporter une contribution constructive au projet, en assurant son développement efficace et en favorisant l’innovation.


wait a min

Point de révision !

À ce stade , vous aurez quelques heures pour écrire du code, proposer des solutions, puis vous pourrez prendre une pause. Bien entendu, la position de leader ne vous permettra tout simplement pas de faire les deux, et si vous vous concentrez toujours sur le développement, cela vaut peut-être la peine d’envisager un retour.


Il n'y a rien de mal à cela : réaliser que la gestion devient ennuyeuse pour vous, même si vous y excellez, n'est pas un problème. C'est juste qu'à ce stade, cela a perdu de son attrait pour vous.




Si vous avez encore du temps libre


vraiment ?

Apprentissage et développement personnel

Informez-vous continuellement en lisant de la littérature technique, en explorant des cours de formation et en participant à des conférences techniques. Cela vous aidera à rester au courant des dernières tendances et des meilleures pratiques en matière de développement de logiciels.


La lecture de la littérature technique offre une occasion unique de plonger dans les profondeurs des nouvelles technologies, méthodologies et meilleures pratiques. Cela peut inclure des livres, des articles, des blogs et d’autres documents couvrant divers aspects du développement de logiciels.


Suivre des cours de formation est un moyen structuré et systématique d’acquérir des connaissances sur de nouveaux sujets et technologies. Les plateformes de cours en ligne proposent une large gamme de cours sur différents langages, frameworks et concepts de programmation.


La participation à des conférences techniques ouvre la possibilité non seulement de se renseigner sur les dernières tendances et innovations, mais également de dialoguer avec les professionnels du secteur. Les conférences offrent une plate-forme pour partager des expériences, discuter de questions difficiles et établir des liens au sein de la communauté technique.


En résumé, l'apprentissage continu par la lecture, la participation à des cours et à la participation à des conférences permet aux développeurs de logiciels non seulement de se tenir au courant des dernières tendances, mais également d'intégrer activement de nouvelles connaissances et compétences dans leur travail quotidien.


Exemples : leetcode, Udemy ou Youtube (on peut parfois y trouver du très bon contenu GRATUIT !).


Travailler sur des projets personnels

Si possible, travaillez sur des projets personnels pendant votre temps libre. Cela améliorera non seulement vos compétences en programmation, mais servira également de source de nouvelles idées pour votre travail principal.


De plus, combiner cette activité avec le point RnD de l’article peut constituer une incitation supplémentaire à la créativité et à l’innovation.


Travailler sur des projets personnels vous permet d'appliquer vos compétences dans des scénarios pratiques, d'expérimenter de nouvelles technologies et de résoudre des problèmes du monde réel. Ces projets peuvent impliquer le développement de vos propres applications Web, la création de projets open source ou la participation à des projets parallèles intéressants.


L'intégration de cette activité aux travaux de recherche et développement (RnD) mentionnés précédemment vous permet de créer des prototypes et de les présenter sur votre lieu de travail. Ouvrir votre projet au public, comme participer à un développement open source, améliore non seulement vos compétences, mais contribue également à nouer des relations professionnelles précieuses et à faire reconnaître votre créativité.

Cependant, il est crucial de rappeler que le respect de la politique de confidentialité (NDA) de votre emploi principal est une priorité. Avant de se lancer dans des projets personnels, il est conseillé de consulter les professionnels du droit et la direction pour s'assurer que votre processus créatif ne viole pas les règles établies et pour faciliter le libre développement de votre énergie créatrice tout en préservant la confidentialité des données sensibles.


Conclusion

ici!

Trouver du temps pour coder en tant que chef d’équipe nécessite un effort conscient et une gestion efficace des priorités. N'oubliez pas que votre rôle implique non seulement de diriger directement l'équipe mais également de maintenir vos compétences techniques à un niveau satisfaisant.


Ce sera un défi et je vous souhaite bonne chance !


J'ai vu le problème il y a longtemps. Si vous souhaitez lire des livres professionnels, je vous recommande de lire des livres : lien et lien