Also the author focuses entirely on client needs,
and forgets the other reason to use backoff to be nice to the server:
when the service is overloaded and slow but not down,
clients all backing off allow the server to catch up.
But of course it's important to use bounded exponential backoff with jitter,
otherwise a bunch of clients that have backed off can all retry within an narrow window,
and the server is again overwhelmed.
Also the author focuses entirely on client needs, and forgets the other reason to use backoff to be nice to the server: when the service is overloaded and slow but not down, clients all backing off allow the server to catch up. But of course it's important to use bounded exponential backoff with jitter, otherwise a bunch of clients that have backed off can all retry within an narrow window, and the server is again overwhelmed.