Make money doing the work you believe in

One idea I’ve been exploring is whether software simulations could become a better way to teach distributed systems.

Imagine a virtual business with one warehouse and several sales channels. Customers place orders, inventory is received, returns are processed, and each channel maintains its own view of inventory.

Now introduce real-world complications:

  • Network latency

  • Queue backlogs

  • Worker shortages

  • Retry storms

  • Duplicate messages

  • Out-of-order delivery

Instead of simply reading about concepts like eventual consistency or idempotency, you could watch them unfold in a deterministic simulation where every experiment can be reproduced using the same workload and random seed.

The interesting part is that the inventory itself isn’t the lesson.

The lesson is understanding how distributed systems behave when multiple independent systems are trying to stay synchronized over time.

Questions such as these become experiments instead of thought exercises:

  • How long does stale inventory persist after a traffic spike?

  • When does adding more workers stop improving performance?

  • How do duplicate messages affect correctness?

  • Why do sequence numbers prevent older updates from overwriting newer ones?

  • Under what conditions can stale inventory contribute to overselling?

I think there is real educational value in turning these architectural concepts into something engineers can observe, measure, and repeat—not just discuss in diagrams.

Have you come across simulations like this for teaching distributed systems, or do you mostly learn these concepts through production experience?

github.com/Garcia-Syste…

Jul 21
at
6:00 PM
Relevant people

Log in or sign up

Join the most interesting and insightful discussions.