Tag Software Architecture

When Retries Made the Problem Worse

A downstream service started timing out. So we did what seemed like the responsible thing. We added retries. The thinking was straightforward. If a request fails because of a temporary network problem or a momentary downstream slowdown, try again. The…

Why Smart Engineers Make Bad Architectural Decisions

An experience-informed composite of patterns that emerge in complex engineering environments. The strange thing about bad architecture is that it rarely begins with a stupid decision. It usually begins with a reasonable decision. The engineers are experienced. The design looks clean.…