8 façons d’augmenter considérablement la productivité de vos développeurs

-

Optimisez votre productivité grâce à ces 8 conseils

Introduction

Ces huit conseils de productivité vont booster votre productivité en tant que développeur. Vous gagnerez des heures de temps que vous pourrez ensuite investir dans d’autres activités.

Il ne s’agit pas d’une liste exhaustive de tout ce que vous devriez faire, mais ces éléments à eux seuls amélioreront considérablement votre productivité si vous ne les pratiquez pas déjà.

Comment de petites quantités de temps provenant de tâches répétitives s’additionnent

Disons que vous écrivez du code dans un vieux monolithe Java et que votre flux pour chaque modification que vous apportez ressemble à ceci :

  • Enregistrer le fichier (1 seconde)
  • Construire le projet dans l’IDE (5 secondes)
  • Déploiement du fichier war de l’application dans un ancien conteneur J2EE (30 secondes)

Pour chaque modification, il faut 36 secondes avant de pouvoir obtenir un retour d’information et essayer vos modifications. Cela peut sembler peu, mais si vous faites cela pour chaque changement, cela peut se produire 50 fois ou plus par jour. Cela représente 1800 secondes, soit une demi-heure que vous auriez pu consacrer à d’autres activités.

Sur une semaine de travail de 5 jours, cela représente 2,5 heures de temps perdu. Sur une année de travail typique, cela représente 469800 secondes ou 5,4 jours de temps perdu que vous auriez pu consacrer à d’autres activités. En résolvant ce problème, vous gagnerez donc une semaine de productivité supplémentaire.

Le développeur moyen a beaucoup de tâches répétitives qu’il pourrait automatiser. Si l’automatisation d’une tâche répétitive vous permet d’économiser 36 secondes et l’équivalent d’une semaine de travail par an, l’automatisation de 5 tâches aussi chronophages vous permettra de récupérer 5 semaines par an.

Comment puis-je résoudre ce problème spécifique ? Utilisez un framework plus récent qui prend en charge le rechargement à chaud. Il suffit d’enregistrer votre fichier pour que la modification soit automatiquement compilée et déployée sans qu’il soit nécessaire de redémarrer le conteneur. Les frameworks Java les plus récents, tels que Spring Boot, prennent en charge cette fonctionnalité. Nous reviendrons plus en détail sur le rechargement à chaud plus loin dans l’article.

Automatiser les tâches répétitives avec des scripts

S’il y a une chose qui pourrait stimuler le plus votre productivité, c’est bien l’automatisation des tâches répétitives à l’aide de scripts. Je recommande vivement d’écrire des scripts Bash, car ils permettent d’enchaîner facilement plusieurs commandes, et ce sont ces mêmes commandes que vous exécutez fréquemment au quotidien.

Une grande partie du développement moderne se fait en ligne de commande avec des commandes comme npm install. Il existe une intégration de l’EDI pour certaines de ces choses, mais je recommande vivement d’apprendre et d’utiliser la ligne de commande pour une raison : elle est scriptable. En général, il est également plus rapide de taper une commande que de pointer et cliquer plusieurs fois dans votre IDE pour effectuer la même tâche.

Lorsque vous vous retrouvez à faire la même chose ou à taper le même ensemble de commandes de manière répétée, pensez à les intégrer dans un script. Une fois que cela est fait correctement, le script exécutera toujours les commandes dans le bon ordre et ne fera jamais d’erreur.

Il peut s’exécuter en moins d’une seconde alors que vous avez besoin de 30 secondes (ce qui, comme nous l’avons déjà mentionné, peut s’accumuler avec le temps).

Les scripts permettent également de ne pas avoir à se souvenir de la syntaxe complexe des commandes courantes, bien que vous puissiez également utiliser des alias de shell pour cela.

Quelques scripts aléatoires que j’ai mis en place localement :

  • Sauvegarde de ma base de données locale
  • Extrait la dernière copie de la base de données de test et l’importe automatiquement dans ma base de données locale. Il appelle le script précédent pour faire une sauvegarde d’abord, bien sûr !
  • Démarrer et configurer localement plusieurs microservices interdépendants. C’est pénible de le faire manuellement, mais facile avec un script.

