Bad Architecture Causes More Production Pain Than High Traffic

Hot take for backend engineers: Most teams do not have a scaling problem. They have a design problem. When a system slows down, the first reaction is usually: add retries add more pods add caching add a queue split another service That feels like engineering. But a lot of the time, the real issue is simpler: chatty service-to-service calls bad timeout values no backpressure weak DB access patterns too many synchronous dependencies in one request path I’ve seen systems with moderate traffic behave like they were under massive load. Not because traffic was insane. Because the architecture was burning resources on every request. That’s why “we need to scale” is often the wrong diagnosis. Sometimes the system does not need more infrastructure. It needs fewer moving parts. Debate: What causes more production pain in real systems? A) high traffic B) bad architecture C) poor database design D) weak observability My vote: B first, C second. What’s yours? #Java #SpringBoot #Microservices #DistributedSystems #BackendEngineering

My rule now: Before adding retries, queues, or more services, I ask one question: Did we actually fix the bottleneck, or did we just spread it around?

there are two principal that people often forget A - good code is: no lines can be removed or need to be added. B - you evaluated by the impact of your code not amount of it

Like
Reply
See more comments

To view or add a comment, sign in

Explore content categories