Comment mesurez-vous l’efficacité d’un ingénieur ? Au nombre d’heures qu’il travaille ? La quantité d’efforts qu’il déploie ? Le nombre de tâches qu’il accomplit ? Un ingénieur qui travaille dur et qui déverse son énergie sur une fonctionnalité dont le calendrier dérape et que personne n’utilise n’est pas si efficace que cela. L’ingénieur efficace, écrit par Edmond Lau et publié le 19 mars 2015, vous donnera des pistes pour devenir un ingénieur pratique en optimisant l’apprentissage, en se concentrant sur les activités à fort effet de levier ou en établissant fréquemment des priorités.
COMMENT CE LIVRE NOUS A-T-IL AIDÉS ?
Bien qu’il s’agisse d’un livre destiné aux ingénieurs en informatique, vous ne trouverez pas une seule ligne de code dans The Effective Engineer. Ce livre nous a aidés à comprendre qu’en hiérarchisant nos activités et en évaluant leur effet de levier, nous pouvons atteindre nos objectifs plus efficacement. The Effective Engineer nous a fourni des approches sur la manière d’augmenter l’effet de levier. 1. En réduisant le temps nécessaire à l’accomplissement d’une activité particulière. 2. En augmentant le rendement d’une activité spécifique. 3. En passant à des activités à plus fort effet de levier.
LE LIVRE EXPLIQUÉ EN MOINS DE 60 SECONDES
Ce livre n’est pas un guide complet de tout ce qui peut vous aider à vous développer. Il vous offre néanmoins un cadre cohérent – un effet de levier – pour déterminer les compétences qui pourraient constituer un bon investissement de votre temps. L’enseignement et le mentorat sont mes passions, et je suis impatient de partager ce que j’ai appris.
TROIS CITATIONS PRINCIPALES
« Enréfléchissant dès le début de votre carrière à la manière d’aider vos collègues à réussir, vous inculquez les bonnes habitudes qui vous mèneront à la réussite.
« Pour être des ingénieurs efficaces, nous devons identifier les activités qui ont le plus d’impact en investissant le moins de temps possible.
« Travailler des heures supplémentaires peut nuire à la dynamique de l’équipe. Tous les membres de l’équipe n’auront pas la flexibilité nécessaire pour faire des heures supplémentaires. »
RÉSUMÉS ET NOTES DE LECTURE
Premier chapitre : Adoptez le bon état d’esprit
Concentrez-vous sur les activités à fort potentiel
Comment décider sur quoi travailler pour atteindre vos objectifs plus efficacement ? La réponse fondamentale à cette question consiste à hiérarchiser ces différentes activités et à évaluer leur effet de levier. L’effet de levier est la valeur ou l’impact produit par le temps investi.
Effet de levier = impact produit/temps investi
L’effet de levier est le retour sur investissement de l’effort fourni. Les ingénieurs influents font les choses efficacement et concentrent leur temps limité sur les tâches qui produisent le plus de valeur. Ils ne font pas plus de choses en travaillant plus d’heures. Les ingénieurs efficaces augmentent leur production dans cette équation tout en maintenant le temps limité investi. Par conséquent, l’effet de levier est le critère qui permet de mesurer le caractère pratique de vos activités. L’effet de levier est crucial car le temps est votre ressource la plus limitée. Contrairement à d’autres ressources, le temps ne peut pas être restauré, remplacé ou prolongé.
Augmentez votre effet de levier de trois façons ;
- En réduisant le temps nécessaire à l’accomplissement d’une activité particulière.
- En augmentant le rendement d’une action spécifique.
- En passant à des activités à plus fort effet de levier.
Ces trois approches se traduisent généralement par trois questions que vous pouvez vous poser sur n’importe quelle activité sur laquelle nous travaillons.
- Comment puis-je réaliser cette activité dans un délai plus court ?
- Comment puis-je augmenter la valeur générée par cette activité ?
- Puis-je consacrer mon temps à autre chose pour créer plus de valeur ?
Utilisez l’effet de levier pour évaluer l’efficacité de votre ingénierie. Concentrez-vous sur ce qui génère le meilleur retour sur investissement pour le temps que vous y consacrez. Augmentez systématiquement l’effet de levier de votre temps. Trouvez des moyens d’accomplir des activités plus rapidement, d’augmenter l’impact d’une activité ou de passer à des activités à plus fort effet de levier. Le temps est votre ressource la plus limitée. Trouvez les habitudes qui ont un impact disproportionné par rapport au temps que vous investissez.
Optimiser l’apprentissage
Adopter un état d’esprit de croissance signifie accepter la responsabilité de chaque aspect d’une situation que vous pouvez changer – n’importe quoi, de l’amélioration de vos compétences en matière de conversation à la maîtrise d’un nouveau domaine d’ingénierie – plutôt que de rejeter la responsabilité des échecs sur des éléments qui échappent à votre contrôle. Cela signifie qu’il faut optimiser les expériences d’apprentissage plutôt que les occasions où vous réussissez sans effort et investir dans votre taux d’apprentissage. L’apprentissage se développe de manière exponentielle. La connaissance vous permet d’acquérir plus de connaissances encore plus rapidement. Plus vous en savez, plus il est facile d’apprendre davantage et de devenir plus créatif. Plus vous optimisez l’apprentissage tôt, plus vos connaissances ont le temps de se développer. Votre premier emploi vous permet d’obtenir plus facilement un deuxième emploi plus intéressant. Grâce à l’effet de composition, même de petites différences dans votre taux d’apprentissage font une différence significative à long terme. Étant donné que vous passez la majeure partie de votre temps au travail, le choix de votre environnement de travail constitue l’un des leviers les plus convaincants pour augmenter votre taux d’apprentissage. Veillez à ce qu’au-delà de la courbe d’apprentissage initiale, l’environnement de travail reste un lieu où vous pouvez durablement apprendre de nouvelles choses chaque jour. Voici six facteurs à prendre en compte lorsque vous choisissez un nouvel environnement de travail.
- Croissance rapide
- Formation
- Ouverture
- rythme
- Les personnes
- L’autonomie
La façon dont vous percevez votre intelligence, votre caractère et vos capacités influence profondément la manière dont vous menez votre vie. Elle influence principalement le fait que vous restiez bloqué dans votre position actuelle ou que vous réalisiez ce qui vous tient à cœur.
Fixer régulièrement des priorités
Une équipe performante établit des priorités précises et fréquentes dans son travail. Le métier d’ingénieur est très épuisant. Il y a toujours plus de tâches que de temps disponible, et travailler sur une tâche signifie ne pas travailler sur l’autre. Par conséquent, l’établissement fréquent de priorités est une activité à fort effet de levier puisqu’elle influence l’effet de levier du reste de votre temps. Les ingénieurs les plus efficaces s’efforcent constamment d’améliorer leurs compétences en matière de hiérarchisation des priorités. Pour continuer à vous consacrer aux activités à fort effet de levier, revoyez la manière dont vous classez vos activités. Il est essentiel de répertorier toutes vos tâches dans une liste facile d’accès. À partir de cette liste, comparez ce que vous faites et ce que vous pourriez faire à la place, afin de déplacer régulièrement votre temps vers des activités à fort effet de levier. Les ingénieurs peuvent tirer profit de l’utilisation de listes de contrôle. Par conséquent, la première étape d’une hiérarchisation efficace consiste à dresser la liste de toutes les tâches dont vous pourriez avoir besoin. Les listes de tâches doivent présenter deux caractéristiques importantes : elles doivent être une représentation reconnue de votre travail et être facilement accessibles. Une seule liste principale vaut dix fois mieux qu’un ensemble de notes autocollantes, de feuilles de papier et de courriels, car ces alternatives dispersées peuvent être facilement égarées et il est plus difficile pour votre cerveau de croire qu’elles sont complètes.
Citation préférée du chapitre : « Concentrez-vous sur les changements dans votre sphère d’influence plutôt que de gaspiller de l’énergie à blâmer les éléments que vous ne pouvez pas contrôler. Considérez les échecs et les défis avec un état d’esprit de croissance, et voyez-les comme des occasions d’apprendre. »
Chapitre deux : Exécuter, exécuter, exécuter
Investir dans la vitesse d’itération
Les ingénieurs efficaces investissent beaucoup dans la vitesse d’itération. Le déploiement continu n’est qu’un des nombreux outils puissants à votre disposition pour augmenter la vitesse d’itération. Le déploiement continu permet aux ingénieurs de créer et de déployer de petites modifications incrémentielles plutôt que les changements importants et en lots typiques de la plupart des entreprises. Ce changement d’approche supprime une grande partie des frais généraux associés aux processus de publication traditionnels. Il est plus facile de raisonner sur les changements et permet aux ingénieurs d’itérer rapidement. Lorsque quelqu’un découvre un bogue, par exemple, le déploiement continu permet de mettre en œuvre un correctif, de le déployer en production et de vérifier qu’il fonctionne, le tout en une seule fois. Le déploiement continu est l’un des outils les plus robustes pour augmenter la vitesse d’itération.
Bougez vite pour apprendre vite. Bougez vite et cassez des choses. La rapidité d’exécution vous permet de construire plus de choses et d’apprendre plus rapidement.
Investissez dans des outils permettant de gagner du temps. Si vous devez faire quelque chose plus de deux fois, créez un outil pour la troisième fois. Les outils sont des leviers qui vous aident à étendre votre impact au-delà du conflit du jour. Les outils plus rapides sont utilisés plus souvent parce qu’ils permettent de nouveaux flux de travail qui étaient auparavant impossibles.
Mesurez ce que vous voulez améliorer
Mesurer les progrès et les performances peut sembler ne pas relever de votre compétence. Pourtant, il s’agit d’un excellent outil pour évaluer votre efficacité et établir des priorités dans votre travail. Si vous ne pouvez pas le mesurer, vous ne pouvez pas l’améliorer. Dans le domaine du développement de produits, il est courant qu’un responsable conçoive une nouvelle fonctionnalité. L’équipe se réjouit que les ingénieurs la construisent et l’expédient sans mettre en place de mécanisme permettant de mesurer si la fonctionnalité a amélioré l’expérience du produit. Utilisez des indicateurs pour mesurer et piloter les progrès. De bons indicateurs permettent d’atteindre plusieurs objectifs. Tout d’abord, elles vous aident à vous concentrer sur les bonnes choses. Elles confirment que les changements apportés à votre produit – et tous les efforts que vous y consacrez – atteignent vos objectifs.
Lorsqu’elles sont visualisées dans le temps, les bonnes mesures permettent de se prémunir contre les régressions futures. Les ingénieurs reconnaissent la valeur de l’écriture d’un test de régression lors de la correction des bogues : il vérifie qu’un correctif corrige un bogue et détecte si le bogue réapparaît à l’avenir.
De bons indicateurs permettent également d’évaluer votre efficacité dans le temps et de comparer l’effet de levier de ce que vous faites par rapport aux activités que vous pourriez mener à la place. L’indicateur que vous choisissez influence généralement la décision que vous prenez et votre comportement. Recherchez un indicateur qui, lorsqu’il est optimisé, maximise l’impact sur l’équipe.
Validez vos idées tôt et souvent
Validez si vos idées sont pratiques. Cette validation peut résulter de discussions avec votre équipe, d’enquêtes auprès des utilisateurs ou de tests A/B avec les idées appliquées. Avec de nouvelles idées, vous n’avez que peu d’efforts à fournir pour valider votre travail. Au fur et à mesure que vous avancez dans le projet sur lequel vous travaillez, essayez toujours d’obtenir un retour d’information. Par exemple, lorsque vous commencez à gérer un projet et qu’il s’avère plus compliqué que vous ne l’aviez prévu, son effet de levier diminue. Pendant ce temps, un autre projet à effet de levier plus important peut voir le jour. Dans ce cas, il est préférable d’abandonner le projet en cours et de concentrer votre attention sur l’autre. La validation fréquente de vos tâches vous aide à déterminer la meilleure décision à prendre.
Citation préférée du chapitre : « Réduisez la variance de vos estimations et le risque de votre projet en explorant l’inconnu dès le début. Ne vous donnez pas l’illusion de progresser en vous concentrant d’abord sur ce qui est facile à faire. »
Chapitre trois : Créez de la valeur à long terme
Équilibrer la qualité et le pragmatisme
Mettez en place un processus autonome de révision du code. Les équipes d’ingénieurs n’ont pas toutes la même attitude à l’égard des révisions de code. Les revues de code sont tellement ancrées dans la culture de certaines équipes que les ingénieurs ne peuvent imaginer travailler dans un environnement sans elles. Les révisions de code permettent de détecter rapidement les bogues et les défauts de conception. Elles consomment moins d’énergie. Elles permettent de gagner du temps lorsqu’il s’agit de résoudre des problèmes au cours du processus de développement. Les revues de code renforcent également la responsabilité des modifications apportées au code. Vous n’ajouterez pas de correctifs rapides au code et ne laisserez pas le désordre à une autre personne si vous savez que l’un de vos coéquipiers examinera le code. Bien qu’ils reconnaissent généralement que les revues de code peuvent améliorer la qualité, les ingénieurs qui ne les pratiquent pas font souvent état de leurs préoccupations quant à leur impact sur la vitesse d’itération. Ils proclament que le temps et les efforts associés aux revues de code sont mieux utilisés pour d’autres fonctions de développement du produit. La décision d’effectuer des revues de code ne doit pas être un choix binaire, où le code est soit revu, soit non revu. Considérez plutôt les revues de code comme un processus continu. Elles peuvent être structurées selon différentes approches afin de réduire leur coût tout en conservant leurs avantages.
Investissez dans la croissance de votre équipe
Ce n’est que lorsque vous examinez les entretiens dans leur ensemble que vous réalisez que l’embauche est une activité à fort effet de levier. Plus l’organisation est petite, plus il y a de chances que la personne que vous rencontrez en entretien devienne immédiatement un collègue et plus l’effet de levier de ces entretiens est important. Voici quelques stratégies à fort effet de levier à utiliser pour améliorer votre processus d’entretien ; prenez le temps avec votre équipe d’identifier les qualités d’un coéquipier potentiel qui vous tiennent le plus à cœur : aptitude au codage, maîtrise des langages de programmation, algorithmes, structures de données, compétences produit, débogage, compétences en communication, adéquation à la culture, ou autre. Coordonnez-vous pour vous assurer que tous les domaines clés sont couverts au cours d’une boucle d’entretien. Concevez des problèmes d’entretien avec plusieurs niveaux de difficulté que vous pouvez adapter aux capacités du candidat en ajoutant ou en supprimant des variables et des contraintes.
Créez un bon processus d’intégration. L’intégration est une situation gagnant-gagnant à la fois pour l’entreprise et pour les nouveaux employés ; ces derniers reçoivent une formation précieuse et les mentors accomplissent plus de choses. À l’inverse, un processus d’intégration médiocre réduit l’efficacité de l’équipe. Le rendement productif disparaît lorsqu’une nouvelle recrue met plus de temps à rattraper son retard. La qualité du code diminue si les nouveaux membres de l’équipe utilisent mal les abstractions ou les outils, ou s’ils ne sont pas familiarisés avec les conventions ou les attentes de l’équipe.
Citation préférée du chapitre : « L’entretien avec de nouveaux candidats ingénieurs peut s’avérer gênant. Il interrompt la productivité et brise notre journée. Il faut beaucoup de temps pour rédiger des commentaires sur les candidats et faire le point avec l’équipe. »
COMMENT CE LIVRE A AIDÉ LES DÉVELOPPEURS DE LOGICIELS
L’ouvrage « The Effective Engineer » d’Edmond Lau peut aider les développeurs de logiciels en leur fournissant des conseils pratiques et des stratégies pour devenir un ingénieur plus efficace et plus efficient. L’ouvrage traite de la gestion du temps, des compétences en matière de communication, des compétences techniques et du développement de carrière, en mettant l’accent sur des conseils réalisables et des exemples concrets. La mise en œuvre des stratégies décrites dans le livre peut aider les développeurs de logiciels à améliorer leur productivité, à accroître leur impact et à faire progresser leur carrière.