Blog

Comment devenir des ingénieurs plus efficaces ? Partie 2 : Établir régulièrement des priorités

par Derrick Camerino 22 mai 2018 | 8 min de lecture

Dans partie un Dans cette série en deux parties, j'ai abordé les tâches nécessitant peu d'efforts mais qui produisent la plus grande valeur et les moyens d'augmenter l'effet de levier dans certaines de vos activités quotidiennes. Pour résumer rapidement, effet de levier L'effet de levier peut être défini comme la valeur, ou l'impact, produit par le temps investi. En d'autres termes, le retour sur investissement (ROI) de l'ingénierie. Bien que l'augmentation de l'effet de levier soit un bon outil de mesure, il n'est pas toujours évident de savoir quelle valeur, ou quel impact, une tâche donnée produira. Et parfois, avec le nombre considérable de tâches qui vous sont confiées, il peut être difficile d'établir des priorités.

En tant qu'ingénieur, il y a tellement de choses sur lesquelles travailler, n'est-ce pas ? Bien que nos sprints puissent être organisés en tickets de la taille d'une bouchée, nous devrions envisager d'organiser nos propres tâches qui ne relèvent pas du travail de sprint. Il peut s'agir de choses comme la révision d'un document dans Confluence, la rédaction de documentation ou la révision du code d'une autre équipe. D'après mon expérience, lorsque ces éléments s'accumulent, il est probable que d'autres choses passent entre les mailles du filet.

Vous trouverez ci-dessous quelques bonnes pratiques pour gérer une énorme liste de tâches, accéder à leur priorité et évaluer les gains à court et à long terme d’une tâche donnée.

La liste de contrôle simple

Cela peut paraître évident, mais une simple liste de contrôle peut vous aider à suivre le travail non lié au sprint. Il peut s'agir d'un simple document sur Google Drive, d'une liste manuscrite sur papier ou même de l'utilisation d'applications de productivité comme Wunderlist ou Todoist. Le fait de voir tout écrit peut vous donner une idée des choses les plus importantes et de celles qui ne valent même pas la peine d'être faites.

Disposer d'une liste de contrôle peut également aider à identifier les tâches à effectuer entre les tickets ou pendant les petits blocs de temps entre les réunions. Mais comment pouvons-nous déterminer quelles tâches ou quels éléments ont plus de valeur que d'autres ?

Quel travail produit de la valeur ?

Les ingénieurs sont très doués pour résoudre les problèmes liés aux produits et à l'ingénierie. Nous passons beaucoup de temps à comprendre des choses comme des moyens efficaces pour implémenter une fonctionnalité, comment composer différents systèmes et découvrir des moyens optimaux de stocker et de transmettre des données, pour n'en citer que quelques-uns.

Au-delà de la valeur ajoutée technique, il existe des éléments qui ajoutent également de la valeur commerciale. Il peut s'agir des utilisateurs acquis, des produits/fonctionnalités livrés, des indicateurs commerciaux déplacés, des processus/systèmes optimisés et des ventes réalisées. Ces éléments sont plus importants que les heures travaillées, les lignes de code écrites, les réunions suivies et les tâches JIRA terminées.

Dans cet esprit, nous, les ingénieurs, devrions essayer de nous concentrer sur des tâches qui non seulement aident les ingénieurs et nos utilisateurs, mais aussi l’entreprise.

Apprenez à dire non

En tant qu'ingénieur, il est parfois difficile de trouver un équilibre entre le travail de sprint et le travail hors sprint, l'aide aux personnes, la collaboration avec d'autres personnes/équipes et le développement professionnel/personnel continu. Souvent, nous sommes invités à des réunions hors équipe, à des groupes d'intérêt et à examiner d'autres documents. Les personnes qui nous invitent ne sont généralement pas conscientes du coût d'opportunité de notre temps.

Il est donc important d’apprendre à dire non. Comme notre temps et nos ressources sont limités, toutes les invitations ne doivent pas être considérées comme une obligation. Bien qu’il soit agréable de participer à toutes ces activités parascolaires, elles peuvent parfois nous détourner de nos autres tâches. Cependant, si ces invitations sont prioritaires, il faut absolument en discuter. Mais comme nous ne pouvons pas travailler sur tout, nous devons nous concentrer sur ce qui compte, c’est-à-dire sur ce qui produit le plus de valeur.

Concentrez-vous sur l'important et le non urgent

Étant donné que nous sommes constamment bombardés d'e-mails, de messages/demandes Slack, de bugs et d'incidents tout au long de la journée, nous pourrions devenir plus réactifs au lieu d'être proactifs dans notre travail. Nous devons être prudents car cela rendra difficile de se concentrer sur des investissements à plus long terme comme l'apprentissage de nouveaux langages de programmation, la formation professionnelle continue et l'établissement de relations.

Chaque activité peut être divisée en quatre quadrants en fonction de son importance et de son urgence (qui ne doivent pas être confondus comme synonymes). Jetez un œil à la matrice Eisenhower ci-dessous :

La plupart de notre temps est normalement occupé par les quadrants 1 et 3, qui se trouvent dans la colonne « Urgent ». Cependant, lorsque nous nous concentrons trop sur ces quadrants, nous négligeons les activités non urgentes mais importantes du quadrant 2, qui incluent des choses comme :

  • Objectifs de carrière et construction de relations solides
  • Lire des livres et des articles pour le développement professionnel
  • Créer des outils pour améliorer nos flux de travail
  • Apprentissage de nouveaux langages de programmation, bibliothèques, frameworks, etc.
  • Encadrer nos coéquipiers pour les aider à être plus productifs

