Hi, my name is Maarten!
IT consultant π¨π»βπ», trainer π§π»βπ« and public speaker π£οΈ based in the Netherlands.
π¨π»βπ» I help organisations shape solution and software architecture for their business problems. I’ve consulted many large enterprises in the Netherlands, mostly in the financial domain and public sector.
π§π»βπ« I teach solution architecture, software architecture and their role in modern IT projects. I also teach various Java and JVM-related topics, such as testing, the Java platform and Apache Maven.
π£οΈ I frequently speak on various developer conferences and meetups across Europe and Northern America. My talks cover topics I’m passionate about: open source and the Java ecosystem.
Because of my contributions to and support of the Java ecosystem, I am recognised as a π Java Champion and awarded an β οΈ Oracle ACE Pro for eight consecutive years.
Recent Posts
The Maven Build Cache in Practice

The Maven Build Cache can significantly reduce build times, but enabling it is only the beginning. In this article, we share our experience introducing the cache in Azure DevOps pipelines, the issues we encountered, and the lessons we learned along the way.
Read more →
The Road to Reproducible Builds on the JVM

A reproducible build means anyone can recreate your exact binary output from source codeβbit-for-bit identical, every time. Beyond good engineering practice, this capability is increasingly mandatory under certain EU regulations that demand traceable, auditable software lifecycles.
Using Apache Maven and the Reproducible Central registry, you can achieve and demonstrate build reproducibility in three practical steps. This post describes how to do that for one of my personal projects.
Read more →
Building a CLI with Quarkus, Kotlin and GraalVM

Command-line tools are great for automation, but choosing the right technology stack to build them can be tricky. I recently set out to build a new command-line application to streamline some tasks, drawing from previous experiences where the tooling left me wanting more.
This time, I chose a different combination of technologies that better suits my needs: Kotlin, Quarkus, and GraalVM. In this blog, Iβll walk you through the setup and decisions behind this stackβso you can get up and running even faster when building your own CLI tools.
Read more →
Coding, Thinking and Adapting: My Take-Aways from Devoxx Poland 2025

Six years after my first Devoxx Poland visit, I was invited there again to present. This time, I had the opportunity to give two talks instead of just one. Apart from speaking, visiting a conference is a great way to also join other speaker’s sessions. In this blog, I will share some of the most inspiring talks I attended. Topics include mutation testing, monads, tips for smooth-running applications in production, effectively working with AI and hexagonal architecture. Continue reading for my recommendations from this year’s edition!
Read more →
Authenticate Jakarta EE apps with Google using OpenID Connect

In one of my pet projects, I’m writing a Jakarta EE web application where I want users to authenticate using Google. Easy, you would say, as Jakarta EE 10 includes Jakarta Security 3.0, which has support for OpenID Connect authentication. Took me a bit more time to figure out how to get it working, and to save you from having to do that, here’s what I found.
Read more →