In 2014, when I was working as a professional developer at a gaming company with around 25 developers, I heard about microservices for the first time at a conference - and was immediately excited. We were developing a role-playing game in which players guided their character through different worlds, collected loot, and managed their inventory. My idea seemed obvious: a standalone inventory…
Your team says it’s working on new features. But they’re not getting anywhere. Small changes take longer than expected, bugs keep appearing, and when you ask, you get explanations that sound plausible at first glance. But your gut tells you: something isn’t right. This article is for you if you don’t come from a development background and can’t tell the difference…
Your development team is using AI coding agents. Subscriptions are paid, some developers use them actively, others are still stuck at chat-completion. And the productivity gain the tool vendors promised still hasn’t materialized. It’s not the model. It’s not the tool: The missing lever is context, and most teams aren’t providing it systematically. This isn’t a new…
You gave your development team AI tools. Copilot licenses for everyone, access to coding agents, the whole package. A few weeks later, you notice: the results you expected aren’t materializing. Features aren’t shipping faster. Quality hasn’t improved. And when you ask, you get shrugs. This isn’t an isolated case. In client projects and workshop requests I receive, I see the…
Your team has Cursor subscriptions. Or Copilot. Or Claude Code. The invoices are paid, the tools are installed, and now AI is supposed to boost productivity. Except it doesn’t. A few developers experiment, most carry on as before, and nobody feels like anything has changed. The problem isn’t the tool. The problem is that a subscription isn’t enablement. A look at the current…
Your development team says: “We should start using AI tools.” The question isn’t whether they’re right — the question is: what does that actually mean? What does it cost if you get it wrong, and what does it cost if you do nothing? This article is written for both sides of the desk. For the CTO who needs to explain to the board why AI tools in the dev team make sense — and…
When developing complex software systems, teams often go through a documentation cycle that follows an almost predictable pattern. The initial euphoria is characterized by ambitious goals: comprehensive documentation should emerge that illuminates all aspects of the system and makes every decision traceable. With fresh enthusiasm, tools are evaluated, templates created, and initial documentation…
I recently attended Team ‘24, Atlassian’s flagship conference, where I had the chance to meet with Matt Schvimmer, Senior Vice President and Head of Product for Atlassian’s Agile and DevOps portfolio. We discussed how Atlassian tools support modern software development. This interview was first published in German in Chef von Devs Newsletter #57 Atlassian tools like Jira, Bitbucket,…
As a young developer, I was naive and ambitious. I searched for the perfect software architecture, an approach that I could impose on any problem, regardless of industry, scaling requirements, security measures, or users. If you could solve this one problem abstractly, then surely this architecture could be applied everywhere. Right? This article first appeared in August 2024 as a premium article…
Hi, What if…? I must have read this sentence hundreds of times in the last few days regarding the CrowdStrike outage. Everywhere, people are looking for someone to blame. And that is wrong! We are witnessing the classic blame game. It is more important to find someone to blame than to solve the problem. This only fosters fear. An employee of Tom Watson, the founder of IBM, once made a…
Hi, HashMap? How can HashMap be a topic for the newsletter? Hold on! The topic came to mind because I was in an interview for a client yesterday and spent quite a long time discussing the HashMap. The experience was a bit of déjà-vu. 2-3 years ago, I was heavily involved in recruiting. During that time, I conducted over 150 technical interviews. And from that period, I learned a lot about our…
Hi, “RCoffee [an internal tool for content production] accesses the test servers via SSH and displays the Tomcat logs” Wow. That was surprising. I have been working with this client for a year now. The application is the market leader in its field, and the current version was developed over 10 years ago. A lot has accumulated, of course. And when I am hired, the technical debt is…
Hi, An old developer joke: There are 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors. – Leon Bambrick Or another version: There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery – Mathias Verraes And there are many more: There are so many variations on the…
Hi, When “the customer” calls, very different things happen in various companies You probably know this from your everyday life. You have a question about your mobile contract. So, you call the hotline. A computer answers. You press 1… then 3… then refuse to have the call recorded for training purposes, and finally, you end up with some employee in a call center. You…
Hi, What happens when software rots over decades? More than I can list. The software has accumulated so many problems that they can’t be described compactly. The monitoring is incomplete The deployment is cumbersome The infrastructure is heterogeneous Libraries are outdated Knowledge has been lost Background and context for decisions are missing The code is tangled … and has high…
In recent years, numerous medium-sized companies have tried the much-touted microservices and found that they are less lightweight than their name suggests – Microservices in SMEs are often overengineering . Now, they need to be deconstructed and transitioned to a more pragmatic architecture. We explain how this can be achieved. This article first appeared in April 2024 as a premium article on…
Hi, Dave Thomas never tires of mentioning that “agile” is an adjective - and not a noun. It is not capitalized. The legendary document we have been referencing for nearly a quarter of a century is not called “The Agile Manifesto.” It is called the “Manifesto for Agile Software Development” . 👈 Agile is not something that can be bought. The manifesto describes…
Hi, Ten years ago, most companies were still dealing with manually managed infrastructures. Today, many medium-sized businesses still find themselves in the same situation. But that comes at a cost - and I’m feeling it right now. The Ghosts of Differences It’s astonishing how often we chase ghosts simply because our environments differ. This ranges from obvious things like available…
Hi, In one of my client projects, we reflect on our working methods. Like most mid-sized projects out there, Scrum is used here too. But we have a few problems: - Sprint goals are never met - Not a sprint goes by without a new task coming in from the side - Estimations are regularly far from reality - Collaboration with other external parties is partially not integrated - … I can certainly…
For more than a decade, hardly a conference goes by without the topic of microservices. Industry magazines publish numerous articles on the subject, and external consulting firms sell workshops, actively advise on switching to a microservice architecture, and tout its benefits. For many small and medium-sized enterprises (SME), this sounds attractive—what helps the big players so much can’t…
Hi, Have you ever tried closing vim? You probably know the meme. Even after decades, I still find it funny 😁 But what I haven’t managed to do in all these years is to seriously learn how to use vim. Sure, I press i to enter insert mode and then I can type. And I’ve also learned dd to delete a line. And yes, of course, I was one of the three million viewers who were helped by Stack…
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. This article was originally published in German as a premium article on Golem.de in June 2023. It’s no secret that systems grow more complex over time, leading to longer…
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…
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…
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…
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…
Hi, This year, I’m a bit behind with the newsletters. For one, I’m deeply involved in client projects – and the client always comes first. Additionally, since the beginning of the year, I’ve been battling pneumonia. It only started to improve this week. The symptoms were mild - after all, I continued to work - but I noticed a lack of energy for tasks beyond my duties. To…
Hi, As written on Monday : Small and medium-sized enterprises (SMEs) have no problem with performance. However, that’s not entirely true. Over the past few years, I’ve worked on many products that were slow. Improving performance would have been positive for the business. In certain areas, like the gaming industry, it was inevitable to be performant. Retention is one of the most…
Hi, I haven’t sold my Spring Performance Workshop even once. Instead, I sold my Architecture Discovery Workshop four times . In 6 months. And I don’t even promote it 🤷 What does this mean for me? My positioning as a performance expert has failed. But not because I can’t deliver. There’s simply no demand from my customers. In hindsight, it makes sense. But let me explain:…
Hi, Especially in software development, many people work who are particularly good at abstraction and objective consideration of problems and questions. It’s in the nature of the thing. It’s our job to thoroughly understand a problem in detail. And the solutions always require weighing the pros and cons. But there are always problems and habits that have become entrenched in our…
Hi, What does this computer have to do with your work today? You are looking at an ADM-3A from 1976. But why should this computer still interest you nearly 50 years later? The ADM-3A is the reason for some standards you use today Take a look at the keyboard layout: Why do people still use esc to enter command mode in vi? On the ADM-3A, the esc key was right next to Q . It was easily accessible.
Hi, Here’s the translation of the text into English: For years, my holy trinity in monitoring has been: Grafana for metrics Elastic for logs and tracing And Sentry for error tracking With this stack, I have been moving from project to project for years. For some reason, I always ended up in projects that used this stack. Maybe Loki was used instead of Elastic sometimes (ugh - I don’t…
Hi, Your email validation is probably incorrect. And your model that every person has a first and last name is also incorrect. While I was rummaging through my bookmarks in the past few days looking for an article on Project Management in BigTech , I stumbled upon an old article from 2010: Falsehoods Programmers Believe About Names . An excellent essay! Our Assumptions are Wrong Perhaps…
Hi, I committed to main . Just like that 🫢 , you’re likely to have one of two reactions: “So what? Don’t bore me with that!” or “WTF? YOU CAN’T DO THAT!” If you belong to the first category: Cool! Either you’re not live yet and have the freedom to develop trunk-based, or your organization is so advanced with automation and the DevOps mindset that…
Hi, Ever Heard of Tautological Tests? In recent months, I’ve delved back into test architecture and design. (I can’t quite remember how it all started… probably the YouTube algorithm suggesting interesting talks again 😉) Anyway, I wrote back in early December that a few years ago, in a blog, I propagated practices quite different from what I recommend today. The topic keeps…
Hi, When was the last major change in your life? For me, it was becoming self-employed in 2023. What an adventure! The year is now over, and I enjoyed the holidays to unwind and spend time with my family. Believe me, in the first year of self-employment, it’s leisure time that suffers the most 😉 So much happened last year. There were so many highlights. And there were so many interesting…
Hi, The Paradox of Freedom: The more options we have, the more anxious we become that we chose the wrong thing. ~ Mark Manson Mark Manson is not a software developer. He is an author. His bestseller: “THE SUBTLE ART OF NOT GIVING A F*CK” He provides self-help for people who hate self-help books. In this paradox, he refers to life decisions. For example, many people find it hard to…
Hi, In the team of one of my clients, I earned the nickname “Quickdraw Hero” (My surname “Held” translates to hero in english 😉 ) Because I shoot so fast. I gained this reputation from the team rather quickly. At that time, it was meant somewhat derogatorily. The team was not accustomed to my pace. They had gotten comfortable. The software has been in development for more…
Hi, “A picture is worth a thousand words.” I heard this proverb early on, probably for the first time during my school days. It’s a wisdom that we have carried forward for a long time. Perhaps you associate this proverb more with areas like marketing, statistics, politics , or you think, like me, of the wisdoms of our teachers back then. Something I’ve realized repeatedly…
Hi, Microservice Architecture This buzzword has become a trigger for me. I have written about it often. Earlier this year, my article Microservices are a Big Ball of Mud trended on Hacker News The 343 comments on my article clearly show how heated this topic can be 😉 Of course, the rational view on it is different from what I presented in that article. It ALWAYS depends on the context.…
Hi, What is actually a “Unit” in a Unit Test? Dumb question, you might say. But it’s an interesting one. For many years, like most people who talk about this topic, I believed: A unit is a class that I want to test. And maybe you saw it that way too. And you certainly had a few problems with it. For example, the symptoms of resulting Coupling What happens when we write a…
Hi, Unpopular Opinion Warning: Legacy is Sexy! To be honest - I didn’t always see it that way. You probably felt similar. My first (big) professional project was a legacy application It wasn’t actually that old. If I remember correctly, it wasn’t even a decade old. But it felt much older. This was mainly due to the many inexperienced developers who worked on the application. I…
Hi, After 9 hours, the decision was clear: We had to roll back. The first release in almost 1.5 years had failed. And it was going so well. The meticulous preparation of the past weeks had paid off. Everything was going according to plan. The necessary changes to the VMs went as expected. The major migration was successfully completed after one hour of runtime. The new content files were…
Hi, After almost two years without a release, this Saturday marks the big day. One of my clients hasn’t released for two years - incredible 🤯 Why? There are many reasons. The team got entangled in complexity. Significant (and necessary) changes were made. But these led to numerous side effects. And the goal was to do everything “right.” So, development continued. With one topic…
Hi, Why do we develop object-oriented today and not functionally? Why are 7 out of 10 of the most popular programming languages object-oriented? And why is there no purely functional language among them? Source: Stackoverflow Developer Survey 2023 This question was also asked by Richard Feldman in 2019 . And the backgrounds are interesting. Of course - as always - it’s complicated. But one…
Hi, My work methods have changed more in the past year than ever before. A year ago, OpenAI released ChatGPT. At the time, I thought the technology was cool, but I didn’t realize how much it would impact my work. And that in less than 12 months. Today, I use AI for so many things: I no longer Google questions; I ask ChatGPT GitHub Copilot writes code before I even know what I want to write…
Hi, My fingers were tingling at the start of Thorben Janssen’s session “The Big Java Persistence Q&A”. The first question was roughly: “In the previous talk (something with JPA), it was said that one should annotate every test with @Transactional . This will automatically roll back the data after the test. We’ve had a discussion and can’t agree. What’s…
Hi, Nervousness sliced through the room. I saw it in the eyes of all attendees. It was supposed to be just a routine meeting. Once a week, the development team meets with the admins to discuss current topics. This meeting has been held for years. Same time, same people, (almost) the same topics. But something was different this time. A new colleague participated for the first time. An external. We…
Hi, For a treasure hunt for a 5-year-old, I want to write a text. The text should be written by a pirate, describing a riddle where the pirate’s treasure is hidden. It should be hidden in a place where creepy trees are. Can you write the text for me and make it rhyme? With this prompt, I fed ChatGPT. I had just returned from Berlin from the RabbitMQ Summit .
Hi, Is Scrum democratic? This question keeps coming up. Time and time again, I find myself in teams where this question becomes the focal point. The keyword that often comes up is “self-organized team.” How much autonomy does a self-organized team have? Undoubtedly: The team organizes its work on its own. The Product Owner decides which tasks are to be tackled and in which order . And…