Two Problem Solving Approaches

Two Problem Solving Approaches

Solving a problem can be hard at times. What I’ve found helpful then is to distinguish between two different approaches to tackle the problem. Without distinguishing them I’m prone to use an unsuitable approach and make things harder than they actually are. Here’s a...
TDD – How It Can Be Done Right

TDD – How It Can Be Done Right

TDD has gone wrong. It was well intentioned and is a great technique, but many developers who are trying it are not experiencing the promised benefits. How come? This question was asked and answered by Ian Cooper in a DevTernity talk in 2017. Watch the video here, if...
Dependencies Flow Down Abstractions

Dependencies Flow Down Abstractions

Dependencies are the bane of software development. They make code rigid, difficult to understand, and hard to test. If we want to do better we need to deal better with dependencies. Of course quite some efforts have been made in this direction. The SOLID principles...
When to Turn to Microservices for Help

When to Turn to Microservices for Help

Microservice architectures seem to be the latest craze. When in doubt, bet your software architecture on microservices. They sure will deliver everything but the kitchen sink. Or maybe think twice? Because microservices like all technologies and paradigms come with a...
Do You Want to Stay Productive?

Do You Want to Stay Productive?

What’s the question to which clean code development is the answer? I think it is: Do you want to stay productive? I mean, indefinitely. I mean, being productive in a sustainable way. That means, clean code development is not the answer to questions regarding runtime...
Structure Code for Rewriting

Structure Code for Rewriting

From a certain point on it becomes very tedious, frustrating, and expensive to change code in order to implement some new requirement. For a while clean coding and refactoring help – but in the end it’s undeniable: the existing code is more of a burden, a...