Hallo, ik ben Thomas

Thomas Vanneuville

Ik ben software engineer en architect. In mijn werk focus ik me op helderheid: complexe businessproblemen terugbrengen tot eenvoudige, onderhoudbare oplossingen die op lange termijn blijven werken.

Domain-Driven Design speelt daarin een belangrijke rol als denkkader om business en software dichter bij elkaar te brengen.

Op deze blog schrijf ik over de ideeën en ervaringen die mij bezighouden. Vaak om mijn gedachten te ordenen, soms om iets uit te proberen, en hopelijk heeft iemand anders er ook iets aan.

Lateraal denken: niet harder, maar opzij

We denken vaak harder wanneer we anders moeten denken Wanneer ik vastzit in een probleem, is mijn eerste reflex meestal voorspelbaar: meer informatie verzamelen, het probleem verder ontleden en nog wat harder nadenken. Dat werkt prima zolang de oplossing ergens op hetzelfde denkpad ligt. Maar soms maakt het me vooral efficiënter in rondjes lopen. We zijn goed in verticaal denken: stap voor stap redeneren, opties vergelijken en de meest logische oplossing kiezen. Het is de manier van denken waarmee we een idee bewijzen, verbeteren of uitvoeren. Alleen helpt ze nauwelijks wanneer het vertrekpunt zelf verkeerd zit. ...

August 10, 2026 · 5 min · Thomas Vanneuville

Laat EF Core je domein niet modelleren

Laat EF Core je domein niet modelleren Ik ga meteen met de deur in huis vallen: De belangrijkste reden om automatisch voor EF Core te kiezen, is door AI een stuk minder overtuigend geworden. Jarenlang was het argument simpel. Met EF Core schrijf je minder SQL, minder mappingcode en minder repetitieve persistencecode. Je bouwt dus sneller dan met ADO.NET of een micro-ORM zoals Dapper. Dat argument was terecht. Alleen is de prijs van die expliciete code intussen drastisch gedaald. Een coding agent kan vandaag in veel gevallen een query, een persistence model, de mapping naar je domein en de bijbehorende tests genereren. ...

July 29, 2026 · 10 min · Thomas Vanneuville

Odoo-modulariteit: razendsnel aanpassen, voorzichtig upgraden

Odoo-modulariteit: razendsnel aanpassen, voorzichtig upgraden Odoo is tegelijk een Belgisch softwarebedrijf en een suite van bedrijfsapplicaties. CRM, verkoop, boekhouding, voorraad, e-commerce en planning lijken voor de gebruiker losse apps, maar draaien technisch op hetzelfde platform en delen één geïntegreerde applicatie- en datalaag. De Community-editie is open source; daarbovenop biedt Odoo een Enterprise-editie en commerciële diensten aan. Die brede functionele dekking is indrukwekkend, maar niet het interessantste aan Odoo. De echte superkracht is hoe gemakkelijk een module een bestaande applicatie kan uitbreiden. Een CRM-module kan velden toevoegen aan een contact, Verkoop kan knoppen op hetzelfde contactformulier plaatsen en een maatwerkmodule kan vervolgens het gedrag van beide aanpassen—zonder de broncode van die modules te kopiëren. ...

June 1, 2026 · 14 min · Thomas Vanneuville

Union types in C#: vijf aanpakken vergeleken

Waarom union types? Stel: een huisdier in jouw domein is altijd een kat, hond of papegaai — en nooit iets anders. Hoe modelleer je dat in C#? Er zijn meerdere aanpakken, elk met andere garanties van de compiler, andere leesbaarheid en andere gevolgen voor je EF Core mapping. In dit artikel loop ik vijf aanpakken langs op hetzelfde voorbeeld: Pet = Cat | Dog | Parrot. Aanpak 1 — object (de “het is toch gewoon een object”-aanpak) De meest naive oplossing: stop alles in een List<object> en match op type. ...

May 8, 2026 · 7 min · Thomas Vanneuville

Stop met je eigen messaging-framework te bouwen in .NET

Intro Event-driven architecture wint snel aan populariteit in .NET-teams. Vroeg of laat komt dan deze gedachte: “Hoe moeilijk kan het zijn? We spreken gewoon rechtstreeks met Azure Service Bus. We bouwen zelf wel wat we nodig hebben.” Mijn hot take: Zelf een event-driven “mini-framework” bouwen bovenop Azure Service Bus (of RabbitMQ, Kafka, …) is bijna altijd een verspilling van tijd en geld. Niet omdat je het niet kan bouwen, maar omdat je de echte kost onderschat. ...

October 11, 2025 · 6 min · Thomas Vanneuville

De turbo is er al. Tijd om eindelijk aan het kompas te werken.

AI coding agents zijn geweldig. Maar ze lossen ons échte probleem niet op. Ik ga meteen met de deur in huis vallen: AI coding agents zijn fantastisch. Ze schrijven code sneller dan ik ooit kan. Ze nemen repetitief werk over. Ze maken dingen mogelijk die vijf jaar geleden ondenkbaar waren. Ja — ze zijn dé shit. Maar hoe enthousiaster iedereen wordt over “sneller programmeren”, hoe sterker bij mij één gedachte blijft hangen: ...

August 1, 2025 · 3 min · Thomas Vanneuville

DDD - Software bouwen is leren leren

Domain-Driven Design Wanneer ik met Domain-Driven Design (DDD) bezig ben, merk ik dat het zelden écht over code gaat. DDD is ontstaan rond het begin van de jaren 2000, in dezelfde periode als het Agile Manifesto en Extreme Programming. Niet toevallig: het kwam voort uit frustratie. Frustratie omdat we dachten dat we software konden ontwerpen door alles vooraf te analyseren en vast te leggen, om dan “gewoon” te bouwen. In de praktijk werkt dat bijna nooit. ...

February 1, 2025 · 4 min · Thomas Vanneuville