The seven wastes of software development
Lean Thinking is more than just a set of management tools; it is a philosophy centered on maximizing customer value while relentlessly eliminating waste. At its core, it challenges us...
I am an agile and pragmatic software engineer and technology consultant with a passion for driving innovation and excellence.
My role often transcends traditional boundaries, embodying the essence of an enabling team consultant, tech lead, architect, full stack developer, and QA.
Software engineering is a multifaceted discipline that has to integrate technology, social team dynamics, and business strategy. This makes software engineering a complex domain and many decisions are tradeoffs.
At the core of software engineering lies a robust set of technical practices encompassing programming, testing, debugging, and architectural design.
The success of software projects often hinges on the dynamics within development teams. Agile methodologies promote iterative cycles of planning, prioritization, and execution, fostering a collaborative environment where communication and fast feedback is key.
A strong DevOps culture, which blends development and operational activities, enhances the efficiency and reliability of software by fostering closer collaboration and integration between teams.
A decentralized approach to architectural decision-making is important, to empower teams to make choices based on their specific contexts and challenges.
The strategic aspect of software engineering involves aligning projects with the organization's broader goals and objectives. The overarching aim is to ensure that software engineering efforts support the organization's direction and add value.
Lean Thinking is more than just a set of management tools; it is a philosophy centered on maximizing customer value while relentlessly eliminating waste. At its core, it challenges us...
I’m excited to share the first MVP release of NKP (aNalysis of Kotlin Programs), a command-line tool for analyzing Kotlin codebases and uncovering architectural insights.
I’ve written a new article for JavaSpektrum: “Java im Technology Radar – Totgesagte leben länger”. The piece looks back at Java’s journey through the eyes of the Thoughtworks Technology Radar...
I’ve written an article for JavaSpektrum 2/2025 about Structured Concurrency in Java 24. The article covers JEP 499, Java’s fourth preview of Structured Concurrency, which aims to make concurrent programming...
As an external consultant in an Enabling Team for Cloud Architecture, I supported several teams and noticed that software development quality was lacking. This surprised me because the client was...
Concurrent and asynchronous applications can be written in Kotlin with coroutines in a precise and structured way. Unfortunately, concurrency often increases the complexity and it is difficult to create bug-free...
In my talk “Nebenläufigkeit mit Koroutinen strukturieren” at the KKon 2021 Warmup I explained how to structure and organize concurrent programs with coroutines in Kotlin.
During the chrismas holiday I started a new ray tracer in Kotlin while following the book “The Ray Tracer Challenge.
I updated my website so that it looks new and shiny and provides faster and easier access.
At a client of ThoughtWorks I gave a talk about refactoring in line with the book “Mikado Method”. The book describes a method to plan and perform non-trivial refactorings of...