Première conférence de l'année : le Git Merge 2019

Du 31 janvier au 1ᵉʳ février 2019, j'ai pu participer au Git Merge 2019 à Bruxelles. Si vous ne savez pas de quoi il s'agit, c'est une conférence entièrement dédiée à Git et aux méthodes de travail autour de celui-ci. Tous les bénéfices de la conférence sont reversés à la Software Freedom Conservancy.

Comme vous semblez apprécier les articles #devlife et #devtravel, je me suis décidé à vous raconter un peu comment s'est passé mon court séjour dans le pays de Jacques Brel.

J'ai écrit un article détaillé sur les talks de la conférence (journée du 1ᵉʳ) pour Welcome To The Jungle. Mais, il a été supprimé, je vous l'ai donc remis sur le blog. N'hésitez pas à le consulter pour un compte rendu plus complet et technique (conf par conf) mais beaucoup moins personnel que celui-ci.

Cet article est aussi adressé à ceux qui sont extérieurs au milieu de l'industrie tech et qui se demandent de quoi l'on parle lorsque l'on dit que l'on va a une conférence. Je pense notamment à nos familles et amis — qui dans mon cas ne sont pas des développeurs. J'espère vous montrer un peu plus de ce que l'on ne vous dit pas parce que pour nous, c'est normal.

Le voyage

J'ai choisi de voyager en train pour cette conférence. C'est relativement pas cher et rapide. J'ai fait le voyage Lyon-Bruxelles en TGV.

Si le retour s'est bien passé, l'allée a été horrible. Train en retard de 1 h 30, gare de destination finalement non desservie, train de remplacement en retard, etc.

Je suis heureux que ce ne soit pas moi qui aie dû récupérer les clés de l’Airbnb et que je n'ai pas essayé de prendre un train le jour de la conférence. Choisir un billet la veille de votre conférence peut vous sauver la vie même si cela signifie qu'il faut payer une nuit de plus.

Le logement

J'ai fait le déplacement avec un de mes collègues. Comme nous restions deux jours et deux nuits sur place pour la conférence — le jour de workshop + le jour de talks — il nous fallait un endroit où dormir.

Par contre, comme nous allions passer les journées entières sur le lieu de la conférence, nous n'avions pas non plus besoin d'un logement luxueux.

Nous avons donc regardé les Airbnb qui était à moins de 30 min à pied de la gare, qui possédaient deux lits et des horaires flexibles d'arrivée et de départ. Bruxelles étant la capitale du pays, nous ne nous attendions pas à ce que ça ne coûte rien.

Nous avons trouvé un appartement entier à 20 min à pied de la gare Bruxelles MIDI, à 15-20 min à pied du lieu de la conférence et avec deux chambres. Praticité maximum : nous avons réservé tout de suite.

Pièce salon-cuisine du Airbnb

Eh bah... J'ai pu l'avoir en promo, cet appartement est vraiment un bon plan. Il est magnifique et confortable en plus d'être bien placé.

Ma chambre méga confortable

La conférence

La conférence a été financée par les grandes entreprises dans le monde de Git — GitHub, GitLab, Bitbucket — mais c'est GitHub qui s'est occupé de l'organisation.

L'endroit

Elle avait lieu à The Egg, un centre de conférences et réunions. La devanture ne laisse pas deviner ce qu'il se passe à l'intérieur et le Git Merge n'était annoncé que par deux simples drapeaux aux couleurs de la conférence.

À l'intérieur, par contre, c'est tout autre chose. De grands espaces, de belles pièces et une décoration que je qualifierais d'assez particulière. Je ne parle pas de la décoration de l'évènement prévue par GitHub mais de celle d'origine du lieu.

Les autres espaces intérieurs étaient principalement de style industriel. Ce qui va parfaitement à ce type d'évènement. GitHub a rajouté sa décoration par-dessus et nous voilà avec quelque chose de plutôt sympathique.

