<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Rafał Maciak on JAVAPRO International</title><link>https://javapro-en.svenruppert.com/authors/rafa%C5%82-maciak/</link><description>Recent content in Rafał Maciak on JAVAPRO International</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Fri, 12 Sep 2025 07:00:02 +0000</lastBuildDate><atom:link href="https://javapro-en.svenruppert.com/authors/rafa%C5%82-maciak/index.xml" rel="self" type="application/rss+xml"/><item><title>Microservices: Lessons from the Trenches</title><link>https://javapro-en.svenruppert.com/microservices-lessons-from-the-trenches/</link><pubDate>Fri, 12 Sep 2025 07:00:02 +0000</pubDate><guid>https://javapro-en.svenruppert.com/microservices-lessons-from-the-trenches/</guid><description>&lt;p&gt;During my 15-year journey in the world of software development, I spent the vast majority of my time designing and implementing systems using microservices architecture. I’ve been involved in multiple migrations from monolithic systems to microservices, as well as building new solutions from scratch.  Along the way, my teams and I made plenty of mistakes. Some were quite trivial and easy to correct, others involved decisions that were difficult to reverse, or changes that required significant effort to fix. More than once, I found myself in situations where it seemed that working with this architecture was pointless and too challenging.&lt;/p&gt;</description></item></channel></rss>