back to blog

What Cricket Taught Me About System Design

Cricket and system design might seem worlds apart, but the game taught us lessons that directly apply to building scalable, resilient systems. From teamwork to handling failures, the parallels are surprisingly powerful.

Maruf Hossain
August 21, 2025
4 min read

TL;DR

Cricket has surprising parallels with system design:

  • Clear roles matter → microservices need defined responsibilities
  • Good distribution wins games → field placement is load balancing
  • Strategy guides everything → captains and architects see the bigger picture
  • Failures happen → resilient teams (and systems) adapt
  • Small wins add up → caching and indexing are like singles and doubles

Who This Is For

  • Developers curious about fresh ways to think about system design
  • Students who like connecting real life to tech
  • Leaders balancing teamwork, strategy, and resilience

Prerequisites: None, just an interest in systems, sports, or both.


Introduction

When we hear "system design," we usually think of servers, load balancers, and databases. When we hear "cricket," we think of runs, wickets, and long summer matches.

But the overlap is real. The way we set roles, spread resources, handle failures, and optimize strategy in cricket is exactly how we build scalable systems.

Here's how lessons from the pitch connect to engineering.


Main Content

Lesson 1: Roles Matter = Microservices

In cricket, everyone has a role:

  • Bowlers bowl
  • Batsmen score
  • Keepers defend behind the stumps

If one person tries to do everything, the team collapses.

Systems are the same. Microservices work best with clear responsibilities. A payment service shouldn't also manage user profiles. A search service shouldn't handle authentication.

Key Takeaway: Just like in cricket, systems succeed when each service (or player) sticks to its specialty, and works in harmony with the rest.


Lesson 2: Field Placement = Load Balancing

Captains place fielders where the ball is most likely to go. Too many in one spot wastes resources; too few leaves gaps.

That's load balancing in a nutshell. Netflix, for example, distributes requests across servers worldwide. If everyone in Canada hit a single server, it would crash, just like leaving a whole side of the field open.

And just as we move fielders when a big hitter is batting, we add servers when traffic spikes.


Lesson 3: The Captain = System Architect

The captain doesn't bowl every ball or face every delivery. Instead, they set the strategy, decide who plays when, and adapt as the match evolves.

That's what a system architect does. They don't write every line of code but design how databases, APIs, and services connect and scale.

Slack is a good example. Architects had to plan how millions of messages move in real time without servers going down.

Both roles demand the same thing: keeping the bigger picture in view.


Lesson 4: Failures Happen = Resilience

Cricket matches are full of surprises; rain delays, injuries, unlucky umpire calls. Strong teams adapt and carry on.

Systems face the same reality. Servers crash, APIs fail, traffic spikes unexpectedly. The best systems - like the best teams - are built for resilience.

Think about Black Friday e-commerce traffic. Even if one server fails, another is ready to step in, just like a middle-order batsman taking over when an opener gets out.


Lesson 5: Small Wins Add Up = Optimization

Everyone loves sixes, but most matches are won by singles and doubles, steady contributions that build momentum.

In system design, it's the same with optimizations:

  • Caching avoids repeated lookups
  • Indexes speed up queries
  • Async queues smooth traffic spikes

One by one, these may seem small but together, they make systems faster and more reliable.

Optimization Lesson: The difference between a good system and a great one often lies in the details, just like the difference between a good team and a winning one.


Key Takeaways

  • Clear roles create efficient, maintainable systems
  • Smart distribution prevents bottlenecks and improves performance
  • Strategic thinking separates good systems from great ones
  • Resilience ensures systems survive unexpected challenges
  • Optimization compounds over time for significant improvements

Conclusion

Cricket reminds us that success comes from clear roles, smart distribution, resilience, and steady improvements.

System design isn't only about servers and code. It's about teamwork, adaptability, and long-term thinking, principles that apply on the pitch and in engineering alike.

Next time we're watching (or playing) cricket, we might notice: the strategies aren't that different from the systems we build.

Have you ever connected sports or hobbies with engineering lessons? I'd love to hear your take - reach out via contact or connect on LinkedIn.

— Maruf