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.
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.
A Web page caching survival guide
In this talk, I'll show you both front-end and backend techniques to set up web page caching.
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...
Backend-For-Frontend is an architectural design pattern aimed at solving one of the (many) issues that come with microservices.
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.
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.
Practical introduction to OpenTelemetry tracing
OpenTelemetry is a standard for tracing across multiple components. Let's see how to set it up.
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...
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!