Start by understanding where the time is actually going
One of the first difficulties was visibility. There was no reliable end-to-end representation of what happened after a customer triggered a recalculation.
To investigate performance problems, we traced requests from the API downward, manually correlated log lines, followed the query path, and worked with engineers responsible for different parts of the processing pipeline to reconstruct what was happening.
That experience reinforced something we already suspected: improving performance would be difficult if every investigation began with detective work.
The backend had no consistent observability layer, making it difficult to identify bottlenecks and monitor services systematically. So observability became a foundational part of the solution rather than an operational afterthought.
