Poser les frontières avant d'écrire le code.
Nous intervenons sur des systèmes qui existent déjà, ou sur ceux qu'il faut concevoir avant qu'ils n'existent. Dans les deux cas, le travail commence par une décision, pas par du code.
01 — Concevoir un système et poser ses frontières
Découper un domaine, décider ce qui appartient à qui.
Un système se découpe une fois. Ensuite, chaque équipe vit avec ce découpage pendant des années : les contrats entre les morceaux, ce qui peut évoluer seul, ce qui ne le peut plus.
Nous travaillons sur cette couche : modélisation du domaine, définition des contrats, séparation entre les règles métier et ce qui les entoure.
02 — Construire et opérer la plateforme
Un système en production est un système qu'on peut corriger.
Livrer une fonctionnalité ne suffit pas. Ce qui compte, c'est de pouvoir la déployer sans réunion préalable, de voir ce qu'elle fait réellement une fois en ligne, et de connaître ce qu'elle coûte.
Nous construisons l'infrastructure et les chaînes de déploiement qui rendent cela vrai, et l'observabilité qui le rend vérifiable.
03 — Accompagner une équipe
Laisser l'équipe plus forte qu'à notre arrivée.
Une équipe qui dépend d'un prestataire pour ses décisions techniques a un problème que ce prestataire ne réglera pas.
Cadrage technique, revue d'architecture, mise en place de pratiques d'ingénierie : le but est qu'à la fin de la mission, plus personne n'ait besoin de nous.
04 — Intégrer des modèles de langage
Là où un problème existant devient soluble.
Les modèles de langage rendent solubles des problèmes qui ne l'étaient pas — extraire du sens d'un texte libre, absorber une variabilité qu'aucune règle ne couvrait. Ils n'en résolvent aucun autre.
Nous intervenons quand le problème préexiste au modèle, et nous le disons quand ce n'est pas le cas.
05 — Ce que nous ne faisons pas
Trois refus.
- Nous ne réécrivons pas un système depuis zéro pour éviter d'avoir à le comprendre.
- Nous n'ajoutons pas d'intelligence artificielle à un produit qui n'a pas encore de problème clair.
- Nous ne prenons pas de mission où la décision technique appartient à quelqu'un qui ne l'assume pas.
06 — Entrer en contact
Décrivez le système, pas le poste.
Ce qui nous aide le plus dans un premier message : ce que fait le système, ce qui coince, et depuis quand.Nous écrire.
Pour ceux que la question intéresse : l'essentiel de notre travail se fait en Java et sur AWS, avec Terraform pour l'infrastructure. Ce sont des outils. Ils changeront.