La formation continue du développeur

Il est primordial lorsqu'on est développeur de rester "à jour", de garder un oeil sur ce qui se fait et les évolutions de notre métier (aussi bien concernant les produits, processus ou technologies que nous sommes amenés à utiliser au quotidien). Pour cela, faire de la veille est essentiel.

Mais quels sont les moyens pour faire de la veille ? C'est la question que s'est posée cet été Camille Roux et à laquelle il a consacré quelques articles. Je vais pour ma part répondre à cette question dans ce billet.

Pour moi, le minimum qu'un développeur devrait faire, c'est de suivre l'actualité de son domaine. Je parle de domaine au sens large, il ne faut pas rester cantonné à ses acquis, mais sortir de sa zone de confort. Bien que je sois un développeur utilisant essentiellement PHP, je surveille ce qui se fait du côté des autres langages tels que Java, Scala, Kotlin, Javascript, Go, Rust et bien d'autres encore.

L'objectif est de surveiller et de s'organiser dans une collecte d'informations sur les sujets concernés. Je fais donc énormément de veille afin de suivre l'actualité :

  • liée aux sociétés informatiques (éditeur logiciel, cloud, agence de développement, ...)
  • concernant les outils que je suis amené à utiliser (IDE, framework, langages, ...)
  • à propos des techniques pouvant être utiles (méthodes, architectures, ...)

Pour accomplir cette tâche, l'essentiel de ma veille se fait via la consultation de flux RSS en utilisant l'outil Tiny Tiny RSS. Ce dernier me permet d'organiser mes flux en différentes catégories. Généralement, j'ajoute un nouveau flux au fur et à mesure que je découvre de nouvelles sources d'information.

A mes débuts d'utilisation de Tiny Tiny RSS, j'ai commencé par ajouter et suivre de sites d'agrégation de contenu tel que Hacker News ou Human Coders. Lorsque je lis un contenu intéressant, j'ajoute ce dernier à mes flux à suivre. C'est ainsi que j'ai constitué la base des flux que je lis aujourd'hui.

C'est toujours aujourd'hui ce qui constitue l'essentiel de mes sources d'information. En parallèle, j'utilise Twitter. Ma timeline est essentiellement construite avec des personnes tweetant de manière régulière sur des sujets liés à l'informatique. J'utilise également les listes Twitter afin de catégoriser les personnes qui je suis. Pour m'aider dans cette tâche, je me sers de TweetDeck.

Trouvez du temps pour faire de la veille n'est pas forcément quelque chose d'aisé. Je suis persuadé que cela fait partie intégrante de notre travail de développeur et que de ce fait, il est tout à fait normal de consacrer une partie de son temps à cette tâche.

Pour me rendre au travail, je suis amené à prendre le train. Le trajet dure environ 30 minutes. Cela fait donc 1h aller-retour. C'est l'occasion de mettre ce temps à profit. Dans les transports je consulte donc mes flux et Twitter. Mais il m'arrive également fréquemment de lire des livres. C'est également une façon de se former et d'avoir des axes réflexions sur certains sujets. Sur les deux dernières années, j'ai pu lire ou relire des livres tels que : High Performance MySQL, The Clean Coder, Surveillance:// - Les libertés au défi du numériques, La Méthode Google, ou Free! Comment marche l'économie du gratuit.

Se tenir informé de ce qui se fait, des principes qui en découle et savoir quand utiliser ces principes, c'est déjà très bien. Mais avoir l'occasion de mettre en pratique ce que l'on a pu découvrir, c'est encore mieux ! Personnellement, j'adore écrire des petits bouts de code (pas nécessairement des projets complets ou fonctionnels) pour découvrir et utiliser une bibliothèque ou un framework.

Pour passer le cap de la théorie à la pratique, il y a bien tendu la documentation associée aux outils qui vous sera d'une aide précieuse. Mais on voit également de plus en plus de tutorials vidéo ou cours en ligne pour se former. De nombreuses plateformes hébergent ce type de contenu, parmi lesquelles: Youtube, Coursera, Udemy, Elephorm ou encore Tuto.com.

Il existe également des plateformes moins généralistes et donc plus spécialisées sur un domaine. Par exemple, l'année dernière j'ai pu approfondir mes connaissances sur le DDD, le CQRS et l'Event Sourcing au travers de Event Sourcery. Cette année, j'ai décidé de rattraper mon retard sur les technologies orientés frontend que j'ai pas mal délaissées en souscrivant à Egghead qui est une excellente plateforme pour se former sur l'écosystème Javascript (on y retrouve des cours complets sur React, Angular et Vue, mais aussi des vidéos d'introduction sur React Native, Electron, Elm, ...).

Après à chacun de trouver la méthode qui lui convient et la plus adaptée pour permettre d'acquérir les connaissances et les compétences voulues.