Article original : How to Become a Better Programmer – Use a Skill-Building Planner

Par Amy Haddad

De nombreux programmeurs passent à côté d'une méthode simple pour améliorer leur progression en programmation.

Pensez simplement aux athlètes, aux entrepreneurs, aux étudiants, aux passionnés de santé et aux voyageurs. Ils font partie des groupes diversifiés de personnes qui utilisent un planificateur. Les planificateurs sont souvent utilisés pour stimuler la productivité afin de rester organisé et de prioriser les tâches.

Mais ce n'est que le début.

Un planificateur peut également vous aider à :

  • Rester sur le chemin direct – au lieu de s'égarer sur des chemins aléatoires et de rencontrer des impasses
  • Mesurer les progrès
  • Rester motivé
  • Vaincre le syndrome de l'imposteur

Si un planificateur offre autant d'avantages, pourquoi plus de programmeurs n'en utilisent-ils pas un ?

Ils devraient.

Peu importe si vous programmez depuis un mois, un an, une décennie ou plus, nous avons tous quelque chose en commun : il y a beaucoup à apprendre et nous devons continuellement nous améliorer dans notre métier.

C'est pourquoi les programmeurs de tous niveaux devraient utiliser un planificateur de développement de compétences. C'est un moyen de s'améliorer plus rapidement et de réellement apprécier le voyage. C'est une leçon que j'ai apprise à la dure pendant mes jours de coureuse de fond.

Né d'un besoin

Mon premier semi-marathon a été mémorable pour toutes les mauvaises raisons. Je me sentais terrible pendant la course parce que j'étais complètement hors de forme. De plus, comme je ne m'étais pas entraînée correctement, mon temps de finition était médiocre.

Cependant, l'expérience m'a appris une leçon utile que je continue d'appliquer à des compétences ultérieures, y compris la programmation : le pouvoir d'un planificateur.

Sachant que je pouvais obtenir un meilleur temps de course, je me suis engagée à faire un autre semi-marathon. J'ai fait beaucoup de choses différemment lors de la deuxième tentative, mais deux choses se démarquent : j'ai suivi un plan de course et tenu un journal de course.

Le plan était utile car il contenait tous les détails : le nombre de miles que je devais courir et à quelle vitesse les courir.

Le journal, qui consistait simplement en un bloc-notes et un stylo, servait un but qualitatif. Chaque soir, j'écrivais quelques notes sur mon entraînement de course : comment je me sentais pendant ma course et les facteurs qui auraient pu affecter ma performance, comme la nourriture que j'avais mangée ce jour-là.

Comme je l'ai appris plus tard, un plan et un journal sont des éléments critiques dans le processus de développement de compétences.

Ensemble, les détails de mon plan et les réponses de mon journal m'ont aidée à voir les progrès, à me tenir responsable de faire l'entraînement, et finalement à devenir une bien meilleure coureuse.

Je n'ai pas seulement largement dépassé mes attentes lors de mon deuxième semi-marathon, mais j'ai également apprécié le processus d'entraînement et la course elle-même.

En résumé, l'utilisation d'un planificateur et d'un journal en combinaison peut avoir un énorme impact sur les résultats que vous obtenez. Au cours des années suivantes, j'ai mis ce modèle de planificateur/journal à l'épreuve en développant d'autres compétences, y compris la programmation.

Ce que je peux vous dire, c'est ceci : incorporez le modèle de planificateur/journal dans votre routine de programmation si vous cherchez à obtenir des résultats de manière efficace et efficiente.

Plongeons dans ce modèle et voyons comment il peut bénéficier à votre progression en programmation.

Différente compétence + même processus = les résultats que vous voulez

Lorsque j'ai commencé à apprendre à programmer, je me suis rappelée de mes jours de course et des habitudes qui m'ont aidée à accélérer ma progression. Le modèle de planificateur/journal m'est venu à l'esprit. J'ai pensé que ce qui avait si bien fonctionné avec une compétence pouvait être réappliqué à une autre.

J'avais raison.

J'ai réappliqué cette combinaison de planificateur/journal (avec quelques ajustements) alors que je me lançais pour apprendre et m'améliorer en programmation. Une fois de plus, cela a fait toute la différence.

En tant que programmeuse, je tiens un compte détaillé de ce que je veux faire chaque jour et chaque semaine. Ces détails concrets constituent la partie planificateur de mon modèle de planificateur/journal. La partie journal consiste en des évaluations personnelles de mon travail et de mes capacités, telles que :

  • Les erreurs que j'ai commises pendant la journée et les leçons que j'ai apprises
  • Les stratégies d'apprentissage qui ont bien fonctionné
  • Les tactiques qui ont aidé ou nui à ma productivité

