Spring Cleaning on the Backend
We have done some general spring cleaning on the backend. We have accumulated a lot of cruft over the years and the time was getting right for us to make the technical debt clean up. Some of the mistakes we made were to create microservices for those that need to be monoliths and monoliths out of those that need to be microservices.
To say all of this was getting a bit complex to manage is an understatement. Instead of serving our customers, which is what technology is supposed to allow, we were serving busywork. Things that look like they are important to do but actually don't provide a whole lot of value.
A lot of these issues are now resolved, helping reduce context switching costs.
Specific Cleanups Done
- Our sales scrapers are now their own microservices. We find that datasets are better if they exist independently of the main code. There is just added complexity of managing a bunch of different scrapers.
- Unified billing that manages our Stripe and Mercury invoicing across our different products.
- Standardized interfaces to connect to our vendors instead of multiple independent implementations.
I know it doesn't seem like a lot, but it is simple things like this that accumulate over time as the SaaS tooling that is used changes.