One could compare creating modern IT solutions to building rockets. Both are very complex tasks, impossible to be completed without a well-balanced combination of the right tools, high-quality components, motivated professionals, and proper organization. In both cases, the number of try-fail-repeat cycles is only limited by the budget and time to market... or investors' patience.
Building working software does not have to be rocket science. To do it right, proper experience, a bit of intuition, and good tooling understanding is a must. If you feel, that reinventing the wheel is not the way to go (unless you compete with other wheel inventors), the easiest way to gain an advantage (and even spare a lot of time & money) is to get proper support upfront.
I'm an experienced software architect specialized in building modern distributed systems, who value solving problems over hype-driven choices. I don't believe in one-size-fits-all designs. Instead, I'm doing my best to apply just the right solution for a particular problem. Being an active full-stack developer helps me to advise ideas that are practical also from the implementation point of view. Getting a proper understanding of the business needs is not less important than the technical aspects of my everyday work.
The area of my expertise includes:
- designing modern system architectures from scratch based on domain needs
- applying microservices and distributed systems patterns
- introducing event-driven communication & stream processing with Apache Kafka
- transforming monolithic systems into modular ones
- building server-side applications quickly with Spring Boot & Java/Kotlin
- effective JVM apps dockerization & preparation for running them within Kubernetes clusters
If that sounds exactly like something that's needed in your project or organization, feel free to contact me.