La nourriture

Comme pour toute conférence de développeur qui se respecte (en tout cas comme toutes celles que j'ai faite jusqu'à maintenant) la nourriture n'a pas manquée. Les petits-déjeuners, déjeuners, goûters, en-cas, etc. étaient servis à volonté et il en va de même pour les boissons avec une mention spéciale pour le café servi à toute heure du jour et de la nuit (pour la nuit, j'abuse un peu, c'est vrai).

J'ai été agréablement surpris par la nourriture de cette conférence, car on ne nous a pas servis les habituelles malbouffes qui vont avec le cliché du geek. J'avais l'habitude des conférences où on pouvait trouver des fontaines de chocolat, des bars à bonbons, les buffets de burgers, de hot-dogs, de frites et les stands de barbapapa.

En fait, l'industrie tech à beaucoup évoluée et changée ces dernières années. Sur les réseaux sociaux, la mode est aux développeurs "healthy" qui prennent soin d'eux, qui font du sport, qui prennent le temps de se reposer et de dormir. Le choix du buffet était donc plutôt cohérent avec cette nouvelle tendance.

Je ne vous dis pas qu'il n'y avait que des choses bonnes pour la santé mais on a mangé un repas "normal" en terme d'équilibre. Par contre, en terme de qualité tout était excellent ! Ils n'ont pas lésiné sur les moyens et ça s'est senti en bouche.

Les talks

Comme je l'ai dit plus haut, j'ai déjà écrit un article sur le contenu des talks de cette conférence. Cet article résume chaque talk du 1ᵉʳ février sans faire de distinction.

J'en ai quelques-uns que j'ai préféré bien-sûr. Voici ma liste dans le désordre :

  • The Future of Free Software de Deb Nicholson
  • How a Git-Based Education Cultivates More Resilient Developers de Ben Greenberg
  • The Art of Patience: Why You Should Bother Teaching Git to Designers de Belén Barros Pena
  • The What, How, and Why of Scaling Repositories de Johan Abildskov

Ce que je n'ai pas précisé dans l'article récap, c'est qu'il y avait un autre jour de conférences dédié aux workshops. En gros, ce sont des talks comme les autres sauf qu'il y a des travaux pratiques avec.

Je me suis inscrit à cette journée même si les workshop étaient pour la plupart orientés débutants. Je n'ai effectivement rien appris sur le plan technique, mais j'ai découvert de nouvelles façons et outils pour expliquer Git aux autres et j'ai pu voir comment d'autres développeurs utilisent Git, quelles sont leurs astuces.

Chaque workshop dure une heure. On est occupé jusqu'à 17:30. Comme à l'école.

Visualizing Git

Katrina Uychaco (de GitHub) a commencé fort avec ce premier workshop. Il était accessible et directement adressé à ceux qui ne connaissaient pas Git. Elle est repassée sur quasiment toutes les commandes principales de Git, il s'agissait d'une bonne base pour que tout le monde puisse suivre les workshops suivants.

Pour illustrer ses propos, elle a utilisé un outil qui émule le fonctionnement de Git. Cet outil fait un schéma en temps réel d'un repo en fonction des commandes que l'on tape.

Et c'est là la grande force de son workshop. Parce que en termes de commandes et de résultat visible de celles-ci, je n'ai absolument rien appris. Par contre, grâce à son outil de visualisation, elle a réussi à montrer et expliquer des choses qui ne se voient pas habituellement.

Par exemple le résultat réel de :

$ git reset HEAD~
$ git commit
$ git push -f

Est-ce que vous savez ce que produisent ces commandes sur votre repo ? Et, sur le repo distant ? Allez tester cet outil !

Git hooks, aliases, and bears oh my

Atlassian reprend la suite avec Mike Corsaro aux commandes.

