Aller au contenu
Riadh Mnasri

Lectures

Des livres qui ont changé ma façon de concevoir des systèmes, d'apprendre ou de gérer ma carrière, avec l'essentiel à retenir et comment je le mets en pratique.

A Philosophy of Software Design

John Ousterhout

L'essentiel à retenir

La complexité d'un logiciel vient des dépendances et de l'obscurité, pas de sa taille. Un « module profond » (interface simple, implémentation riche) vaut mieux que dix modules superficiels qui exposent chaque détail. Sur-découper le code (« classitis ») déplace la complexité au lieu de la réduire.

Comment je le mets en pratique

Sur chaque port hexagonal (Hexray, archi3), appliquer le test du module profond : une interface d'une ou deux méthodes qui cache une vraie complexité d'implémentation, plutôt qu'une interface qui expose chaque détail technique sous-jacent.

Learning Domain-Driven Design

Vlad Khononov

L'essentiel à retenir

Tous les sous-domaines ne méritent pas le même effort de modélisation : distinguer core (l'avantage concurrentiel réel), supporting et generic évite d'appliquer DDD partout par réflexe. Un modèle riche n'est justifié que si la complexité métier réelle en vaut le coût.

Comment je le mets en pratique

Avant de démarrer un projet en DDD comme MissionMatch, classer d'abord chaque sous-domaine en core, supporting ou generic, et ne réserver la modélisation DDD complète (agrégats, langage ubiquitaire) qu'au sous-domaine core.

Fooled by Randomness

Nassim Nicholas Taleb

L'essentiel à retenir

On confond systématiquement chance et compétence après coup (biais du survivant, narrative fallacy). Ce qui compte n'est pas le résultat d'un seul essai, mais la distribution de résultats qu'un modèle ou une stratégie prédisait avant l'événement.

Comment je le mets en pratique

Sur le risque de contrepartie (VaR, SA-CCR), ne jamais juger un modèle de risque sur un seul scénario réalisé : évaluer sa qualité sur la distribution qu'il prédisait, avant de savoir ce qui s'est effectivement passé.

The Art of Learning

Josh Waitzkin

L'essentiel à retenir

Waitzkin, ancien champion d'échecs devenu théoricien de l'apprentissage, défend la méthode des « petits cercles » : maîtriser un principe restreint en profondeur avant de l'élargir, plutôt qu'accumuler des techniques en surface. Une défaite bien analysée enseigne plus qu'une victoire.

Comment je le mets en pratique

Sur « un nouvel écosystème par an » (Rust, Go), appliquer les petits cercles : maîtriser en profondeur un sous-ensemble minimal du langage avant d'élargir, plutôt que survoler l'ensemble de la documentation.

Company of One

Paul Jarvis

L'essentiel à retenir

La croissance n'est pas un objectif par défaut : rester volontairement petit peut être un choix stratégique rationnel, pas un manque d'ambition. Optimiser pour la résilience, l'autonomie et la qualité du travail livré plutôt que pour l'échelle.

Comment je le mets en pratique

Dans le choix des missions freelance, refuser explicitement la pression à « scaler » (embaucher, sous-traiter) quand rester seul sert mieux la qualité du travail livré, un principe qui rejoint directement ma note sur le passage freelance.

The Staff Engineer's Path

Tanya Reilly

L'essentiel à retenir

L'influence technique senior repose sur trois piliers : la vision technique partagée, l'exécution, et le « glue work », le travail de coordination invisible qui ne produit pas de ligne de code mais rend le reste possible. Grandir techniquement sans devenir manager est une trajectoire légitime.

Comment je le mets en pratique

En mission de tech lead freelance, investir explicitement dans le glue work (documentation, revues d'architecture, mentoring d'équipe) plutôt que uniquement le code, pour maximiser l'impact au-delà de sa propre contribution individuelle.