Most anything by Bob Nystrom. Some (all?) of his books are available for free on the Web. I recommend starting with Crafting Interpreters.
fwiw I would recommend all programmers read Game Programming Patterns even if they have no intention to ever write a game.