Speaker

Guillaume Saint-etienne

Guillaume Saint-etienne

Senior Coder, Dev Advocate, Software & Team Architect

Toulouse, France

Actions

I'm a software coder since my first ZX81 at 11 yo (guess my age) and agile practitioner since 2006.
Kotlin and C# fanboy. Monads saved my life. Currently working for ITER organization.

Area of Expertise

  • Arts
  • Information & Communications Technology

Topics

  • TDD
  • ATDD
  • Domain Driven Design
  • Clean Code
  • Clean Architecture
  • Hexagonal Architecture
  • Lean Software Development
  • Agile software development
  • 🙋 Soft skills for developers
  • C#
  • .net core
  • Kotlin
  • Software Craftsmanship
  • Modern Software Development
  • Event Storming
  • CQRS & Event Sourcing
  • synthetizers

Sessions

.Net Core Testing: pushing the limitsen

Let's discover and unleash the power of automated testing using xUnit with related technologies such as Test Containers and Benchmark Testing.
From the basics to more advanced topics, step by step, we gonna
dive in the thrilling world of asynchronicity, and how to handle its subtleties when it comes under test.
Live coding, real world enterprise oriented C# examples.

What is a testable architecture?enfr

Software architecture has so many facets, so many variations.
A true matter of style, a patchwork of proposals, influenced by fashion trends sometimes.
But how testable is yours?
And what is a good test, in your humble opinion?
What are the genuine characteristics of effective tests?
What are your expectations when it comes to bring your systems under tests?
Let's analyze those crucial, almost philosophical questions (I doubt, therefore I test? Or the opposite ?).
Integration(s), connascence and testability are crucial to question when time comes for architectural choices.

Mob atelier TDD et DDD, vers une architecture Hexagonalefren

En 3 ou 4h, nous allons apprendre Ă  mettre en oeuvre le TDD de maniĂšre concrĂšte, avec une approche DDD pour un cas mĂ©tier, et des adapters vers des services externes. Un cas simple qui fait se poser beaucoup de question. PrĂ©parez vous Ă  ĂȘtre surpris.

Comprendre les tests unitaires et le besoin de doublures dans un dĂ©but d’architecture hexagonale; clarifier ce que l’on appele doublure de tests.

Profession Développeur: prisme de la société ou singularité?en

AssurĂ©ment, mon titre aurait dĂ» ĂȘtre "Profession dĂ©veloppeur-euse"... et ce sera lĂ  mon premier constat :
Qu'avons-nous de si particulier pour que les femmes soient Ă  ce point sous-reprĂ©sentĂ©es ?
Et, si c'était là le seul biais... il y en a tant d'autres.

