Apprendre + Équipe = Programmes


Une équipe qui fonctionne bien apprend


Comme beaucoup de personnes dont le métier est en partie de résoudre des problèmes, j’ai tendance à… justement, chercher les problèmes. Chercher ce qui ne fonctionne pas, chercher ce à quoi je pourrais bien m’attaquer.

C’est souvent utile, mais à la longue ça peut créer un biais, une croyance que tout va mal puisqu’à chaque fois que je cherche des problèmes j’en trouve. A minima ça peut donner cette impression vu de l’extérieur.

Aujourd’hui j’ai envie de changer un peu cette vision. Pour ça je me propose de faire l’exercice suivant, répondre à la question :

Et là, quelle surprise ! Plein de souvenirs me viennent en vrac ! Tellement en fait que je ne sais pas si je vais pouvoir les organiser de façon cohérente. Si j’ai le temps et le courage je ferai plusieurs articles, mais commençons par un des points communs que j’ai trouvés dans les équipes que j’ai eu la chance d’intégrer.

Quand on s’apprend des choses

Dans mon expérience, dans une équipe qui fonctionne bien, les personnes ont régulièrement des conversations où elles s’apprennent des choses mutuellement.

Je repense à mon premier travail, chez Trivium Soft en 2000 / 2001. Je sors à peine d’école, et à mon arrivée, Frank m’explique plusieurs choses, dont :

Autant dire que j’ai eu plein de choses à apprendre dès les premiers jours, c’était costaud. Ensuite, Olivier est arrivé, et m’a fait lire des livres qui ont changé ma vision du métier. Le premier, c’était une série, la série "Effective C++" , de Scott Meyers. J’ai tout de suite accroché, ça a été une grosse surprise pour moi. Je ne savais pas qu’on pouvait lire des livres techs comme des romans ! Le deuxième c’était la traduction française de Extreme Programming Explained. Deuxième choc pour moi, je lisais une façon de développer des logiciels qu’on ne m’avait jamais apprise, mais dont chaque principe et chaque valeur me semblait tellement logique, tellement claire, que je me suis demandé pourquoi tout le monde ne développait pas ses logiciels comme ça ?

Je pense aussi à Christophe, qui me montrait comment fonctionnait ASP puis ASP.net, et Aziz et Vincent, qui me montraient un peu de SQL. Ou Sylvain et Pierre, qui me parlaient de leurs propals en cours. Merci !

Je repense à mon deuxième travail, chez F4, avec beaucoup plus de personnes. Et encore énormément d’échanges enrichissants au quotidien.

Eric me montrait Vim et sa touche *, ou me demandais mon avis sur tel ou tel pattern de code. Ou il me racontait comment il testait les drivers de cartes vidéos chez AMD, en faisant des diff d'image. C'est aussi Éric qui m'a conseillé de passer une tête au Dojo de Programmation de Paris.

Ludovic m’a patiemment expliqué tellement de choses ! Un vrai puis de science, et une grande patience. Quelle jubilation quand il me disait avec un sourire coquin : "Et non! En fait, regarde mieux !…"

Et Fabrice, quand on développait deux jeux différents, en regardant chacun notre écran, tout en échangeant des tonnes de blagues par jour ! Quelle rigolade, tout ça sans ralentir. Et parfois il me montrait une astuce en assembleur, "regarde, là tu vois dans eax c’est la valeur de retour de l’appel".

Je repense aussi à Johan, qui m’a montré Haskell et fait entrevoir qu’il est possible de développer sans aucune mutation. Ou qui m’a montré comment je pourrais coder une feature en C++… en la codant devant moi tranquillement pendant qu’il parlait.

Ou Steeve, qui juste après m’avoir fait la super blague pourrie de dire qu’il appelait "leopard" toutes ses variables texte (comme ça ça faisait "string leopard = …" 🥁), me demande une code review sur une partie pas triviale, et sur laquelle je n’ai rien trouvé à redire. Tout était nickel et extrêmement clair (pas de string léopard en vue obviously).

Quelle belles leçons toutes ces personnes m’ont données !

Je pourrais aussi vous parler de toutes les conversations enrichissantes que j’ai eues et que je continue à avoir dans mes jobs suivants et actuel, l’important est que quand je fais un retour en arrière sur ce qui fonctionne dans les équipes que j’ai eu la chance d’intégrer, elles ont toutes ceci en commun : il y est toujours facile voire encouragé de poser des questions, et d’apprendre des unes et des autres.