Loading...

Latest Posts

Architecture March 22, 2024

The Cost of Accidental Complexity in Development

In the beginning, IT teams often implement new features quickly, but over time, development tends to slow down. Accidental Complexity is a frequent culprit – this article explains its origins and how it can be mitigated.

It’s no secret that systems grow more complex over time, leading to longer development cycles. This is inevitable when dealing with inherently complex problems, known as Essential Complexity. However, in many cases, the implementation of a feature becomes more complex than necessary. Two months for a feature that seemed straightforward? That’s a classic case of Accidental Complexity. It’s frustrating, costly, and avoidable, as we’ll show with some practical examples.


Newsletter March 14, 2024

Two More Billion Dollar Mistakes

Hi,

You might have heard that null was referred to by its creator, Tony Hoare, as the “billion-dollar mistake.” In 2009, he publicly apologized at QCon for taking the easy path in 1965 by inventing null:

“I call it my billion-dollar mistake. It was the invention of the null reference in 1965. At that time, I was designing the first comprehensive type system for references in an object-oriented language (ALGOL W ). My goal was to ensure that all use of references should be absolutely safe, with checking performed automatically by the compiler. But I couldn’t resist the temptation to put in a null reference, simply because it was so easy to implement. This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years.”


Newsletter March 5, 2024

My War on Kubernetes

Hi,

I need to make a confession right off the bat: I’m at odds with Kubernetes.

It’s not Kubernetes’s fault, though. It’s my projects. Or rather, the teams I’m part of.

These are teams with a maximum of 30 software developers, plus a few business people and designers on top. But there aren’t that many developers.

These teams don’t need Kubernetes!

No. To put it more bluntly: These teams can’t handle Kubernetes!


Newsletter February 29, 2024

Survivorship Bias in Tech

Hi,

Do you know what Survivorship Bias is?

[…] According to Survivorship Bias, the probabilities of success are systematically overestimated because successful individuals or states are more visible than unsuccessful ones. ~ Wikipedia

This cognitive bias is interesting because it affects us in development as well. For 15 years, I have been working mainly in small and medium-sized enterprises (SMEs), which are companies with up to 250 employees. Clearly, these are not large corporations.


Newsletter February 23, 2024

Challenges in SMEs Are Similar

Hi,

Currently, I am writing a new article for Golem.de.

In this context, I have been reflecting on the similarities in software development in small and medium-sized enterprises (SMEs).

The German Federal Statistical Office defines SMEs as companies with 10 to 250 employees and a turnover of less than 50 million euros.

At first glance, this range seems very wide. Intuitively, one would expect the challenges and solutions to be very different as a result. And to some extent, this is true. However, this does not align with my experience over the last 15 years, during which I have worked exclusively in SMEs. On closer inspection, it turns out that the number of developers is not that different after all.


Top