I’m a big fan of projects that deliver value in small, incremental steps. Unfortunately, some of the projects I worked did not turn out that way. After one of the not-so-great projects, I decided to do a personal retrospective. Instead of listing all the things that went wrong, however, I decided to write about what could have been.Read article
Articles
I’ve spent a lot of my time as a developer chasing, handling and catching all sorts of errors – be it logical or fencepost errors, disk and network failures or compiler errors and runtime exceptions.Read article
Writing an RFC is a great way to improve your designs and to make better decisions. Over the years, I’ve written dozens of RFCs and every one of them turned out to be invaluable. Unfortunately, writing an RFC always costs me a lot of energy. As a result, I write less RFCs than I probably should.Read article
I still remember that one time when my colleague and I worked on a difficult project together. After we had completed the most difficult part of the work, he came over to my desk to thank me.Read article
Conversations about software projects are packed with jargon. But if you’ve been in the industry for long enough, you may not notice it anymore. Just bring in someone from a different industry though, and they’ll be surprised by some of the words we are using.Read article
Quite recently, one of my dear colleagues told me that he had accepted a new job with a different company. I got really excited and asked him to tell me more. From his description, it sounded like the new job was going to be exactly what he had been looking for.Read article
To make your microservice architecture successful, you have to consider a lot more than the technical aspects. Unfortunately, one aspect in particular often gets overlooked: the relationships between teams.Read article
When you switch to a microservice architecture, you should expect a change in your team’s effectiveness. When done well, you might unlock the full potential of your team. When done badly, however, all progress might grind to a halt.Read article
When you switch to a microservice architecture, many aspects of your day-to-day experience will change. One of the things that will change is the way you run your software.Read article
Writing doesn’t come naturally to me. Well, that’s mostly true. Occasionally, a flash of inspiration helps me to finish an entire article in one go. But these moments are rare. Most of the time, writing is an excruciating process.Read article
Microservice architectures are terrible in many ways. Things that are straightforward in a monolith often turn into complicated issues. All of a sudden, you have to abandon some of your most powerful tools: transactions, consistent backups and automated refactoring.Read article
This article is a small intermission in our series about the socio-technical aspects of microservices. I realized that I hadn’t quite covered why you would choose a microservices architecture in the first place. This is what we’ll cover today.Read article
Today we will discuss one of the most important aspects of microservices: ownership. More specifically, we will explore why each microservice should have exactly one owner and why those owners should always be backed by teams.Read article
I’ve learned a lot about microservices in the past seven years. During that time, I helped to design, deploy and operate a handful of systems based on microservice architectures. Some of those systems turned into success stories. Others caused more trouble than they were worth.Read article
Like everything else in software development, microservices have trade offs. They can do much good, but they can also be harmful. How beneficial they are depends on the context they are used in. I’ve seen microservices work well for an organization if:Read article
At the beginning of my career, my mind was preoccupied with technical details. I believed that by learning all about the intricate details of computers, I could become an expert software developer. But even though my understanding of computers kept growing, many aspects of software development remained a mystery for me.Read article
I’ve heard people talk about Conway’s law many times throughout my career. However, I only recently understood the central insight that it is built upon.
Read articleI am no longer in fear for my father’s life. I’m so glad that he’s won his battle with Covid-19 induced pneumonia. It’s been a tough fight and the disease has certainly taken its toll: even climbing a small set of stairs has become an insurmountable problem for him. But he’s started his recovery and is getting stronger every day.
Read articleToday my father was diagnosed with pneumonia. He’s already been weakened by twelve days of recurring fever. Despite his best attempts to stay strong, he’s lost a lot of weight. When I learned that he has tested positive for Covid-19 last week, I was worried.Read article
When I decided to write about the basics of Domain-Driven Design, I thought I could capture the key concepts in two or three articles. In hindsight, I was a bit naive. Domain-Driven Design is a huge topic, so there’s plenty to learn about.Read article