Comment je fais ma veille ?

Posté le 2 mai 2023 - Astuces pour développeurs - Par Grafikart - Proposer une correction

Aujourd'hui, je voulais répondre à une question qui m'est posée assez souvent : Comment je fais de la veille ? Malheureusement, la réponse risque de vous décevoir...

En général, lorsque vous posez cette question sur Internet, les gens ont tendance à vous conseiller des sites de news spécialisés (comme l'agrégateur DailyDev, Medium, dev.to...) mais personnellement je ne suis pas forcément fan de ce type de site pour faire de la veille active. Le problème de ce type de site est qu'on se retrouve souvent spammé d'informations et ce n'est pas évident de faire le tri. On va lire des dizaines et des dizaines d'articles pour finalement ne trouver que peu d'informations réellement utiles.

Veille active

Les 2 seuls sites qui sont en lien avec mon activité que je suis sont Hacker News et Reddit.

Hacker News

Hacker News n'est pas forcément un site qui est spécialisé dans le développement web, on y retrouve des news sur un petit peu tout ce qui touche de près ou de loin à la technologie (Science, Astronomie, Biologie...). Ce n'est donc pas forcément spécialisé mais on va dire que si un framework ou une technologie web se retrouve en page d'accueil c'est qu'elle est relativement populaire.

Reddit

Reddit n'est pas forcément la source d'information la plus conventionnelle du monde. Pour ceux qui ne connaissent pas, c'est une sorte de gros réseau social où les contenus sont organisés par "sous-reddit" qui sont des sortes de sous-forums focalisés sur un sujet particulier et qui disposent de leur propre équipe de modération (par exemple, le sous-reddit /r/aww est entièrement destiné pour partager des trucs minions ou /r/trashpandas pour les fans des ratons laveurs). Dans notre cas, on retrouve aussi des sous-reddit en rapport avec le développement web comme /r/php, /r/javascript ou /r/webdev mais vous pouvez en chercher d'autres il en existe pour la plupart des langages et frameworks.

Les communautés discord

Enfin, le dernier canal que j'utilise pour faire de la veille, c'est le serveur discord du site qui a un salon #lien où les gens peuvent poster des liens, ce qui me permet de découvrir les choses populaires.

Veille organique

Mais concrètement, je ne passe pas mes journées à suivre les actualités et je n'ai pas vraiment une veille active intense. Je suis plutôt partisan d'une veille organique, c'est-à-dire de se tenir au courant des choses au fur et à mesure des besoins et de s'intéresser à des technologies et des approches que quand on rencontre une problématique dédiée plutôt que de le faire en amont.

Si je vous donne un exemple concret, imaginons qu'on me demande pour un projet de mettre en place un carousel. Je vais commencer à me renseigner et à chercher des librairies qui correspondent aux besoins pour le projet.

Ma manière de chercher

Je commence par rechercher des propositions sur internet. Typiquement, je ne vais pas forcément taper une recherche super intelligente, (ma recherche ressemble à "good library carousel javascript") et je vais tomber sur des résultats qui peuvent me donner des suggestions. Malheureusement, je trouve qu'aujourd'hui les moteurs de recherche sont très peu efficaces pour ce genre de demandes à cause de sites qui trichent sur le référencement et qui présentent peu d'intérêt. Aussi, j'utilise souvent des filtres par site comme site:reddit.com ou site:stackoverflow.com pour obtenir des résultats plus humains avec de vrais arguments. Dans ces résultats, je vais regarder les différentes réponses qui sont proposées, voir ce que suggèrent les gens et ça va me permettre de me créer une liste de candidats potentiels pour ma problématique.

En plus de la recherche, il y a aussi la possibilité d'utiliser des communautés de développeurs. Si vous êtes sur des discords ou des forums particuliers, vous pouvez poser la question ou voir si quelqu'un d'autre a déjà posé la question.

Enfin, si vous travaillez en équipe, vous pouvez aussi demander aux personnes qui travaillent avec vous si ils ont des suggestions et une expérience pour votre problématique.

Faire le tri

Maintenant que l'on a une liste d'outils qui peuvent convenir à la problématique et je vais chercher à réduire les candidats potentiels afin d'avoir un nombre plus réduit que je puisse tester. Par exemple, dans le cadre des carousels, je trouve des librairies comme Glide, Swiper, Embla, Slick, etc... Je regarde brièvement le fonctionnement général et j'élimine les éléments qui ne correspondent pas au fonctionnement du projet.

  • J'élimine les possibilités qui nécessitent une dépendance que je ne souhaite pas (par exemple jQuery).
  • J'élimine les choix qui ne semblent pas avoir la ou les fonctionnalités qui sont importantes pour le projet.
  • J'élimine aussi les projets qui possèdent beaucoup de problèmes (issues) et qui ne semble plus actifs.
  • Je regarde brièvement le fonctionnement pour voir si l'approche utilisée me convient.
  • Je regarde aussi la présence d'une licence spécifique.

Au fur et à mesure je note les points importants associés aux différentes librairies pour garder une trace des recherches déjà faites. Si à la fin de ce tri il reste plusieurs candidats je vais utiliser celle qui me semble la plus simple à utiliser ou me baser sur les retours d'expérience que j'ai pu voir.

Affiner avec l'expérience

Maintenant que j'ai fait mon choix je vais commencer à le mettre en place pour mon projet et les projets à venir. Avec cette mise en pratique je vais affiner ma compréhension de l'outil mais peut-être découvrir aussi des limitations et des problématiques spécifiques. Cela peut m'amener parfois à reconsidérer mon choix et à tester une autre solution si c'est nécessaire (c'est pourquoi il est important de noter ses découvertes pour s'y référer plus rapidement par la suite).

De cette manière-là, avec l'expérience, je vais être capable d'affiner mes connaissances vis à vis de la problématique initiale et je serai plus efficace dans le futur.

Avantage

Cette manière de faire la veille offre selon moi plusieurs avantages.

  • Elle se fait en même temps que le temps de travail, il n'est pas nécessaire d'allouer un temps spécifique en dehors des heures de travail.
  • On ne découvre que ce dont on a besoin, cela évite le bruit par rapport à la veille active.
  • La pratique permet de mieux mémoriser les choses.

Aussi, la plupart des technologies évoquées sur ce site sont issues de ce type de veille et correspondent à des situations que j'ai pu rencontrer dans mon expérience professionnelle.

Ne pas se disperser

Pour ceux qui sont un petit peu stressés vis-à-vis de la veille et qui se disent

Je vais devoir passer mes soirs et mes week-ends à travailler en plus pour apprendre de nouvelles choses

C'est à mon sens une mauvaise perception du problème qui est perpétué par certains exemples que l'on peut voir en ligne. Mis à part le cas où vous voulez apprendre une chose complètement différente (apprentissage d'un nouveau langage par exemple) la plupart du temps votre veille va se faire au fil de votre expérience et de vos besoins.

Aussi, au début il est important de vous focaliser sur les bases sans chercher à apprendre tout sur tout. Trop se disperser initialement va être contreproductif car découvrir des outils sans comprendre la problématique qu'ils résolvent limite dans l'apprentissage.

Pour donner un exemple plus concret, je vois certains apprenants qui commencent à s'intéresser à des organisations de codes spécifiques sans forcément avoir suffisamment pratiqué pour comprendre les problématiques de leur organisation actuelle. Il est important de commencer à visualiser les problèmes pour savoir ce que l'on va rechercher et ce qui va être important dans les solutions que l'on peut découvrir.

Discutez !

Enfin, ne négligez pas la capacité de travailler en équipe (que ce soit l'équipe de votre projet, ou plus largement une communauté). Chaque développeur a une expérience différente et il ne faut pas hésiter à demander des conseils aux autres (quel que soit le niveau) pour découvrir des choses que vous ne connaissez pas.

Ne restez pas dans votre coin ! Un bon développeur n'est pas une personne qui est capable de répondre à toutes les problématiques tout seul, c'est aussi une personne qui est capable de rechercher sur internet ou demander pour étendre ses connaissances et s'améliorer.

Ne vous mettez pas la pression en comparant vos connaissances à celles des autres. Il est surtout important d'être capable d'apprendre et de découvrir de nouvelles choses quand les problèmes se présentent.