Un rituel entre partage et excellence

Une grande salle, plutôt zen. Des ordinateurs, plutôt nombreux. Un défi ou tout autre problème algorithmique à résoudre, plutôt complexe. Sans oublier un animateur prêt à ouvrir la voie et des développeurs passionnés avec une insatiable envie d’apprendre et d’échanger ! Vous avez sous les yeux tous les ingrédients du « coding dojo ». Fabien Hiegel, développeur dans l’usine digitale e.Voyageurs SNCF, vous explique l’intérêt de cet exercice tout droit inspiré de l’univers des arts martiaux asiatiques !

Dis-nous Fabien, qu’est-ce que le « coding dojo » ?

« Le « coding dojo », c’est un moment d’échange et de partage entre plusieurs développeurs qui souhaitent relever ensemble un défi de programmation. Et ce, dans le but d’apprendre et progresser dans le métier de développeur ! Le défi peut être un problème algorithmique à résoudre, une pratique à laquelle s’entrainer, ou un besoin à implémenter, selon nos sujets du moment.

Mais alors, est-ce plutôt une instance de partage ou bien un exercice appliqué ?

« Les deux ! L’objectif du « coding dojo » est de fournir un environnement sain pour travailler nos pratiques et nos savoir-faire, sans s’intéresser forcément au fond. Il est possible de réaliser un « coding dojo » sur une tâche d’un projet concret, mais ce n’est pas recommandé.

 

coding dojo

Pourquoi recommandes-tu de ne pas se concentrer sur un projet concret ?

« Au quotidien, notre travail en tant que développeur nous demande de nous concentrer sur la valeur métier de ce que nous pouvons apporter au logiciel : nous travaillons essentiellement sur le « quoi ». Mais pour améliorer notre productivité et la qualité de ce que nous produisons, nous devons travailler la pratique, c’est-à-dire le « comment ». Ce que cet exercice permet de faire.

Il s’agit donc de partager des savoir-faire.

« Oui, mais aussi du savoir-être. Si vous pratiquez le « Software Craftsmanship », vous reconnaîtrez probablement la phrase suivante :

En tant qu’aspirants Artisans du Logiciel, nous relevons le niveau du développement professionnel de logiciels par la pratique et en aidant les autres à acquérir le savoir-faire.

Il s’agit de la première phrase du Manifesto du « Software Craftsmanship ». Il est question de pratique, d’entraide et de savoir-faire, qui sont les fondamentaux du « coding dojo ».

Ce dont elle ne parle pas, c’est du savoir-être, et des attitudes que peuvent mutuellement se transmettre les participants. Quand on cherche à mettre en place une communauté de professionnels, ce partage du savoir-être est tout aussi important que le savoir-faire. Le « coding dojo » est l’un des rares moyens favorisant ces échanges.

Est-ce qu’il existe une seule façon de procéder au « coding dojo » ?

« Le déroulé le plus classique : les participants travaillent sur l’exercice de la séance, parfois en binômes. Il existe également le kata préparé, où un participant présente sa manière d’aborder l’exercice à tous les autres. Quel que soit le format, il y a deux fondamentaux à respecter : le code produit doit être présenté en séance, et il faut prévoir un temps de discussion et d’échanges.  Ensuite, il y a plein de nuances et de façons de l’appliquer : TDD (Test Driven Development), Pair Programming, Mob Programming, Clean Code… Je m’arrête là au risque de vous perdre, vous avez déjà les bases !

C’est bon, nous avons les bases. Pourquoi es-tu convaincu de l’utilité des « coding dojo » ?

« Ce que j’apprends en m’entrainant sur des «katas de code», par des lectures de livres et d’article ou en assistant à des conférences ne peut pas s’appliquer tel quel dans mon quotidien. Mon savoir récemment acquis est une opportunité pour nos projets, mais aussi un risque. De plus, mon équipe n’adhère pas nécessairement avec mes idées toutes neuves.

Portrait Fabien Hiegel

 

Comment faire pour faire mûrir mes idées toutes neuves ? Comment savoir si le nouvel outil présenté à la dernière conférence, ne solutionnerait pas un problème actuel ? Comment faire pour échanger avec mes collègues sur les pratiques ?

Une solution ce serait de favoriser le partage, s’échanger les lectures, essayer les nouveaux outils et les nouvelles pratiques, de pouvoir échouer dans un environnement sécurisé et de réessayer jusqu’à exceller. Le « coding dojo » y répond parfaitement !

Super ! Une dernière question : quel est donc le lien avec les arts martiaux ?

« Le terme dojo est originaire d’Asie et exprime un lieu où se pratique les katas qui sont des mouvements ou séries de mouvements qu’on se force à répéter jusqu’à automatisation du processus. Cet exercice se veut être une instance régulière, ritualisée et surtout… Il ouvre la voie vers une recherche d'excellence et de maîtrise de soi !

Rien que ça ! Merci Fabien.


Partager cet article

Nombre de "j'aime" pour l'article Nos développeurs s’entrainent lors de « coding dojo » ! . Ajoutez un "j'aime".


Soyez le premier à contribuer !

Se connecter ou s'inscrire pour poster un commentaire

Nous avons sélectionné pour vous