Articles

  1. Learn as you go

    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

  2. Thank You Letters

    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

  3. Help, my mind is trying to sabotage me!

    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

  4. What are microservices good for, anyway?

    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

  5. The socio-technical aspects of microservices: a teaser

    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

  6. Always start with a monolith

    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

  7. There really is no such thing as a lone software developer

    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

  8. The power of being vulnerable

    I 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 article

  9. Be patient, be gentle, be kind

    Today 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

  10. Domain-Driven Design: conclusion

    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