AprÚs 30 d'évolution dans ce métier, je propose une véritable introspection.
Que dis-je ? Une catharsis !!
J'aborderai des sujets sociétaux, mais également des aspects socio-économico-professionnels.
Mais, aussi un peu de technique. Car nous, Développeurs/euses, nous adorons nous compliquer la vie pour paraitre toujours plus des incontournables. Hors, personne n'est irremplaçable, et le mythe du Cowboy coder macho n'a pas encore disparu :(

L'idée est de faire réfléchir tout le monde à la place des uns et des autres dans cet univers particulier qu'est la création de logiciels.

TestContainers: turning the Pyramid of Tests upside downenfr

Docker has changed the world of IT (and is still changing it). It's not just about infra or ops. It really is devOps. And in devOps, there's dev.
Developers have everything to gain from using Docker, but sometimes it can seem complicated or cumbersome. That's where TestContainers come in. A technology available for a large number of development frameworks (Java/Kotlin, Python, NodeJs, .Net, Ruby...) . It will change the way you think about unit and integration tests.
As I will show you working code and tests, this will be a good opportunity to return to the true meaning of some magic terms and to talk about the famous test pyramid, once again.

slides are here https://docs.google.com/presentation/d/1TMiNdJxUmbzkcGPHCEuW9_qKHI4uglVcMzFR0Ic8pTc/edit?usp=drive_link

This session comes with a hands on lab , using Kotlin, and presenting a concrete example of testing the Hexagonal Architecture with and without Test Containers
Code is here:
https://github.com/Guillaume-Music-Action/Tester_Hexagone_Parcmetre
https://github.com/music-action/how-to-test-the-hexagon-kotlin-2024

Monads without Maths, but with Cats (live coding)enfr

You heard about Monads, but the maths behind it seems unreachable? Let's demystify it with an
hands on lab based on TDD and C#/Java/Kotlin (your choice) to simply have fun with Monads and never be afraid of them.
We will auto-learn about simplicity, clarity, Unix style, and fun(ctors).

PLan:
Common Issues in Code
Basic Principles of a Monad
A Simple Case: Option
Where to Find Monads?
Hands-on: TDD Mob Programming
What to Do with a Monad?
Further with Either... or Maybe
Let's Chain, Let's Bind...
Practical Case: Monads in a Web API
Further: Validation
Attention: Treat Your Monad with Respect
Comparison of Styles (What Is Complexity?)

https://docs.google.com/presentation/d/1VPWqxxqrudsR001B0mXeSCY3bdjvT_xdqbsCxj3Kqck/edit?usp=sharing

Workshop: Practical guide to Monads for those who don't like mathsen

You heard about Monads, but the maths behind it seems unreachable? Let's demystify it with an
hands on lab based on TDD and C#/Java/Kotlin (your choice) to simply have fun with Monads and never be afraid of them.
We will auto-learn about simplicity, clarity, Unix style, and fun(ctors).

PLan:
Common Issues in Code
Basic Principles of a Monad
A Simple Case: Option
Where to Find Monads?
Hands-on: TDD Mob Programming
What to Do with a Monad?
Further with Either... or Maybe
Let's Chain, Let's Bind...
Practical Case: Monads in a Web API
Further: Validation
Attention: Treat Your Monad with Respect
Comparison of Styles (What Is Complexity?)

the code:
https://github.com/guillaumeagile/MonadsFromTheTrenches_workshop
the slides:
https://docs.google.com/presentation/d/1VPWqxxqrudsR001B0mXeSCY3bdjvT_xdqbsCxj3Kqck/edit?usp=sharing

Petits biais et grands travers du développement logicielen

Faire partie de la grande famille des développeurs... quoi de plus rassurant? Nous aurons du travail à l'infini.
Oh, vraiment?

Nous savons coder, nous savons faire ce que les autres ignorent. Nous sachons. Nous dirigeons le monde. Car le logiciel dirige le monde.
Ils exigent de nous de la rapidité, pas de problÚme, nous livrerons à temps.
Puissants et obéissants, quel joli paradoxe.

Et pourtant, nous ne sommes pas au dessus de la mĂȘlĂ©e.
Cette belle profession a besoin d'un bon coup de ménage, et surtout de balayer ses propres certitudes.
Let's do it!

Le monde n'est pas CRU(D), il est vivant!en

"Tu veux un logiciel? bah tu n'as qu'à prendre une base de données, un ORM, rajoute une API REST" (parce que c'est la mode) :
"et voila!"

Ajouter, modifier, supprimer... et se planter!
Tout ce qui vient avec le monde CRUD est une simplification de la réalité qui fait froid dans le dos. En étant aussi simpliste, les applications en deviennent horriblement complexe: transactions, verrous, exceptions, mutations... que des sources d'ennuis.

Venez voir comment on peut se débarrasser du mal à la base. Oui le monde évolue en permanence, et votre façon de programmer aussi.
Trop compliqué? En 1h30 de live coding, donnez naissance à du code fermé à la modification mais ouvert à l'infini.

L'invasion des mutants dans votre code (oui mais pour votre bien)fr

Tester c'est ĂȘtre agile, car c'est ĂȘtre confiant dans le produit qu'on livre. Vous faites probablement du TDD, ou au moins vous essayez d'Ă©crire des tests. Vous vous vantez mĂȘme d'avoir une bonne couverture. Mais rĂ©sisterez vous Ă  l'invasion des mutants?
Cette pratique de test peut faire peur, et pourtant... Quelle puissance! Quelle exigence!
Ce n'est pas (que) un outil de test, c'est (aussi) le gardien de la qualité de votre code. Et il ne tergiversera pas!
Etes vous prĂȘts?

Tout ce que vous avez voulu savoir sur les Doublures de Tests sans jamais avoir osé le demanderfr

Vous vous posez des questions sur les doublures de tests ou ce qui est gĂ©nĂ©ralement et abusivement dĂ©nommĂ© “mocks”.
Venez apprendre et comprendre ce que sont les bouchons, dummy, stubs, fake, spy et mock. Quand et pourquoi les utiliser en situation rĂ©aliste, et l’usage d’un fake versus un spy.

MTG MeetupsUser groupSessionize EventUpcoming

December 2025

.NET Day Switzerland 2025Sessionize EventUpcoming

August 2025 ZĂŒrich, Switzerland

DevFest Toulouse 2024Sessionize Event

November 2024 Toulouse, France

Agile Tour Bordeaux 2023Sessionize Event

October 2023 Bordeaux, France

MiXiT 2023Sessionize Event

April 2023 Lyon, France

Agile Tour Toulouse 2022Sessionize Event

November 2022 Balma, France

Agile Tour Nantais 2022Sessionize Event

November 2022 Nantes, France

Agile Tour Bordeaux 2022Sessionize Event

October 2022 Bordeaux, France

Agile Grenoble 2021Sessionize Event

November 2021 Grenoble, France

Agile Tour Toulouse 2021Sessionize Event

October 2021 Balma, France

Agile Tour ToulouseSessionize Event

October 2020 Balma, France

Agile en ligneSessionize Event

April 2020

Agile Grenoble 2019Sessionize Event

November 2019 Grenoble, France

Guillaume Saint-etienne

Senior Coder, Dev Advocate, Software & Team Architect

Toulouse, France

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.