Bio
Developer Advocate with 15+ years experience consulting for many different customers, in a wide range of contexts (such as telecoms, banking, insurances, large retail and public sector). Usually working on Java/Java EE and Spring technologies, but with focused interests like Rich Internet Applications, Testing, CI/CD and DevOps. Also double as a trainer and triples as a book author.
My Talks
A Hitchhiker's Tour to Containerizing a Java application
While a plain Dockerfile gets the job done, there are actually many more ways to containerize your Java app. They come with a couple of pros, and some cons.
An always up-to-date developer's CV
GitHub is a developer's CV but what happens if you're not working on any project hosted on GitHub. All hope is not lost: you can still customize your GitHub profile with all data you want.
APISIX, an API Gateway the Apache way
APIs are the glue that holds our information systems together. If you run more than a couple of apps, having each of them implement authentication, etc. is going to be an Ops nightmare. You definit...
Chopping the monolith
Between migrating to micro services and using a Rule Engine, Serverless is a pragmatic approach that allows deploying business capabilities that change often.
Designing a DSL with Kotlin
In some particular cases, providing a DSL can greatly improve the productivity of your dev team. Java is not the best language to provide such DSL. But Kotlin has tons of features that can help you...
Evolving your APIs, a pragmatic approach
Like any architecture-related REST APIs are easy to get started on, but their lifecycle is hard manage if you don't plan for it. Here is a pragmatic process to do that.
Fast logs
Logs can be the bottleneck of your application optimized for speed. Let's see different ways to make them faster.
Hands-on Apache APISIX
In this workshop, we will go through several features of Apache APISIX, an API Gateway.
Migrating from Imperative to Reactive
While Reactive Programming is very different from the usual Imperative way, there's no denying it fits "the Cloud", as every bit of resource is used to its fullest. Let's see how to migrate from th...
Mutation Testing to the rescue of your Tests
Code coverage is useless because of assertless testing. There's a technique to replace it, it's called Mutation Testing.
Own your blog with Git and GitLab
Writing a blog is cool. Owning its content is much better. In this talk, I'll show you what infrastructure I'm using since more than 10 years, and how you can set your own.
Securing the JVM - Neither for fun nor for profit, but do you have a choice?
The Java API allows a lot: sending packets over the network, compiling code, etc. If you put an application in an production environment, you need to make sure it doesn't do more than it's supposed...
Spring Boot and Kotlin, a match made in Heaven
Spring Boot in Java is good. Spring Boot with Kotlin is amazing, thanks to Kotlin's features, such as extension function, expression body, and many more.
Your own Kubernetes Operator: Not Only in Go
Go is ubiquitous in the Kubernetes ecosystem. But it's not required at all to develop a K8s operator. Let's try it with... Java!