Blog & Articles

Blog Post

Agents good in the end?

Software development consists of a constant chain of trade-offs. As long as I’ve been building systems, there have always been things you don’t do despite wanting to do them. But now, with agents, we can fulfill all our dreams and finally build everything we always wanted and had the feeling we were missing. Spoiler alert: we shouldn’t do that.

Blog Post

Understanding AI Coding Patterns Through Cognitive Load Theory

AI coding assistants either severely harm learning or enhance it beyond manual coding—depending entirely on interaction patterns. A recent study reveals six distinct patterns with dramatically different outcomes. We’ll examine why through cognitive psychology and explore the study’s limitations.

Article

Ein Überblick der AI-assistierten Softwareentwicklung in 2026

Orientierung für Verwirrte

Article

Features für einen schnelleren JVM-Start

In diesem Artikel wollen wir uns mit dem Kritikpunkt der langsamen Startzeit der JVM beschäftigen. Dazu schauen wir uns an, was eigentlich beim Start passiert und mit welchen schon vorhandenen oder in Zukunft kommenden Features die Startzeit verbessert werden kann.

Article

Neuland reloaded

When Angela Merkel said in 2013 that the internet is ‘Neuland’ (uncharted territory) for all of us, the amusement online was considerable. Viewed from some temporal and substantive distance, one can now recognize a perspective from which she was indeed correct.

Blog Post

From Vibe Coder to Code Owner

Blog Post

I sandboxed my coding agents. Now I control their network.

I want my AI coding agents to work independently, but I don’t want them to have unrestricted access to the internet. In this post, I describe how I routed all network traffic from my development sandbox through a strict proxy allowlist, allowing only a small set of explicitly approved domains. This setup finally gave me enough confidence to loosen the guardrails without constantly staying in the loop.

Article

Jeder kann Architekt sein!

Und jede natürlich auch. In diesem Artikel zeige ich, dass die Architektenrolle andere Kompetenzen verlangt, als viele annehmen.

Blog Post

Über AI-Einsatz in verschiedenen Coding-Situationen

Meine Interpretationen zur Developer Productivity Study der Stanford University

Blog Post

Your Database Table is an awful API

A shared database table can feel like the ultimate shortcut: no API design, no contracts - just a schema. The catch is that this convenience quietly turns into friction: it blurs boundaries, slows change, and makes independent evolution harder than it needs to be. This article looks at why tables (and data-model-shaped “generated APIs”) are such a tempting trap - and what better integration boundaries look like.

Blog Post

Let’s Not Normalize Insecure AI Assistants

AI assistants like OpenClaw promise convenience, autonomy, and increasingly personalized help. But beneath that promise lies an architecture that quietly combines private data, internet access, and exposure to untrusted content—the lethal trifecta of security risk. Sandboxing and physical isolation help, but they don’t address the core problem. As we add more capabilities, the potential blast radius only grows. This post is a case for slowing down, questioning defaults, and refusing to normalize insecure architectures.

Blog Post

Die persönliche KI ist schon da

Wir sind vermutlich noch nicht darauf vorbereitet

Blog Post

What to Do While the AI Is Thinking

AI can write code while we wait — but that doesn’t mean we suddenly have free time. Whether we should think, multitask, review, or rest depends on what kind of work we are doing.

Blog Post

AI and Elaboration: Which Coding Patterns Build Understanding?

AI tools let you complete coding tasks without connecting new information to your existing mental models—a cognitive process known as elaboration that is crucial for building understanding. But some AI interaction patterns preserve this elaboration while others bypass it entirely. Let’s explore what elaboration is, why it helps with learning, and how we can use AI tools in a way that helps with this process rather than circumventing it.

Blog Post

Fetch-Tools vs. Browser-Rendering in Agenten-Setups

Blog Post

I sandboxed my coding agents. You should too.

LLM coding agents are extremely powerful because they can run programs on our computers using our permissions. However, this same power also makes us very vulnerable. It only takes one mistake or one prompt injection to compromise the whole system.

Blog Post

Leave It Better Than You Found It

Leave your code better than you found it. This advice, also known as the Scout Rule, sounds so simple, but what does it look like in practice? This is the story of how I followed the advice and cleaned up a fat controller along the way, and how this unexpectedly enabled us to handle new requirements quickly and with minimal effort. It’s a lesson in habits and continuous architecture.

Blog Post

Why not scatter @Transactional everywhere?

Article

Was, da geht noch mehr? Noch mehr Besonderheiten von und mit Java

Bereits vor ein paar Jahren haben wir uns Dinge angeschaut, die in Java funktionieren, aber sehr ungewöhnlich sind. Diese Liste werden wir in dieser Folge des Praktikers ergänzen.

Blog Post

From FOMO to Focus

AI is on every agenda – but where do you start? Many companies launch multiple AI initiatives in parallel, driven by the fear of missing out. The result: scattered resources, lack of prioritization, and unclear business impact. AI Opportunity Mapping provides a solution: it systematically guides you from vague AI visions to concrete, prioritized use cases with real business value. In five steps, teams develop AI opportunities in a structured way and make well-founded decisions. The result: focus instead of FOMO, clarity instead of chaos.

Blog Post

Speed vs. Skill

Developing with AI through the cognitive Lens

Article

Menschenlesbare Datenformate mit Jackson verarbeiten

Wir nutzen tagtäglich Datenformate. Zum Austausch von Informationen mit anderen Systemen oder auch zur Definition von Dingen wie unserem Build oder zur Konfiguration unseres Systems. Manche davon sind binär, aber auch viele bis heute direkt von Menschen lesbar. Für die Verarbeitung von JSON in Java hat Jackson eine hohe Verbreitung erreicht. Aber Jackson kann mehr als nur JSON, wie wir in diesem Artikel sehen werden.

Blog Post

Context Engineering: Managing AI-Generated Code Complexity

AI tools make developers more productive at writing code, but can overwhelm code reviewers with massive changes. Learn practical strategies for managing context in AI-assisted development to keep your code comprehensible, your reviews manageable, and your team’s productivity genuinely improved. Small scope was always good practice—with AI, it’s essential.

Article

Prompts als Programm in GPT-5

Das Ende des Geschreis

Blog Post

Swiss Army Knife for Salesforce: LLM with In-Memory Database

Large Language Models (LLMs) struggle with transforming large datasets, particularly when performing aggregations that require calculations - essentially anything where you’d normally use GROUP BY or ORDER BY in SQL. But what if we need to retrieve extensive data from a system and process it with an LLM, but only have an API with limited functionality available? In this blog post, I present a solution I’ve implemented and tested.