Coding is an infinite game

January 27, 2024

In game theory, there are finite and infinite games.

Chess is an example of a finite game. There are hard rules, boundaries to your possible moves, and a clear end where one person wins and the other loses.

By contrast, infinite games are unbounded. They can have many players, no hard limits on moves, and no definitive end.

Some developers (and entire businesses) treat software like a finite game that you can win. But of course, if you think about it, that’s unreasonable.

Software development is clearly an infinite game. There are many possible moves and no ending. The objective of the game is to keep playing.

This is another way of saying the same thing as yesterday's post about knowledge ratios. At some point, you realize that you'll never know everything. You confront the fact that you're playing an infinite game.

When you let that sink in, it subtly changes everything about how you approach your work, team, and career longevity.


Profile picture

I write something new every day for 2k software developers. You should sign up for the daily email.

© 2024