Build Once, Run Anywhere: Externalize Your Configuration

Software that does more than a "hello world" usually needs to be configured in some way or another in order to function in a certain environment. This article explains why this configuration must not be part of the software itself and explores some ways on how to externalize configuration parameters.

Why You Should Enforce 100% Code Coverage*

Everyone knows that aiming for 100% code coverage is bullshit. This article re-defines code coverage to make 100% a meaningful and worthwhile goal.

Combining Object Mother and Fluent Builder for the Ultimate Test Data Factory

Combining the Object Mother Pattern with the Fluent Builder Pattern allows to create Test Data Factories that reduce code duplication and promote the Single Responsibility Principle. Learn why and how in this tutorial.

3 Use Cases Where Structured Log Data Really Helps

Log data should contain more than just text. This article discusses some example use cases where adding structured properties to log events helps when debugging. Get inspired to use structured logging in your own use cases!

66% Off My eBook

Get Your Hands Dirty on Clean Architecture

Subscribe to my Mailing List and get 66% off my eBook Get Your Hands Dirty on Clean Architecture.

Current Reading*

Book Review of Atomic Habits by James Clear
*Affiliate Link - If you purchase an item through this link, I'll get a cut at no extra cost to you. If you're undecided, I usually write up a review of the book once I'm through.