Most of the time, unknowingly, a developer-kun uses synchronous APIs where the server expects a response immediately and halts all other work.

This works fine when resources are plentiful and latency is low.

But flip the situation — backend is busy, latency is high. A sync API will wait indefinitely unless programmed otherwise. Bad UX. Angry users. Sad developer-kun.

The Problem — A Real Example

A user signs up on your platform. Your server needs to: