Devlog #0: The Profiles Bounded Context RFC
A look into the planning when extracting a new bounded context.
I'm excited to announce the first instalment of my devlog is live: Devlog #0: The Profiles Bounded Context RFC.
In this series, I’ll take you behind the scenes of our journey to break apart a monolith, sharing both the wins and the challenges along the way. This first post covers the planning phase for extracting a service out of a complex and highly coupled system.
Instead of focusing on implementation details (don’t worry, that’s coming later!), it’s all about the big-picture stuff—planning, software design, and getting everyone on the same page.
Planning, documenting and aligning teams may not be appealing to everyone. But, it’s a large part of my role as Staff Engineer at TransferGo. I felt it was important to include the early stages. Otherwise, I felt I’d be skipping the origins of the project and leaving out the start of the story.
This post looks into:
Tightly Coupled Systems: Exploring real-world challenges and strategies behind separating tightly coupled components.
The Role of RFCs at TransferGo: Discover how TransferGo’s RFC process helps their distributed teams manage changes to complex systems.
Deciding Against a Microservices: The reasoning behind extracting a Bounded Context within an existing monolith and how this helps with system evolution.
Deciding Against the Strangler Fig pattern: How using Branch by Abstraction allows gradual, low-risk transitions while maintaining system stability.
Whether you're a seasoned architect or a curious engineer, I believe there’s something valuable here for you—practical insights, real-world challenges, and ideas you can take into your own projects.
Thank you for being part of my community. If you know someone else that may be interested in these topics - please share it with them. Next I’ll cover Implementing the Branch by Abstraction pattern. Stay tuned for more updates as the journey continues!
Best regards,
Andrew