Pour expliquer comment fonctionnent les alias de Git, ses hooks, etc. il a utilisé plusieurs exemples assez perchés, mais qui avait le mérite de bien montrer les capacités de ces fonctionnalités de Git que tout le monde n'utilise pas tous les jours.

Dans la liste des exemples on retrouve :

  • un alias qui te dit ce que tu as fait la veille pour le standup meeting
  • un hook qui analyse le sentiment du message de commit et bloque le commit si le sentiment est trop mauvais
  • un hook qui analyse le sentiment sur le visage du codeur au moment du commit et qui ajoute dans le commit un emoji représentant ce sentiment.

Git Legit

Dans ce workshop, Pauline Vos voulait nous montrer que lorsque nous rencontrons des problèmes avec Git, c’est généralement parce que nous n'utilisons pas bien cet outil.

Elle a sélectionné plusieurs problèmes que les développeurs rencontrent dans leur travail lors d'une journée type. Pour chacun d'eux, elle explique pourquoi on rencontre ce problème et comment le résoudre en connaissant et utilisant mieux Git.

Ce workshop est similaire au suivant, mais il aborde le sujet en se basant sur l'expérience de Pauline en tant que développeur.

Ten Git problems & how to fix them

Briana Swift travaille comme formatrice pour le compte de GitHub. Elle travaille avec tous types de profil, mais il s'agit souvent de débutants dans l'utilisation de Git.

Elle s'est rendu compte que les problèmes que les gens rencontraient était souvent les mêmes. C'est le sujet de son workshop. Elle a répertorié dix problèmes que ses étudiants rencontrent et explique comment les résoudre.

Ce workshop est similaire au précédent, mais il aborde le sujet en se concentrant sur ce que les étudiants demandent le plus souvent.

Git Workflows

J'attendais ce workshop avec impatience ! Comme vous le savez, les workflows Git sont un grand sujet pour moi. Je suis toujours impressionné par la possibilité qu'a Git à multiplier par 10 la productivité d'un développeur s'il suit un workflow bien défini.

Pour chaque workflow sur lequel il s'est arrêté, Johan Abildskov demandait à la salle si elle avait des arguments pour et des arguments contre. Ensuite, il affichait ses propres listes d'arguments et il notait le workflow selon trois critères :

  • Est-ce que le workflow est simple ?
  • Est-ce qu'il nécessite beaucoup d'outils pour fonctionner ?
  • Est-ce qu'on a l'impression de mettre ses pieds dans sa bouche quand on l'utilise ?

Oui, ce sont des critères plutôt personnels et subjectif. Si vous souhaitez connaitre son verdict : les deux premiers sont respectivement le GitHub flow et le Gitflow. Il a une nette préférence pour le Github flow car beaucoup plus léger.

Étant devops il explique que le GitHub flow s'adapte mieux à du CI/CD que le Gitflow. Gitflow est plus adapté à du cycle en V ou en tous cas à des déploiements version après version.

Les gens, les rencontres

Les conférences ne s'arrêtent pas à apprendre des trucs pendant les talks, manger et avoir une belle déco. Le dernier point important est la rencontre avec d'autres développeurs.

Comme le Git Merge est une conférence internationale, j'ai pu rencontrer des développeurs de plusieurs pays que je n'aurais sûrement jamais rencontrés autrement.

Par exemple, parmi les speakers (les conférenciers) il y avait : Ben Greenberg d'Israël, CB Bailey du Royaume-Uni, Johan Abildskov du Danemark, Aniket Subhash Kadam d'Inde, Pauline Vos de Hollande, Briana Swift d'Allemagne et la plupart des autres venaient des États-Unis.

J'ai pu aussi manger et discuter avec deux des développeurs de Google qui sont également des core contributeurs de Git : très instructif. J'ai bu une bière avec un ingénieur de GitLab. J'ai aussi pu partager un repas avec le principal développeur et fondateur de SourceGraph.

J'ai énormément apprécié cette conférence et j'espère que vous avez apprécié ce résumé non exhaustif.