Développement de logiciels communautaires : favoriser la contribution par le mentorat

Les contributeurs novices ou ponctuels peinent parfois à trouver de l'aide dans le développement de leur logiciel. Le secret réside dans l'établissement de liens interpersonnels.

Dans toutes les communautés de développement, et en particulier dans les communautés de logiciels libres, il existe une forme de méritocratie. Les contributeurs les plus talentueux, les plus anciens et les plus prolifiques y occupent une place privilégiée.

Et cela se comprend, car les principaux membres de la communauté de développement ont un fort impact sur l’orientation du projet et sur le choix des fonctionnalités prioritaires au niveau du noyau.

Mais cette gouvernance des plus habiles, aussi naturelle et compréhensible soit-elle, a un effet secondaire : elle laisse peu de place aux personnes plus novices ou qui souhaitent ou doivent contribuer de manière plus ponctuelle. Lorsqu’elles s'y essaient, leur contribution ou leur demande d’assistance risque de rester au bas de la pile, jusqu’à ce qu’une situation similaire se présente et attire l’attention d’un membre plus visible/respecté/qualifié de la communauté.

Pour atténuer les effets de ce phénomène, il est essentiel d’établir des relations humaines solides et de créer un environnement de mentorat favorable.

Cette observation repose sur une généralisation, donc elle n’est peut-être pas tout à fait exacte, mais nombreux parmi ceux qui contribuent sur le long terme à des projets de développement sont des autodidactes, dont le style d’apprentissage leur permet de se débrouiller seuls, d’apprendre et de créer quelque chose de nouveau. C’est une excellente façon d’apprendre, mais tout le monde ne fonctionne pas de cette manière, et certaines personnes ont besoin d’aide pour gérer un nouveau projet.

Selon Statista, il y avait 23 millions de programmeurs dans le monde en 2018. Au cours des cinq dernières années, la population mondiale des développeurs a augmenté de plus de 20 %, pour atteindre 27,7 millions en 2023. À plus long terme, en 2024, ce nombre atteindra 28,7 millions de personnes. Cela signifie que, chaque année, des millions de développeurs rejoignent le marché mondial, contribuant à différents niveaux à de nouveaux logiciels, de nouveaux modules, de nouvelles fonctionnalités destinées à renforcer notre économie numérique.

Ces nouveaux développeurs et développeuses arrivent sur le marché avec des antécédents et des styles d’apprentissages différents. Dans ce vivier, on trouve de brillants autodidactes, mais aussi un certain nombre d’apprentis qui auront besoin d’apprendre auprès de professionnels expérimentés pour développer des compétences techniques et non techniques, relever des défis, gagner en confiance, trouver des opportunités de développer leur réseau, chercher une orientation de carrière et se préparer à la croissance personnelle…

Tout le monde ne peut pas se permettre de s’investir au long cours dans une communauté de développement

Beaucoup seront probablement confrontés à un phénomène très courant dans le monde du développement de logiciel : il existe une tendance à se concentrer uniquement sur la fonction que l'on désire développer. Par ailleurs, certaines personnes ont du mal à passer d’une tâche à l’autre et veulent donc se concentrer sur une seule. 

C’est le cas de beaucoup de hackers et d’ingénieurs en général : vous avez un problème, vous voulez le résoudre et vous voulez travailler dessus jusqu’à ce que vous l’ayez résolu... Ce qui  laisse peu de place aux problèmes que les autres développeurs rencontrent sur leur chemin.

Il est vraiment difficile de prendre le temps de résoudre les problèmes. On ne peut donc reprocher à personne de ne pas consacrer du temps à des investissements à long terme dans la communauté, parce qu’il n’y a pas d’urgence et qu’il n’y aura pas de retour sur investissement immédiat.

Se concentrer sur l’établissement d’une relation, et pas seulement sur les aspects techniques

Il est en effet courant de rencontrer des difficultés à obtenir de l’aide s’il n’y a pas d’impératif, de date butoir … ou une connexion émotionnelle.

La programmation en binôme permet de créer de telles connexions. 

Et l’un des domaines où la programmation en binôme brille est sans aucun doute le mentorat.

Il est important de se concentrer sur la construction d’une relation avant de commencer à déterminer les objectifs et les attentes. Les informations partagées sur la vie personnelle et les aperçus de la personnalité de l’autre permettent d’établir une perspective et un respect.

Plus important encore, ils contribuent à créer « le désir d’aider, de prêter main-forte ».

Il y a un aspect psychologique à cela : la programmation en binôme, ou simplement la collaboration, crée un sentiment de camaraderie. Vous voyez les difficultés que rencontrent les autres et il arrive même aux personnes qui semblent très expérimentées de rester bloquées ou de rencontrer un problème de débogage qu’elles n’arrivent pas à résoudre. Cela renforce l’empathie et met face à l’évidence qu’il s’agit en fait de résoudre des problèmes au long cours. 

Et cette aide qui vous a été apportée, vous aurez envie de la donner en retour, le moment venu, à la personne qui en a besoin. C’est d’autant plus vrai s’il existe un lien interpersonnel.

S’intéresser aux individus fait partie du jeu.