Utiliser un vrai débogueur au lieu d’imprimer des variables

À l’époque où j’étais un ingénieur de niveau intermédiaire, apprendre à utiliser un débogueur était une chose qui, à elle seule, augmentait ma productivité. Je pouvais faire en quelques heures un travail qui m’aurait pris une journée. Il était beaucoup plus facile de corriger les bogues et de développer des fonctionnalités.

J’ai trouvé le débogage particulièrement utile lorsque j’ai exploré des bases de code inconnues que je n’avais pas écrites. Vous pouvez facilement voir les résultats de la logique la plus complexe écrite de manière bizarre. Il est beaucoup plus facile de raisonner sur une logique complexe et alambiquée lorsque vous pouvez l’exécuter ligne par ligne et voir comment les choses changent.

Si vous avez déjà utilisé console.log() en JavaScript, var_dump() en PHP, System.out.println() en Java ou une fonction similaire dans un autre langage pour imprimer une valeur sur la console afin de voir ce qui se passe dans votre code, vous savez peut-être à quel point cela peut être fastidieux si vous essayez de déboguer quelque chose de complexe.

Vous imprimez une valeur à la fois et vous devez généralement écrire une nouvelle déclaration de journal pour chaque valeur que vous voulez voir. Si la valeur que vous regardez change, vous devez l’enregistrer à nouveau. C’est un peu comme farfouiller avec un bandeau ou dans l’obscurité. N’oublions pas non plus la possibilité d’enregistrer accidentellement vos instructions de débogage.

La mémoire de travail humaine est limitée, donc une fois que vous aurez imprimé manuellement suffisamment de variables, les valeurs commenceront à disparaître de votre esprit et vous devrez alors les imprimer à nouveau ou les écrire quelque part et les mettre à jour au fur et à mesure qu’elles changent. Essayer de tout garder en mémoire prend des ressources cérébrales précieuses que vous pourriez réorienter pour faire fonctionner votre code comme vous le souhaitez, suivre les meilleures pratiques ou écrire un code propre.

Entrez dans le débogueur : définissez un point d’arrêt dans votre code et exécutez votre application. Lorsque votre application atteint la ligne sur laquelle vous avez placé un point d’arrêt, vous pourrez voir toutes les variables dans la portée dans l’onglet de débogage.

Il n’est plus nécessaire de jongler avec de nombreuses valeurs dans votre mémoire de travail. En une seule action, vous pouvez désormais tout voir et non plus une seule valeur à la fois.

J’ai commencé par déboguer le code de ma propre application, mais avec le temps et l’expérience, j’ai découvert que le débogage du code des frameworks et des bibliothèques (comme le code d’Express) pouvait m’apporter de précieuses informations. J’ai pu trouver des réponses à des questions qui ne figuraient même pas dans la documentation de divers frameworks et bibliothèques, qui était souvent incomplète ou mal écrite.

Le débogueur vous indique toujours ce que font réellement ces frameworks et bibliothèques, indépendamment de la précision ou de l’exhaustivité de leur documentation. Je trouve souvent qu’il est plus rapide de déboguer un framework ou une bibliothèque avant de lire sa documentation – des concepts complexes peuvent prendre beaucoup de mots à expliquer, mais un débogueur peut vous donner les réponses rapidement.

Si vous utilisez Node et que vous voulez apprendre comment configurer votre débogueur dans vscode, je ferai un article sur le sujet éventuellement.

Utiliser le fuzzy finder

Beaucoup d’entre nous travaillent encore avec de grandes bases de code monolithiques qui comptent parfois des milliers de fichiers.

Comment êtes-vous censé trouver, caché dans /src/authentication/userTypes/Employee.js parmi les milliers de fichiers .js et les centaines de dossiers de votre projet ? Rechercher manuellement le fichier dans l’arborescence des répertoires ? Demander à un autre développeur qui est plus familier avec le codebase ?

Non, il suffit d’utiliser le fuzzy finder ! Tapez Employee.js et vous aurez trouvé votre fichier en quelques secondes.

