Comme je le disais dans un précédent article, je passe de plus en plus de temps dans des groupes de développeurs juniors afin d'apporter mon aide sur des problématiques techniques, ou des questionnements liés à la vie d'un développeur.

Mais je remarque assez régulièrement que certains débutants posent des questions sur le groupe sans même avoir pris le temps de faire une recherche sur le net au préalable, et c'est assez pénible.

Alors plutôt que d'envoyer un "RTFM" (Read the fucking manual) ou un lien "LMGTFY" (Let me Google that for you), je me suis dit qu'il serait plus constructif de faire un article sur ma méthode de recherche de solution, alors le voilà.

La liste suivante est numérotée pour une raison, l'idéal est d'utiliser ces sources de recherches à peu près dans le même ordre, comme un entonnoir pour cibler sa recherche.

1 - La documentation

En général, les personnes le mieux placées pour parler du fonctionnement d'une technologie, que ce soit une bibliothèque, un framework ou n'importe quel système, ça reste les personnes qui ont participé à sa création, et donc à sa documentation.

On pense souvent à la documentation lors de l'apprentissage d'une techno, ou lors de la construction d'un projet, mais pas lors du débuggage alors que bien souvent elle recèle d'informations sur les choses possibles ou impossibles à faire avec l'outil en question.

Par exemple dans la documentation de VueJS, vous trouverez pleins de petits encarts avec des points d'exclamation qui pourront vous aider à chaque fois.

2 - Github (ou autre dépôt Git)

Si l'on pense à la documentation comme source d'information, on ne pense pas forcément au dépôt Git en lui-même car bien souvent les readme présents reflètent directement la documentation.

Mais il y a une chose extrêmement utile qui ne se trouve pas dans la doc, ce sont les "issues". Les issues sur Github contiennent la liste de toutes les questions posées et de tous les problèmes rencontrés par les utilisateurs de la techno ainsi que les réponses des développeurs ou des utilisateurs aguéris, c'est une vraie mine d'or.

Parfois vous pouvez aussi tomber sur un bug qui n'a pas encore été résolu par l'équipe, ce qui peut conditionner l'utilisation, ou non, d'une techno en particulier.

Petite astuce : Sur Github, lorsque vous recherchez une issue, par défaut ce dernier recherchera celles déjà résolues, personnellement je désactive ce filtre car certaines fois une issue non résolue contenant les bons mots-clés vous redirigera vers une issue résolue que vous n'auriez pas trouvé avec votre recherche !

3 - Stack Overflow

Je ne vais pas prendre la peine de vous présenter Stack Overflow, c'est sans aucun doute LA référence en matière de solutions pour des problèmes de programmation.

L'avantage de la plateforme est que la communauté veille à ce que les réponses soient correctement formatées et qu'elle contiennent un lien vers la documentation le plus souvent possible.

4 - Google et les blogs

Evidemment quand je dis "Google" je parle des moteurs de recherche en général, mais pour avoir utilisé DuckDuckGo pendant plusieurs mois, je me suis souvent retrouvé à ne pas suffisamment trouver de solutions techniques dans les résultats de recherche.

Les articles de blogs sont souvent une bonne source d'information car ils traitent souvent le sujet dans sa globalité, et même si la solution peut-être plus longue à trouver dans la page, elle sera souvent bien documentée.

Et puis comme vous êtes en train de lire cet article, je ne doute pas du fait que vous êtes habitué à lire quelques articles !

5 - Les groupes d'entraide et forums

Ça y est, on y arrive. Vous êtes passé par toutes les options du dessus, vous cherchez depuis longtemps mais vous n'avez toujours pas trouvé de solution ?

Alors peut-être est-il temps de poser la question sur un forum spécialisé, sur un groupe d'entraide, ou même à votre tour sur Stack Overflow !

Pensez à bien préparer votre question, à rajouter un bout de code pour le contexte, d'être poli, compréhensible et tout devrait bien se passer.

6 - Demander à un expert

Il m'arrive aussi parfois de ne pas arriver à trouver de solution, même en posant la question sur un forum (soit par manque de réponse, soit parce que les solutions proposées ne correspondent pas).

Pour éviter de rester bloquer trop longtemps je demande alors parfois à un expert de mon entourage de prendre un peu de temps avec moi pour passer en revue mon code et m'aider à trouver la solution au problème.

Et bien sûr lorsque c'est quelqu'un d'autre de mon entourage qui a besoin de mes lumières sur une autre techno, je suis ravi de donner un peu de mon temps (si possible) pour rendre service !

Normalement à ce stade, vous aurez forcément trouvé une réponse à votre problème, alors à bientôt sur le blog !

À propos de l'auteur

Hello, je suis Nicolas Brondin-Bernard, ingénieur web indépendant depuis 2015 passionné par le partage de d'expériences et de connaissances.

Aujourd'hui je suis aussi coach pour développeurs web juniors, tu peux me contacter sur nicolas@brondin.com, sur mon site ou devenir membre de ma newsletter pour ne jamais louper le meilleur article de la semaine et être tenu au courant de mes projets !


Photo par Mona Eendra sur Unsplash