Ces réponses sont utiles car des commentaires similaires réapparaissent avec le temps. Je suis donc constamment à l'affût de schémas. Lorsque j'en repère un, c'est généralement un signe pour faire un ajustement. Ou, tout aussi important, je sais ce que je dois continuer à faire.

L'utilisation d'un planificateur et d'un journal en tandem peut vous aider à rester sur le chemin direct, à mesurer les progrès, à rester motivé, à auto-évaluer votre travail et vos capacités, et à vaincre le syndrome de l'imposteur.

Examinons chacun de ces points à tour de rôle. Pour simplifier, je désignerai ce modèle de planificateur/journal simplement par le terme « planificateur » par la suite.

Prendre le chemin direct

Les personnes qui développent des compétences ont souvent une expérience similaire : elles s'égarent sur de nombreux chemins et rencontrent répétitivement des impasses. Le développement de compétences devient chronophage, frustrant et épuisant.

Ce sont des raisons pour lesquelles un planificateur peut être si utile. Il peut vous aider à rester organisé et à concentrer votre temps et votre attention sur les choses qui comptent le plus. Penser de manière stratégique à chaque jour et chaque semaine peut vous aider à rester sur le chemin direct – et à contourner le nombre de chemins aléatoires et improductifs et d'impasses.

Ce n'est pas dire que vous ne vous sentirez jamais frustré ou bloqué en utilisant un planificateur. Mais voici la différence : utiliser un planificateur vous aidera à identifier ce que vous devez faire chaque jour et pourquoi. Cela peut vous aider à tirer le meilleur parti de votre temps de développement de compétences, à réduire considérablement la frustration et à diminuer le nombre de démarrages, d'arrêts et de redémarrages en cours de route.

Faites-vous des progrès ?

Vous travaillez peut-être très dur pour développer votre compétence. Mais la question est : faites-vous des progrès ?

C'est une question importante à laquelle répondre et une deuxième raison pour laquelle un planificateur compte. L'effort n'est pas suffisant lorsqu'il s'agit de développer des compétences efficacement. Vous devez avoir des moyens concrets de mesurer vos résultats pour vous assurer que votre travail acharné porte ses fruits.

Certaines compétences sont plus faciles à mesurer que d'autres. Si vous êtes un coureur, le temps qu'il vous faut pour courir cinq miles augmente ou diminue. Mesurer les progrès est donc relativement facile à évaluer.

Mais d'autres compétences, comme la programmation, rendent la mesure des progrès beaucoup plus difficile. Vous pouvez résoudre un tas de problèmes de programmation, par exemple, mais cela ne signifie pas nécessairement que vous devenez un meilleur résolveur de problèmes.

La solution est la suivante : concentrez-vous sur de petites avancées – c'est-à-dire des améliorations incrémentielles – chaque jour. L'idée est d'identifier une à trois choses que vous voulez faire ou accomplir aujourd'hui. Elles doivent être petites et gérables. Faire fonctionner le problème sur papier est un exemple de petite avancée. Identifier le bon algorithme à utiliser dans un problème en est un autre.

Identifiez les petites avancées que vous voulez faire chaque soir pour le lendemain ou dès le matin. Ensuite, à la fin de la journée, réfléchissez aux progrès que vous avez réalisés vers ces petites avancées, qu'il s'agisse de quelque chose que vous avez fait ou appris.

Supposons que le problème reste non résolu, par exemple. Mais vous avez identifié la bonne structure de données à utiliser. Ou vous avez appris une nouvelle approche que vous pouvez appliquer. C'est du progrès : vous avancez.

Ces petites avancées s'accumulent avec le temps et vous aideront à atteindre les résultats que vous souhaitez.

Identifier les petites avancées que vous faites chaque jour compte pour une autre raison : elles alimenteront votre motivation. Et c'est la troisième raison pour laquelle utiliser un planificateur compte.

Rester motivé

Créer de petites avancées chaque jour a fait une grande différence dans ma progression en programmation. Je peux voir les progrès – peu importe leur taille – se dérouler sous mes yeux, et c'est motivant.

Par exemple, quelque chose avec lequel j'ai lutté hier a beaucoup plus de sens aujourd'hui. Ou j'ai appliqué sans faille un concept que j'ai appris la semaine dernière. Ces petites avancées m'encouragent à me lever et à m'y mettre chaque jour.

Il y a une autre raison de se concentrer sur les petites avancées. Cela rend le développement d'une compétence beaucoup plus gérable. Identifier le bon algorithme à utiliser est gérable. Refactoriser une partie d'un programme est gérable. Écrire des noms de variables clairs et significatifs est gérable.

