Welcome to my humble website
This is my small pet website. I will work on it from time to time and to try out some html and JS stuff.
This website is freely hosted on netlyfy. The only thing you need to provide is the domain and they will create for you a certificate with let's encrypt.
I am working as a freelancer and therefore use the most of my time to travel and work for some different customers.
To see some of my other private project, see my github account
One of my hobbies is to participate in hackathons, as they bring people together and make me learn new stuff.
My Expertise
Microservices & Modulith Architecture
Choosing the right architecture for your project
As developers, we often hear buzzwords and don't know what they mean exactly or what their correct use case is. This was true for me regarding microservices for a long time. "Use microservices and all your issues will disappear." Unfortunately, it's never that simple.
Now there's a new buzzword: Modulith. How is this used in comparison to microservices? Why do we need it? Let's explore this together.
Modular monolith with strict boundaries between domains, running as a single unit.
Key Characteristics:
- Fast in-process communication
- Simple deployment and debugging
- Easy refactoring across modules
Best For:
- Starting a new project
- Small to medium teams
- Frequent inter-domain communication
Modulith
Modular monolith with strict boundaries between domains, running as a single unit.
Key Characteristics:
- Fast in-process communication
- Simple deployment and debugging
- Easy refactoring across modules
Best For:
- Starting a new project
- Small to medium teams
- Frequent inter-domain communication
Microservices
Independent services that communicate over the network, each deployable separately.
Key Characteristics:
- Network-based communication
- Independent deployment per service
- Separate scaling per service
- Technology flexibility per service
Best For:
- Large autonomous teams
- Different scaling requirements
As you can see, moduliths shine in an environment where we need to explore new possibilities and have fewer resources to work with. They help to keep costs down and complexity at bay.
Microservices, on the other hand, allow for much more flexibility and the choice of architecture and technologies used. Each team can decide for themselves, as long as they provide the correct API and interfaces. That is also the reason why they are much more resource-hungry and need more attention.
For me, both concepts can live together. Why should each team have a microservice? It should be more of a service-oriented approach. Inside this service, they can choose how they want to build it. And there, moduliths shine mostly through. Having a collection of common domains makes more sense than separating all of them.
Accordion with multiple open
- Front-End need to be disjunct with the back-end
- Clear Interfaces between logical group
- Is the used tech mature
One of the aspects I love about software development is the ability to create something that is used and appreciated by others. It's an incredible feeling to witness people utilizing and benefiting from the software I've developed.
Another aspect of a fullstack developer is to see how the different parts of the software interact with each other. As I started to create the backend, with the front-end in mind. It's a great feeling to see, that I can use my backend as I thought it would be used. Just that it comes together like this is amazing.
Accordion where only one can be opened
When I was doing my apprenticeship as a chemical worker, production of pharmaceuticals. I was learning about state machine ans simple logical gates. With them, we needed to create simple programs to control lights or watering systems.
This showed me, that I love to solve problems, and doing it with software is a simple way. From there I started to learn more about software development, and was learning java in my free time.
It's a merger of Natur, Engineering, Medicine and Environmental science.
In my studies I learned different aspect of the above mentioned topics. Many of them have nothing to do with software development. But they taught me different ways to approach problems. As many of the topics have logical challenges.