
Tom Hombergs
As a professional software engineer, consultant, architect, general problem solver, I've been practicing the software craft for more than fifteen years and I'm still learning something new every day. I love sharing the things I learned, so you (and future me) can get a head start. That's why I founded reflectoring.io.
- Spring Boot
Testing a Spring Message Producer and Consumer against a Contract with Pact
Among other things, testing an interface between two systems with (consumer-driven) contract tests is faster and more stable than doing so with end-to-end tests.

- Software Craft
Build Once, Run Anywhere: Externalize Your Configuration
Most software that does more than a “hello world” needs to be configured in some way or another in order to function in a certain environment.

- Software Craft
Why You Should Enforce 100% Code Coverage*
Yeah, I know. Everyone says aiming for 100% code coverage is bullshit. And the way test coverage is usually defined, I fully agree!

- Software Craft
Combining Object Mother and Fluent Builder for the Ultimate Test Data Factory
To test our business code we always need some kind of test data. This tutorial explains how to do just that with the Object Mother pattern and why we should combine it with a Fluent Builder to create test data factories that are fun to work with.

- Book Notes
Book Review: Clean Architecture by Robert C. Martin
TL;DR: Read this Book, when… you are interested in building maintainable software you need arguments to persuade your stakeholders to take some more time for creating quality software you want some inspiration on building applications in a different way than the default “3-layer architecture” Overview As the name suggests, Clean Architecture - A Craftsman’s Guide to Software Structure and Design by Robert C.

- Spring Boot
Testing a Spring Boot REST API against a Contract with Spring Cloud Contract
Consumer-driven contract tests are a technique to test integration points between API providers and API consumers without the hassle of end-to-end tests (read it up in a recent blog post).