Voici comment cela fonctionne. Dans, appuyez sur Ctrl+P, puis tapez le nom du fichier que vous recherchez. Le résultat apparaîtra instantanément.

Si vous utilisez IntelliJ ou WebStorm, appuyez deux fois rapidement sur shift (alias double shift) au lieu d’appuyer sur Alt+P.

Utiliser le rechargement à chaud (Hot Reload) et l’enregistrement automatique

Si vous écrivez du code pour une application ou un service Web et que vous n’utilisez pas PHP (qui a les avantages du rechargement à chaud intégrés), vous devez probablement faire une ou plusieurs des choses suivantes pour chaque modification apportée à votre code:

  • Effectuer la modification
  • Sauvegarder le fichier
  • Compiler le code (pour les langages compilés)
  • Redémarrer le serveur
  • Pour certains environnements, redéployer votre code et attendre qu’il soit déployé.
  • Testez votre code
  • Répétez l’opération

Cela vous prend peut-être 30 secondes à une minute à chaque fois, mais n’oubliez pas que cela représente des jours et des semaines au fil du temps.

Avec le rechargement à chaud et l’enregistrement automatique, vous pouvez réduire cette durée à

  • Effectuez votre modification
  • Votre IDE enregistre automatiquement votre fichier
  • En arrière-plan, la modification est automatiquement détectée et compilée (si nécessaire) et votre serveur en cours d’exécution est soit redémarré, soit mis à jour avec le nouveau code, généralement en moins de 5 secondes.
  • Testez votre code
  • Répétez l’opération

En Java, le rechargement à chaud est souvent appelé Hot Swapping. Pour Node, vous pouvez utiliser nodemon et le faire pointer vers votre script de point d’entrée.

La plupart des IDEs ont une fonction de sauvegarde automatique. Dans vscode, il suffit de sélectionner File > Auto Save. Vérifiez la documentation de votre IDE pour savoir comment l’activer.

Si vous avez peur que l’enregistrement automatique sauvegarde les erreurs, vous devriez utiliser le contrôle de source comme git et commiter régulièrement votre code. Vous pourrez ainsi revenir rapidement à des versions de travail de votre code.

Automatisez vos tests

Les tests manuels sont l’une des tâches les plus longues et les moins agréables que le développeur moyen effectue dans le cadre de son travail.

À l’époque où les développeurs suivaient l’ancien modèle de SDLC (aujourd’hui remplacé par Agile), on disait souvent que les tests prenaient à peu près autant de temps que les phases d’analyse et d’écriture du code réuni.

Vous pouvez faire un changement d’une ligne qui a un impact important, puis vous devez passer des heures à le tester.

Il existe différents types de tests automatisés, des tests de navigateur qui peuvent pointer et cliquer dans une application comme un véritable utilisateur, aux tests unitaires. La façon d’écrire chaque type prendrait un autre guide entier (faites-moi savoir dans les commentaires ci-dessous si je dois en écrire un ?). Tous les types de tests automatisés sont plus rapides que les tests manuels.

Même pour le type de test automatisé le plus lent (tests de navigateur), vous pouvez vous asseoir et regarder le test s’exécuter, puis aller prendre un café ou faire quelque chose de productif.

Dans certains cas, les tests manuels sont inévitables, mais si vous vous retrouvez à tester la même chose à plusieurs reprises, pensez à écrire un test automatisé pour gagner du temps.

Partagez votre travail plus tôt avec une URL publique

Saviez-vous que vous pouvez obtenir une URL publique pour une application Node servie à partir de localhost ou 127.0.0.1 sur votre machine locale, même si elle se trouve derrière un pare-feu ou un réseau d’entreprise ? Cela ne nécessite aucune configuration réseau et vous pouvez le faire en une seule commande avec expose, par exemple expose 80 comme myapi.expose.sh.

Cela vous permet de partager rapidement votre travail avec vos collaborateurs, tels que d’autres ingénieurs, des clients ou des chefs de produit, et d’obtenir un retour rapide sans avoir à mettre en place un pipeline de déploiement complet. Plus vous partagez votre travail tôt, moins vous aurez à retravailler à long terme.

