NewCrafts Bordeaux 2019

Plongée subjective au sein des craftsmen bordelais

Le Software Craftsmanship... Ce mouvement qui aborde le métier de développeur comme celui d’un artisan du logiciel, au sens noble du terme. A l’image du Compagnonnage, il nous incite à bâtir nos cathédrales logicielles - ou plutôt nos chapelles, restons modestes - avec technicité, goût du travail bien fait, souci du détail. Le tout avec bienveilance et désir de partage. En somme, il s’agit d’aborder notre métier comme un esthète.

A Bordeaux, la conférence NewCrafts, propulsée par l’association Okiwi, s’inscrit dans ce mouvement. Ippon est partenaire de l’évènement. En voici un témoignage quelque peu subjectif.

Jour 1 - 04/10/2019

8h52, Cité Mondiale, quai des Chartrons. L’ensemble architectural en arc de cercle entièrement vitré, plus habitué aux costumes bancaires 3 pièces, semble aujourd’hui surpris de refléter le triptyque vestimentaire majoritaire : sneakers/jean délavé/polo. Manifestement les crafstmen sont aussi venus pour redéfinir les bonnes pratiques du dress code.

Follow the white rabbitMQ Alice... Quelque pas sur le parvis, première porte coulissante gauche, un escalator bruyant et des murs kaléidoscopiques nous accompagnent jusqu’au sous-sol (l’IT c’est toujours au sous-sol !). Remise de badge en 2-2, café en une gorgée, rafle de quelques goodies, direction l’amphi. On s’affale sur les beaux sièges rouges et relâche les muscles pour laisser un maximum de débit au canal [tympan-cerveau].

9h00. Ouf. Nous voici fins prêts pour la keynote… In English sir ! Oui. Jean-Baptiste Dusseaut nous explique qu’aujourd’hui we re only gonna talk in English to respect all the speakers ! Les crafteux bordelais s’ouvrent au monde entier…

09:15 Felienne Hermans - How to teach programming (and other things)?

Fraîchement diplômée, Felienne a accepté un poste de professeur de code pour des enfants d’une dizaine d’années. Elle s’est donc naturellement interrogée sur le « how to teach code».

L’approche de son talk est simple : faire part de ses lectures sur le sujet, puis de son expérience. Elle commence donc par présenter et opposer certains courants de pensée en psychologie sur les méthodes d’apprentissage. Cite notamment Piaget et le constructivisme (laisser expérimenter sans guider). Empiriquement, elle retient un mode plus didactique (notamment la théorie par l’exemple). Elle souligne également certaines disparités en termes d’apprentissage : le déterminisme sexuel face à l’apprentissage des sciences, le contexte environnemental (notamment l’influence de la langue maternelle).

En résumé ? Pas encore de solution miracle à appliquer, les rouages du cercle vertueux motivation - skill restent à définir, voire à adapter à chaque élève…

Une heure qui passe vite, un support illustré agréable par son dépouillement et ses dessins enfantins. On sent beaucoup de bienveillance chez Felienne. Après debrief collégial, un des talks les plus appréciés de la journée.

10:15 James Watson - Building Resilient Event-Driven Services

Tout de flegme britannique vêtu, James nous présente l’architecture mise en place chez Adaptive pour adresser un besoin métier spécifique : le trading financier. Simplicité et separation of concern sont les maîtres mot dans un contexte à fortes contraintes techniques (traffic réseau conséquent, haute concurrence, obligations fortes de résilience et de rejeu, etc..). La solution est basée sur la librairie de messaging open source Aeron.

Cela fonctionne bien nous dit-il. Nous le croyons sur parole.

Pour information, une bonne introduction sur ces concepts est également disponible en français, par 2 membres organisateurs de l’évènement NewCrafts Bordeaux (tiens tiens…). C’est ici.

11:30 Kate Carruthers : Digital and Data Ethics - the Emerging Battleground

Kate présente ses travaux et ses convictions sur le sujet épineux de l’éthique dans les technologies émergentes, notamment sur la gestion de la donnée (big data), ou sur le pouvoir de décision laissé aux machines (IA, Bots, …).

Sur ce sujet, elle oppose clairement le courant libéral venu des Etats Unis (no control) avec le désir de régulation du reste du monde (exemple : RGPD européen). En tant que consultante pour le gouvernement australien, elle travaille sur la mise en place de chartes de bonne conduite.

Des slides très fournies, parfois impossibles à déchiffrer, mais un discours cohérent pour un message clair : sur le sujet de l’éthique, nos institutions centenaires doivent s’adapter rapidement face à des technologies de plus en plus prégnantes.

On le pressent bien : tout reste à faire.

13:30 Cyrille Martraire - modelling music for DDD practitioners.

Quoi de mieux qu’un peu de musique pour accompagner la digestion !

Cyrille présente sa création originale DIY de « guitare-piano » (1000 excuses, le nom officiel de cette création est passé aux oubliettes de ma mémoire) basée sur un arduino enveloppé dans une salière, un manche à balai et une led. Tant d’effort pour allier ses 2 passions : musique et DDD !

