In the summer of 2016 I wrote my first program (a Windows Forms app written in VB.NET, believe it or not). Quickly afterwards I became so enamored with programming that I made it my profession.
Since then I've successfully attained two higher education degrees in computing, lived in two countries, became a FLOSS contributor, created and maintained a microservice application with over seventy thousand lines of code all by myself, programmed supercomputers including a neuromorphic one with over one million cores (SpiNNaker) and tried to teach machines how to see and how to conservatively predict whether a loan request is likely to default. I learned a lot, failed many times and had the time of my life doing it all.
After graduating in the fall of 2020 I became a freelancing software engineer, because I wanted to explore and experience the process of developing software to the fullest. I had the priviledge of working with true masters of the craft during my studies. Having learned a lot from them and having witnessed what they are able to do, I hope I can follow in their footsteps. Therefore I'm trying my best to develop simple, well-tested, secure, useful and accessible software.
This website serves as an introduction to myself, my work and the values it embodies. If you like what you see and think I could help you achive your ambitions, don't hesitate to contact me!
What I can do to help you successfully realize your idea and mold it into software.
Microservices or a monolith? On-premises, cloud, hybrid or multi-cloud? Which 3rd-party vendors or open source technologies fit best? Together we will figure that out. We will deconstruct your problem using Domain Driven Design and create a scalable and maintainable application for you.
A maintainable software project that will run for a long time may start with a good, domain-driven architecture. But in the end, it's about the implementation. Let's make the internet a tiny bit better by writing simple and secure code to prevent the next data breach.
High performance and high availability computing is fun. Unfortunately, distributed systems are still very complex. It's hard to figure out communication, synchronization and fault tolerance. Together we will scale up your system while keeping track of all the moving parts.
The idea of teaching computers how to solve complex tasks based on data instead of instructions is very alluring and shows promising results. Having experience with supervised machine learning and conformal prediction on real-world data sets, I'd love to teach computers to make descisions based on your data.
In the end, software is all about people. And most people interact with computers through a graphical user interface. Having experience with Flutter and Material Design in production, I can help you get your Flutter app off the ground and reach your clients on every device.
I have a clear vision of what I think software can and should be. These are the core values I apply to my work to bring that vision to life. To create synergies and subsequently an environment that fosters collaboration and creativity, core values must match.
My code, my responsibility. Bugs in production are annoying and potentially dangerous. Mistakes should be caught as early in the development cycle as possible. Not only to prevent security issues, but also from the standpoint of cost. Two days spent on a decent test suite today has the potential of saving a lot of time and money tomorrow.
Software engineering has a lot to do with gut feeling. Sometimes you find ideas along the way that feel like they have the potential of creating something amazing. Instead of rigidly focusing on the backlog, I believe these ideas have to be explored immediately. I grant myself the freedom to do so.
Deleting code is better than writing it. Feature creep and entropy result in software that dies before it should. I apply teachings from the Extreme Programming, UNIX and TDD philosophies to my work. My focus lies on creating lean, extensible, decoupled and long-living software. If I think a feature does not fit these design principles, I will tell you so and I expect you to be open to negotiation.
Programming is the art of expressing computation for a computer to execute. Software engineering is the art of enabling other engineers to understand, use, change and extend a program. I'm striving to find the simplest possible solution by (I) using the right level of abstraction, (II) sensibly dividing a problem into more manageable sub-problems and (III) by developing a self-explanatory and consistent API.
I think code that is hacked together by a sleep-deprived individual at two o'clock in the morning, right before a deadline is never ready for production. Deadlines are artificial constructs. Estimates are faulty and seldom correct. I prefer to focus on my work, on doing it the right way, rather than getting caught up in this wasteful game.
The main projects I am working on or have worked on as a freelancing software engineer.
I wrote the technical domain specification for an application enabling teachers to generate rich semester plans based on the inquiry-based learning method. The tool should guide teachers through the generation steps with the help of a recommendation system. Currently in the stage of raising funds for the development.
Created and maintained the second iteration of the carpolice.de InsurTech platform. The platform served car dealers wanting to provide their customers with an all-inclusive service containing car insurance. Car dealers used a web client for selling insurance products specially designed for car dealerships. Launched in April 2021 and retired in July 2023.
Applied an adaptation of the conformal prediction method to the consumer loan data of a German bank. The goal was to save the bank money by rejecting loan requests likely to default as early in the approval process as possible. 17% of all declined requests were filtered out by the algorithm while retaining an accuracy of 98%.
I came here, because I fell in love with programming. I stayed, because of FLOSS (Free/Libre and Open Source Software). People freely sharing their work and knowledge has impressed me greatly. Currently I'm trying my best to be a helpful part of the Rust community, answering questions on the Rust Users Forum and Stack Overflow and occasionally contributing to core Rust projects and community crates. Besides that, I submit micro-contributions to FLOSS projects I use whenever I can and also maintain my own, some of which are listed below. You can find more on GitHub.
Mainly declarative and procedural macros, serde and actix-web related utility crates. Browse through them and hopefully you'll find something that can help you with your next Rust project.
Short for Machine Generated Art and pronounced "em-gart." I find the beauty of mathematical structures and algorithms very enticing. So I build a program that lets you generate your own algorithmic art with a simple-to-use declarative API. The images on this page are generated with Mgart.
As a freelancer you have a lot of options when it comes to making your taxes and other business tasks, like invoicing or hour tracking. None fit my needs, so I created a free bare-metal tool where you have full control over your data. The best part? You don't even have to leave your terminal.
Besides honing my skills as a software engineer and professional, I particularly enjoy the following activities.
I make my own kimchi, sauerkraut, hot sauce, tomato sauce, lacto-fermented and pickled veggies, preserved lemons, vinegar, kombucha, tibicos, kefir and natural cheese. In short, I ferment pretty much everything I can lay my hands on. But my biggest pride is my sourdough. There is no greater joy than eating a slice of freshly made sourdough bread. Or pizza. Or brioche. Next I'd like to get more into alcoholic drinks like beer or mead and the really weird stuff (I have a bucket full of maturing garum made from trout intestines I can't wait to try).
It all started 2020 during the first wave of COVID-19. Because traveling abroad was virtually impossible due to quarantine measurements, a couple of friends decided to spend a three day weekend holiday trip exploring the countryside of the Bergisches Land, our birthland. I joined and instantly fell in love with backpacking. Since then I did a few trips through Germany and the Scottish Highlands. The longest hike I did so far was a hundred miles from Fort William to Aviemore in seven days. My goal is to one day walk a two thousand mile trail.
I've done sports almost all my life. Exercising is one of my most beloved routines, hugely important for my happiness and well-being. In my childhood and youth I played basketball in a club. Nowadays my focus lies more on functional fitness and being a healthy, fit and injury-free person. I like to perform the occasional olympic or power lift and enjoy squash. I recently started to go running again and was tremendously surprised how good it felt.
If you are interested in collaborating on a project, be that professional work or FLOSS, feel free to write me an email. If you got something funny or wholesome and wish to share it with me, do so as well.