But I haven't seen it in this context yet [1], and like some of you I've spend way too many hours what Factorio does to a programmer or how it teaches people programming skills.
Since recently, I'm doing a course on systems design since I'm interviewing with a FAANG company and the more I am following that course, the more I just get Factorio flashbacks.
Especially the following concepts map 1 to 1:
- Latency and throughput (e.g. that time when all the iron is locked up behind a slow inserter)
- Availability (e.g. aliens attacking part of your base, bye bye pipeline)
I've also seen the following concepts, but it requires a bit more imagination to see the mapping:
- Client / Server (e.g. you need certain materials to create advanced materials, one factory serves another)
- Caching (e.g. trains are slow, boxes are needed)
- Protocols (at the advanced Factorio level, like a main bus for your materials)
- Storage (e.g. the ore deposits themselves)
There are probably a lot more concepts that are similar, but this is how far I am with my course :P
[1] I have seen it in the distributed systems context, but IMO distributed systems is much more in-depth than Factorio is. Systems design interviews, seem to be less in-depth compared to a university course on distributed systems (e.g. Maarten van Steen's book).
Technical interview methods pale in comparison to playing Factorio with someone - https://news.ycombinator.com/item?id=26591966 - March 2021 (344 comments)