Les investissements du quadrant 2 ne sont souvent pas assortis d'échéances et ne sont donc pas prioritaires. Mais à long terme, ils offrent une valeur significative car ils nous aident à apprendre et à grandir, tant sur le plan personnel que professionnel.

Lorsque vous gérez votre liste de contrôle personnelle, assurez-vous de trouver lesquelles de vos tâches se situent dans le quadrant 2 et de déprioriser les choses des quadrants 3 et 4 qui ne sont pas aussi importantes.

Investissez dans la croissance de votre équipe

Une activité du Quadrant 2 qui, selon moi, a un effet de levier important et que nous pouvons améliorer est la croissance de l’équipe, qui peut être définie comme la croissance de notre équipe d’ingénierie en termes de personnes et de nos connaissances et processus.

Embauche et intégration

Heureusement, la plupart des ingénieurs participent régulièrement aux entretiens d’embauche. Cela aide lorsque tout le monde peut partager la charge de travail. La plupart des ingénieurs, sinon tous, devraient participer au processus d’entretien pour contribuer à préserver une culture d’ingénierie forte. De nombreuses équipes souffrent également d’un manque de personnel, donc faire appel à davantage de talents sera certainement utile à long terme.

Une fois les nouveaux employés recrutés, une liste de contrôle d'intégration complète doit être disponible pour permettre au nouvel ingénieur d'être productif le plus rapidement possible. Cette liste de contrôle doit être constamment améliorée au fur et à mesure que chaque candidat la consulte et y apporte des modifications. Mais une chose à toujours garder à l'esprit pour le processus d'intégration est la suivante : comment pouvons-nous aider les ingénieurs à se familiariser rapidement avec une technologie ou un système particulier ?

Diffusion des connaissances

Je pense que c'est un domaine dans lequel toutes les entreprises peuvent s'améliorer. Nous avons des choses comme des groupes d'intérêt, des discussions techniques, articles de blog , la documentation sur Github et Confluence, et les post-mortems, les informations sont généralement dispersées. Par exemple, si un ingénieur souhaite en savoir plus sur Ember.js depuis le début, il serait bien que nous puissions simplement le renvoyer vers une page contenant des explications de haut niveau, ainsi qu'un ensemble d'exercices de codage pour l'aider à progresser.

Chez Google, ils gèrent une ressource appelée CodeLabs pour expliquer les abstractions courantes utilisées dans la base de code, ainsi que pour fournir des procédures pas à pas et des exercices pour aider à consolider les concepts. Même un petit pas dans cette direction pourrait être très bénéfique.

J'ai réfléchi un peu à ce domaine de la diffusion des connaissances et j'ai deux suggestions pour l'améliorer. J'espère que ces suggestions pourront aider les organisations d'ingénierie à se rassembler et à décider de certaines normes pour diffuser efficacement les connaissances.

Deux idées pour diffuser les connaissances

1. Tirer parti des groupes d’intérêt

Les groupes d'intérêt se forment généralement autour d'une technologie, d'un langage, d'un framework, etc. particuliers et sont ouverts à tous les ingénieurs. L'objectif d'un groupe d'intérêt est d'aider les ingénieurs à apprendre et à collaborer autour d'un sujet spécifique (par exemple, Elixir, Ember.js, etc.) dans le but d'aider d'autres équipes à travailler efficacement avec cette technologie. Ils peuvent créer une documentation qui pourrait être utilisée par des ingénieurs qui n'ont jamais eu d'expérience avec la technologie donnée. La documentation peut inclure une série de documents, des screencasts, des exercices de code et des liens vers des ressources. Les groupes d'intérêt peuvent également réfléchir à des investissements futurs dans la technologie donnée.

2. Faites appel à des mentors

Les entreprises d'ingénierie sont généralement composées d'ingénieurs qui ont une expertise dans une variété de technologies différentes, qu'il s'agisse d'experts MySQL, Javascript ou Python, pour n'en citer que quelques-uns. La plupart du temps, ces ingénieurs sont extrêmement occupés à repousser les limites des fonctionnalités des produits. Ne serait-il pas agréable d'avoir un programme où les autres ingénieurs pourraient bénéficier du mentorat de ces experts ?

Un modèle mentor/mentoré pour une technologie donnée pourrait être une excellente occasion de travailler avec des ingénieurs d'autres équipes, ainsi que de donner aux ingénieurs des opportunités de mentorat et/ou d'apprentissage. Il pourrait s'agir d'une réunion de 30 minutes par semaine au cours de laquelle le mentor peut répondre à toutes les questions et fournir des ressources pour faciliter l'apprentissage du mentoré.

Certaines de ces activités sont probablement déjà en place au sein de votre organisation d'ingénierie actuelle, mais combien de temps et d'efforts y consacrent-elles ? Ces activités, même si elles peuvent sembler détourner les ingénieurs de leurs obligations immédiates, peuvent en réalité générer une valeur à long terme.

Lectures complémentaires

Ce ne sont là que quelques idées que j'ai eues sur la façon dont nous pouvons devenir des ingénieurs plus efficaces. Beaucoup de ces idées ont été inspirées par L'ingénieur efficace par Edmond Lau et Travail en profondeur par Cal Newport. Si vous souhaitez en savoir plus sur le thème de l'efficacité en ingénierie et de la concentration dans un monde distrayant, je vous recommande vivement ces ouvrages.