Where hexagonal architecture shines, and what to reach for instead - Ports and adapters pays where the domain is the complicated part. Here is how it looks in Kotlin with Spring, in Guile Scheme and in Haskell, and when MVC, KISS and CQRS are the better answer.
Manifesto for Agile Software Development - We are uncovering better ways of developing software by doing it and helping others do it. This document should help refresh you on what Agile truly is about.
Don't Reward the Best Firefighter - For every loud firefighter, there's an invisible fire preventer. This is the engineer who spends a month refactoring a messy legacy service that no one else wants to touch.
Most Technical Problems are People Problems - You cannot clean up technical debt without first addressing the people, process, and politics that created it.
Hexagon of Doom - The Cost of Over-Abstraction and Indirection - Let me explain why I think Ports&Adapter / Hexagonal architecture introduces net harm to software projects.
The FREE stack - My Tech Radar - The FREE stack as a tech radar: what I adopt, trial, assess and deprecate across languages, frameworks, data, tools, platforms and practice.
Markdown Cheat-sheet for Beginners - Markdown is a simple, lightweight markup language used for formatting plain text. It's designed to be easy to read and write, and it can be converted into HTML, PDF, LaTEX and many other formats.
The Best Programmers I Know - I have met a lot of developers in my life. Lately, I asked myself: "What does it take to be one of the best? What do they all have in common?"
Black Box Testing in modern Software - Testing software at a high level means freedom of implementation and refactoring, while maintaining guarantees of correctness.
Why SQL SELECT * is often a bad idea - Doing a SELECT * may seem like a time-saver, but it's actually setting you up for problems in the long run, especially when the database schema changes.