Games like Factorio, Satisfactory, … can teach you concepts that are relevant in (software) engineering.
Logistics games teach you about tech debt
- Designing a factory that can grow over time is not trivial.
- Designing a transportation bus that can grow (higher throughput) over time is not trivial.
- Factorio comes with backpressure by default. You can get around it by adding buffers (crates), if you need that.
- Trains vs. belts: Trains are higher latency (unless they’re very far away, in which trains are lower latency) but higher throughput.
- Shared queue ensure throughput remains high.
I found that it’s good to place multiple separate factories and connect them up (usually with trains, but you could do it with belts as well). These are comparable to microservices.