Des conférences techniques utiles

Quand j'ai commencé mes études d'informatique à l'IUT, j'ai suivi une UE (Unité d'Enseignement, nom pompeux pour un module de trois mois) intitulé « Base de données ». En ce lointain temps de candeur et d'innocence, j'ignorais tout de ce que pouvait être une « base de données » mais je ne demandais qu'à apprendre.

Incendies du site de lancement du feu d'artifice de Frontignan

Dés la première minute du premier cours, l'enseignant s'est jeté à corps perdu dans la description théorique et conceptuelle de ce qu'était une « dépendance fonctionnelle ». Puis au bout d'une semaine, nous avons abordé quelques aspects particulièrement ardus du langage SQL. À ce stade, je ne savais toujours pas ce qu'était une base de données, ni à quoi ça pouvait bien servir, mais ça paraissait pharamineusement complexe. Ce n'est qu'après plusieurs mois que se fit le déclic : une base de données, c'est juste un truc qui permet de stocker des données et de les récupérer quand on en a besoin.

Je me rappelle être resté pantois : nom d'un saucisson à trois bouts, pourquoi ne pas l'avoir dit tout de suite ? Pourquoi perdre des heures à décortiquer des mécanismes internes ultraspécifiques sans même avoir pris quelques minutes pour expliquer avec des mots simples de quoi on allait parler ?

Cette confusion, je la revis chaque fois que j'assiste à une conférence technique, et ça me désespère.

Les conférences techniques

Note : une conférence technique est une présentation orale non-interactive dont le sujet porte sur un aspect purement technologique, e.g une certaine bibliothèque javascript, un certain standard, une certaine façon d'architecturer son application, un certain langage, etc.

Je n'assiste pratiquement plus à des conférences techniques : le comment m'intéresse bien moins que le pourquoi. Et surtout, souvent, je m'ennuie.

Quand je décide néanmoins d'assister à une telle présentation (et je ne parle ici qu'en mon nom), voici quelques unes des questions que je me pose :

  • à quoi sert la techno, i.e quels problèmes vient elle résoudre ?
  • quelles sont les spécificités de cette techno par rapport aux technos concurrentes, i.e celles qui résolvent les mêmes types de problèmes ? Autrement dit, pourquoi privilégier cette techno plutôt qu'une autre plus conventionnelle et qui bénéficie de l'avantage d'être testée et éprouvée ?
  • quels pourraient être des exemples de cas d'utilisation concrets et non-triviaux ?
  • quels acteurs ont mis en place la techno avec succès ? dans quel contexte ? avec quelles contraintes ? pour résoudre quels problèmes ?
  • quel impact sur mon projet, d'un point de vue de l'accessibilité, des performances, de la sécurité, de la protection des données, de l'utilisabilité, du référencement ?
  • à quels coûts supplémentaires dois-je m'attendre ? Quel effort de formation et de maintenance à prévoir ?
  • qui a créé la techno et qui la maintient ? quel est son cycle de vie ? quel modèle de gouvernance ?
  • un peu d'historique : pourquoi la techno a-t-elle été créée ? d'après quelles motivations ? après avoir rencontré quels problèmes ?

Voici les éléments dont je n'ai strictement rien à foutre, ou plutôt que je pourrai trouver en cinq minutes avec une bête recherche sur le Web :

  • des exemples de code ;
  • les mécaniques et rouages internes ultraspécifiques ;
  • un salmigondis de termes conceptuels théoriques ;
  • des schémas ultracomplexes avec des flèches dans tous les sens ;
  • un exemple de cas d'utilisation trivial tiré du tutoriel ;
  • une démo en live qui ne marche pas ;
  • Netflix et Facebook font comme ça.

En gros, si à l'issue d'une heure de conférence, je ne sais toujours pas à quoi sert une techno ni délimiter les cas ou je dois ou ne dois pas la mettre en œuvre, j'ai vraiment perdu mon temps et j'ai très envie d'attacher l'orateur·ice sur une chaise pour lui infliger le best-of des discours de Manuel Valls.

Peut-être d'aucun·es me répondront qu'au final, une telle conférence ne serait plus vraiment technique. Pourquoi, après tout, serait-ce forcément une mauvaise chose de se concentrer sur un aspect technique ? N'en faut-il pas pour tous les goûts ?

Ma réponse sera très pragmatique : Parce. Que. C'est. Chiant. Une conférence, ce n'est pas un article technique qu'on peut survoler, dans lequel on peut faire une recherche, s'arrêter aux aspects qui nous intéressent les plus, faire une pause pour suivre des références, bricoler quelques bouts de code pour voir comment ça marche. Écouter quelqu'un·e parler pendant une heure est une activité fondamentalement ennuyeuse et aborder la technique sur ce mode là, c'est la pire façon qui soit.

Être orateur·ice est une grosse responsabilité, parce que si 150 personnes vous consacrent une heure et que cette heure est perdue, ça fait 150 heures de vies gâchées par votre faute (non, ça ne mets pas la pression).

Préparer une conférence technique nécessite, à mon avis, de se poser la question suivante : qu'est-ce que je peux apporter plus efficacement grâce au format conférence qu'avec un autre format (billets, vidéos, etc.) ? Le minimum, c'est de prendre un peu de hauteur par rapport à son sujet, non ?

Pour terminer, voici quelques exemples de conférences techniques qui me semblent intéressantes (j'en ai finalement trouvé très peu. Si vous avez d'autres idées, je prends).