Ces petites avancées sont exactement comment les compétences sont construites : de manière incrémentielle, étape par étape, une petite avancée après l'autre.

Auto-évaluation

Nous sommes souvent si pressés de passer au problème ou programme suivant que nous oublions de prendre quelques minutes pour auto-évaluer notre travail.

C'est une erreur.

Prendre le temps de s'auto-évaluer compte : vous voulez vous assurer que vous courez sur le bon chemin de la manière la plus efficace possible. Le processus est plus facile que vous ne le pensez.

En tant que programmeurs, nous pouvons évaluer notre travail en « regardant en arrière », comme le mathématicien George Pólya le dit dans son livre, Comment le résoudre.

Regarder en arrière signifie « reconsidérer et réexaminer le résultat et le chemin qui y a conduit ». C'est l'étape à prendre après avoir résolu le problème et avant de passer au suivant.

L'idée est de résoudre un problème ou d'écrire un programme. Ensuite – et c'est le point important – avant de vous précipiter vers le problème ou programme suivant, regardez en arrière votre solution : apprenez-en, améliorez-la et consolidez vos connaissances.

Bien sûr, votre solution peut être correcte. Mais est-elle aussi efficace et efficiente ? En d'autres termes, votre solution est-elle la meilleure possible ? Y a-t-il de la place pour l'amélioration en utilisant une structure de données différente, de meilleurs noms de variables ou un autre algorithme ?

Répondez à ces questions en prenant le temps d'évaluer votre travail et vos capacités. Regarder en arrière peut vous aider à avancer.

Vaincre le syndrome de l'imposteur

Peut-être l'une des raisons les plus importantes de tenir un planificateur de développement de compétences est de vaincre le syndrome de l'imposteur. Beaucoup de gens luttent contre le syndrome de l'imposteur – y compris mon moi passé.

La racine de mon syndrome de l'imposteur, comme il s'est avéré, était que je jouais au jeu de la comparaison. Vous savez, lorsque vous vous comparez aux autres. Lorsque j'ai commencé à programmer, je me sentais souvent inférieure à ceux qui avaient des antécédents en mathématiques ou en ingénierie. Je me sentais également inadéquate lorsque je lisais des histoires sur la façon dont des gens affirmaient avoir appris à programmer « rapidement ».

Le jeu de la comparaison est un mauvais jeu à jouer car il dirige vos pensées et votre énergie vers des choses que vous ne pouvez pas contrôler. De plus, cela distrait de ce qui compte vraiment : vos progrès.

Il y a une alternative. Au lieu de vous comparer aux autres, comparez-vous à vous-même. C'est ce que j'ai entrepris de faire. C'est un petit changement qui peut avoir un énorme impact.

Une étape clé dans ce processus pour moi a été d'utiliser mon planificateur chaque jour. Cela a fait du jeu une compétition d'un seul : me comparer à moi-même. Je fais cela en planifiant chaque jour, puis en évaluant mon travail et mes capacités.

Un planificateur garde le voyage intérieur – en se concentrant sur les choses qui sont sous votre contrôle, comme votre effort quotidien, et les petites avancées que vous faites chaque jour.

Faites-le avec le Daily Skill Planner

Si vous avez lu jusqu'ici, alors il est clair que nous avons quelque chose en commun : nous voulons devenir de meilleurs programmeurs. Les idées présentées dans cet article vous aideront à le faire.

Si incorporer ces idées par vous-même est trop de travail, alors voici un outil qui fera le gros du travail pour vous : Daily Skill Planner. C'est un planificateur de développement de compétences pratique et concret que mon mari, Paul, et moi avons créé et conçu ensemble.

Le Daily Skill Planner contient un cadre en quatre parties qui vous aidera à développer des compétences de manière efficace et efficiente. Il est également conçu pour inclure les avantages abordés dans cet article :

  • Prendre la route directe vers le résultat que vous voulez
  • Mesurer vos progrès
  • Rester motivé en vous concentrant sur les petites avancées
  • Auto-évaluer votre travail et vos capacités
  • Vaincre le syndrome de l'imposteur

Que vous choisissiez ou non d'utiliser le Daily Skill Planner, j'espère que cet article vous a motivé à tenir un planificateur de développement de compétences – même s'il est aussi informel que d'utiliser du papier et un stylo, comme j'ai commencé à le faire il y a des années.

Alors voici mon défi pour vous : tenez un planificateur pendant une semaine ou deux et incorporez certaines des idées abordées dans cet article. Ensuite, à la fin de cette courte période, voyez simplement jusqu'où vous êtes arrivé. Je pense que vous serez impressionné par le résultat.

Programmeuse et écrivaine | howtolearneffectively.com | dailyskillplanner.com