Krishna Sundarram

Factorio and Software Engineering

Factorio and Software Engineering

I’ve been a software engineer a while now and I can say this with confidence - it is fun. It’s great and I wouldn’t trade it for anything else. It’s so much fun that some folks try to capture the most enjoyable elements and put them into games.

I’ve played two such games. The first is This one looks similar to what an engineer working on embedded devices would see. You solve puzzles by writing assembly code on low power devices. What makes this game great is that they remove the annoying parts of writing and shipping code.

Should a software engineer play The gameplay isn’t for everyone. For some people it feels too much “like work”. At the end of the day you want to relax, not work at tasks that feel similar to what you did for 8 hours. Despite that, I think it’s worthwhile just to see how much more fun a task becomes when the requirements are clear and developer tools are fast. Everyone knows that investing in our direction and our tools will help, but having fun playing this game reinforces that feeling.

The second game is Factorio which released last Friday, though it has been available as an early access preview for about 4 years now. Those who’ve played it are probably scratching their heads right now - this is a game about building a factory, not coding. You work with conveyor belts, metals, oil products to craft products necessary to make a spacecraft.

And yet, this game reminds me of software engineering more than any other. Let me explain why.

But more than any one thing, the game is about managing complexity. Designing a specification and implementing systems that fulfill that specification. Maintaining and growing that system over time.

IMO, playing Factorio will not make you a better software engineer. But if you’re a software engineer, you’ll likely find the game fun. And conversely, if you’re good at the game you should give software engineering a shot.

You can get Factorio at on the official website or Steam. There’s also a free demo, in case you’d like to try before you buy. (Just one thing - don’t wait for a sale. This game has never gone on sale and possibly never will.)

Thanks to Minesh Patel for reading drafts of this and suggesting improvements.

Check out the comments on Hacker News and reddit.