Vous pouvez écrire une API, partager une URL publique pour celle-ci, puis procéder à un débogage en direct lorsque le développeur React Frontend avec lequel vous collaborez envoie une requête de son application à votre API.

Pourquoi ne pas faire du débogage en direct pendant que les fournisseurs de webhooks vous envoient des requêtes de webhooks, au lieu de passer des heures à lire leur documentation (souvent pas très bonne) ?

Si vous êtes sous Linux, exécutez ceci pour installer expose

curl -s https://expose.sh/sh/install-linux.sh | sudo bash

Si vous êtes sur un Mac, exécutez

curl -s https://expose.sh/sh/install-mac.sh --output install-mac.sh && sudo bash install-mac.sh

Pour Windows, rendez-vous sur la page d’installation et téléchargez le fichier exe.

Ensuite, vous pouvez exécuter expose est le numéro du port sur lequel votre application est exécutée (par exemple, expose 80). Des instructions plus détaillées sont disponibles dans la documentation.

Utilisez Vimium et testez vos applications web sans souris

Parfois, les tests manuels sont inévitables. Il est bien connu que le clavier est plus rapide que la souris. Normalement, la navigation sur le Web, y compris le test d’applications Web, exige que vous utilisiez votre souris. Mais plus maintenant !

Entrez dans Vimium. Il s’agit d’une extension disponible pour Chrome et Firefox qui vous permet d’utiliser des sites Web et des applications Web en utilisant votre clavier.

Cela signifie que vous pouvez effectuer différents types de tests manuels (comme passer une commande) entièrement avec le clavier et sans aucune entrée de souris, ce qui vous fait gagner du temps.

Comment devenir un développeur 10x

Selon la théorie du développeur 10x, les meilleurs développeurs sont 10x plus productifs que les pires.

Ces conseils peuvent améliorer considérablement votre productivité, mais ils ne suffiront pas à faire de vous un développeur 10x.

Le fait de partager ces conseils avec les autres développeurs avec lesquels vous travaillez peut potentiellement faire de vous un développeur 10x. En effet, vous n’améliorerez pas seulement votre propre productivité, mais aussi celle de toute votre équipe, voire de tout votre département d’ingénierie si vous travaillez dans une grande entreprise.

Selon le nombre de tâches manuelles automatisées au sein d’une équipe, cela peut représenter l’équivalent d’un ou deux membres supplémentaires de l’équipe en termes de gains de productivité.

N’hésitez pas à utiliser cet article comme matériel pour des conférences d’éclairage ou des déjeuners-conférences.

Conclusion

Il ne s’agit pas d’une liste exhaustive de ce que vous pouvez faire pour augmenter la productivité de vos développeurs, mais c’est un bon point de départ.

Ces mesures simples peuvent vous épargner des heures de travail inutile qui, avec le temps, peuvent se transformer en jours et en semaines.

Si vous avez trouvé cet article utile, pensez à le partager pour aider les autres.

Alfred
Alfredhttps://www.alfreddagenais.com
Salut ! Moi, c'est Alfred, développeur dans l’âme et explorateur de l'infini Web. Je suis constamment à la recherche de nouvelles idées et je pense que le développement web et l'informatique ont le pouvoir de transformer le monde. Je suis un grand admirateur de l'expérimentation, parce que c'est souvent de là que naissent les idées les plus créatives. Je suis convaincu que l'humour est un ingrédient clé de la vie, alors j'essaie toujours de glisser une blague ou deux dans mon code (pas toujours facile à comprendre, mais c'est le risque à prendre). En dehors de la programmation, j'aime passer du temps avec ma famille et mes amis, découvrir de nouveaux endroits et cuisiner des plats délicieux (du moins, j'essaie). Si vous voulez discuter de développement web, d'innovation, ou tout simplement échanger des blagues, n'hésitez pas à me contacter. Je suis toujours partant pour une bonne conversation !

Share this article

Recent posts

Popular categories

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici

Recent comments