1. Thermodynamics and Software Development: Wrangling Entropy and Order in Code

    Reading time: 4 minutes
    Posted 5 months ago

    In the wild world of software development, just like in thermodynamics, entropy is always lurking. Understanding these scientific principles can give us some insights into taming and improving our codebases.

    Let’s throw on our lab coats and dive into how the laws of thermodynamics can jazz up our approach to software development! 🧪

  2. Strategies to reduce complexity

    Reading time: 5 minutes
    Posted 9 months ago

    Software development is a craft and we can follow many routes to achieving a specific goal. Having this freedom allows us to create simple solutions for very complex problems. That same freedom has a flip side, where very complex solutions can be applied to very simple problems!

    To be clear: I don't think anybody purposefully sets out to create complex solutions to simple problems (unless part of an artistic discovery). I think it is a sign of lack of understanding of a certain domain or technology. I also think there are several strategies you can apply to reduce complexity!

  3. Great Migrations: Upgrading at scale

    Reading time: 8 minutes
    Posted 2 years ago

    This article is inspired by the BBC produces series on nature, with a particular episode dealing with the wildebeest migration. The series was presented by Sir David Attenborough, and I will try and channel his spirit in this article. I have fond memories of these sort of documentaries, watching them together with my father. Those were simpler times.

    I’ve used this theme and contents in talks that I gave with a similar title. Note this article details the approach that works best for us at Jumbo Supermarkten. It might not be the best in your situation, so treat its contents as inspirational.

  4. Maintaining a Component Library at Scale

    Reading time: 5 minutes
    Posted 2 years ago

    Before we dive into the topic, a little bit of context would be necessary because we're going to talk about a solution that works for our organisation. Having context helps you in deciding if and what would work in your situation.

    So at the company I currently work for, we cater to a big audience. As a big company, we also have a big stake in IT solutions to get our businesses running. A lot of our software and tooling is build in house.

  5. Everything repetitive should be automated

    Reading time: 3 minutes
    Posted 2 years ago

    Nobody that I know of is happy with endless repetition. Software has drastically improved any field of work where repetition takes place by facilitating a certain level of automation to ease all of our jobs. But when you’re implementing any automated process, there’s always a cost to consider.

    The good news when working on software, is that cost is relatively low compared to effort. Since we’re working in a landscape that’s so very tightly coupled to the tools that provide automation, most of the automating is a breeze!

  6. Getting rid of Monoliths

    Reading time: 6 minutes
    Posted 2 years ago

    I am working for Jumbo Supermarkten, which is a large grocery chain in the Netherlands. This family owned business started to venture into e-commerce at about 10 years ago with a very small team of developers. Currently, we've grown into an IT department that consists of over 450 developers working on all digital solutions. We've made some changes over time on how we manage our software. I gave a talk together with my colleague on this topic, so let's share the write up here.

    So, if we rewind the clock the the founding of the Jumbo Tech Campus (JTC), where in the beginning the main purpose was to get started with e-commerce. What happened was that the team at the time did the thing that is most obvious with limited resources and a generic goal: they grabbed an off the shelf solution and started to implement it. This meant connecting to the existing brick and mortar stores, the delivery and storage APIs and whatnot.