About
Mission
Passionate about software development, programming and software design - that's me.
My experience in software development ranges from simple bash scripts over assembler routines and Linux device drivers to large cloud based business applications.
Since ~2017 I've gathered a lot of experience with applications in the cloud hosted by AWS infrastructure. Being key designer and architect of a rather large JVM based application running in the cloud with cluster and failover features. Docker and Kubernetes are my daily tools for packaging and running these applications.
Today I work intensively with AI. On the one hand as a tool in my daily development work, where agentic coding tools like Claude Code have become a natural part of how I build software. On the other hand as part of the software itself. I design and build agentic, AI supported workflows using orchestrator frameworks like Temporal, Conductor and similar, where AI agents and LLM steps are integrated into durable, long running business processes.
I work extensively with the Java Virtual Machine. Writing Java code since 2000, and Scala code since 2010. I've also been using Kotlin, Clojure and other languages running on the JVM.
Web technologies like Apache Wicket I use for more than 14 years and gained expert knowledge.
For many years my interest was focused on macOS and Cocoa. So I've developed larger projects on macOS and apps on iOS as well as native apps for Android. Some time ago there was also .Net with C# and ASP.Net, C++, C, Python in the mix.
Elixir (and the whole Erlang landscape) is interesting enough :) to develop a few smaller projects with it. It is a really attractive purely functional language with immutable data types, running on the battle proven Erlang VM. Indeed very interesting. I wish I could do more with it.
Since early 2019 I found the world of Common Lisp, or the world of Lisps in general. I kind of got hooked with Lisps and Common Lisp in particular. The simplicity and the beauty and yet the power makes it a great experience to write applications with it.
I like writing code, clean code. Maintainability of code is key. Quality is key. And it's the right thing to do. For the businesses and our own sake (developers), to improve ourselves and what we do.
But what is 'clean-code'? Isn't this subjective?
Start with Robert C. Martin's book 'Clean Code'. It describes principles that are today more and more commonly accepted.
This quote from Michael Feathers also is quite on spot: "Clean code always looks like it was written by someone who cares."
I like good software-design and I strive to know more and do better. That means I follow and apply the principles of SOLID and various software patterns. That also includes various architectural patterns. I try to think of the bigger picture of the software, looking at it from a higher-level.
I do practice the discipline of test-driven development (TDD). It is part of my daily job since ca. 2014 and I must say that I wouldn't want to do serious development without TDD anymore.
Why? Because it is a superior technique to reduce software defects to a minimum. Also does it help with designing testable, separated and decoupled code.
I'm an advocate of software craftsmanship. It is a growing community of developers that adhere to the principles of master, journeyman and apprentice together with a mindset of teaching and learning and helping each other.
But most of all does it bring back the principles of writing good software as they were envisioned by the people that did originally sign the Agile Manifesto.
Here are a few links where you might get more information about what I do:
In 2003 I received the degree in computer science at the Georg Simon Ohm University in Nuremberg, Germany.