Previous articles from the newsletter

Join the newsletter to get notified when I have something to say.

You're in!

Thanks for subscribing. Checkout the previous newsletter posts here.

Psst. I've sent you a confirmation email. Please check your inbox.

Introduction to Bi-Temporal Modeling in Real Applications

Bi-temporal data modeling is a powerful technique for capturing changes to data–and entities–over time. Working with bi-temporal data is non-trivial and can take a bit of time to wrap your head around.

Published 2 months ago

Drop The If-Else If You Want Better Code Quality and Higher Flexibility

Given the practically universal recognition of the importance of writing flexible, maintainable software, it’s natural to ask “Why do developers keep using traditional branching such as if-else statements?”

Published 2 years ago

10 Lead Software Developer Principles

I’ve collected a few principles I often use actively in my day-to-day work as a lead software developer. The principles are listed at random and some may even be conflicting, nevertheless, they’re all helpful and easily applied.

Published 3 years ago

Engineering for Evolution: Techniques to Future-Proof Your Code

I'll give you deeper insight into how to think about extensibility, what concerns you need to address, and techniques to analyze and anticipate where change is likely to happen.

Published 3 years ago

How To Make Precise Estimates in Software Development

My advice is, to hold back on providing estimates for tasks in domain areas and technologies that you don’t have direct, hands-on experience with.

Published 3 years ago

9:30 am: “What did you do yesterday? What are you doing today? Any blockers?”

Daily scrum was originally designed for developers. Nowadays everyone wants to pitch in, causing the once quick and concise meeting to drag on.

Published 4 years ago

Dependency Injection Makes You Incredibly Lazy

Suddenly, it’s quite common to witness ‘service’ classes turn into what’s best described as logic dumpsters.

Published 4 years ago

How Poorly Designed Software Is Facilitated by Using Dependency Injection and Containers

Dependency Injection (DI) and Inversion of control (IoC) often make you do stupid things and let you create poorly designed software.

Published 4 years ago

Things Software Developers Say at Work – Making Them Stay Mediocre

I’m just going to enumerate a bunch of things I sometimes hear or read developers say, that I believe, make them stay mediocre

Published 4 years ago

Nicklas Millard

© 2026