Il retrace habilement un pan de l’Histoire de la Musique pop du 20ème siècle : la miniaturisation des claviers jusqu’à l’avènement des synthétiseurs. Du piano à queue au moog, du monumental orgue d’église à l’orgue hammond, du mellotron au sampler. Il cite également l’apparition de la guitare amplifiée (Sans citer l’originelle Kinks - You Really Got Me ? Allez on lui pardonne…) et des nouvelles variantes de son qu’elle apporte avec ses pédales à effets. Une grande introduction qui pointe la face cachée de l’Histoire de la pop music : les tournées, ses road trips interminables, ses mini-vans inconfortables, son déballage quotidien de matos, et les tours de reins qui en découlent! Ce désir de portabilité qui a poussé à l’abstraction des concepts musicaux. Ou comment une révolution technologique a accompagné la propagation d’une révolution culturelle. Rien que ça...

Et nous dans cette histoire ? Une grande part de notre métier ne consiste qu’en cela : modéliser. Tout peut être considéré comme Domain. La musique ne déroge pas à cette règle : une mélodie peut être vue comme un ensemble de bounded contexts telle que la fréquence, la distorsion, etc. Avec le protocole MIDI comme contrat d’interface. L’instrument de Cyrille, si drôle soit-il, en témoigne.

Une conf énergique bourrée d’humour, vidéos youtube et pas de danse improbables à l’appui. Cyrille finit même par une roulade sur scène. On se marre et l’esprit se dévergonde, crée un lien improbable avec Boris Vian, son piano-cocktail (non modélisé à ce jour, avis aux amateurs) et ses fantaisies verbales. Au point de proposer un néologisme en guise de conclusion. Voici donc le refrainzumé (le résumé du talk par un refrain) :
Le DDD n’est qu’une excuse
Pour que Cyrille s’amuse

14:25 Bodil Stokke – Meeting with remarkable tries

A l’heure de la sieste, rien de mieux qu’une conférence sur les structures de données et leur efficience en termes de complexité de parcours, d’indexation, de coûts d’insertion, de split ou de jointures.

Bodil évoque le RRB tree (“relaxed radix balanced tree”), amélioration des Hickey trie ou autre Finger trees. Des implémentations RUST, Clojure existent déjà.

Outre la beauté du geste, l’enjeu est entre autres l’optimisation des coûts de l’immutabilité dans la programmation fonctionnelle. Sujet technico-technique s’il en est, l’exploit de Bodil est de vulgariser les travaux de recherche sur ces concepts de listes à travers des diagrammes simples à appréhender.

15:40 Emilien Pécoul - Category Theory: You Already Know It

Category theory ? Le nom peut faire peur aux non "matheux"… Une conférence pour vulgariser les concepts de base de cette théorie. On se rassure en découvrant que, comme Monsieur Jourdain pour la prose, nous utilisons déjà des monoïdes sans le savoir !

L’idée générale est de donner envie de creuser cette théorie (programmation fonctionnelle encore). Contrat rempli Emilien, nous y allons de ce clic.

16:40 Woody Zuill – Practical refactoring

Daddy, daddy Zuill, le papa du #noestimate et du mob programming, nous présente quelques concepts clés de refactoring sur du code legacy. Le tout en live coding.

Rien de bien nouveau, basé sur des principes déjà ouvragés et référencés*, eux-mêmes basés sur beaucoup de bon sens. La magie opère quand même. Woody est très drôle, Woody est humain. (« I miss my wife », attendant la fin de l’exécution des tests).

Un vrai show. On en aurait bien pris une ration horaire de plus !

*Refactoring: Improving the Design of Existing Code – Martin Fowler / Kent Beck

Jour 2 - 04/10/2019

Open forum time ! Idée originale s’il en est, la seconde journée s’articule autour d’une idée centrale : autonomie et partage. Ou comment les participants deviennent pleinement acteurs de l’évènement.

Le warm up commence donc autour d’un tableau : chaque participant peut proposer un/des sujet(s), le présente aux autres, choisit un créneau horaire et une salle. Libre à chacun d’y adhérer, de changer de salle en cours de route.

Seule obligation : soyons bienveillants, n’ayons l’air de rien.

En vrac : on évoque la programmation fonctionnelle dans nos langages objet traditionnels (.net, java), du bon usage des interface en POO, de nos relations en open space sous le prisme des théories de Bourdieu, des tricks des personnes habitués à dispenser des formations, de la mise en place du mob programming dans une équipe…

Conclusion

Deux jours denses, des conférences peuplées de passionnés prêts à échanger, entre l’infiniment grand (le recul sur notre métier, l’impact de ce que nous sommes en train de créer) et l’infiniment petit (focus techniques pointus).

Avec en trame de fond cette quête permanente : l’amélioration continue.

A l’année prochaine NewCrafts.