Remix.run Logo
libraryofbabel a day ago

I left it open-ended because it would somewhat depend on the junior developer's previous knowledge and their focus (do they have a CS degree? what topics do they want to go deep on in their career?)

But here are some titles:

* Kleppmann, Designing Data-Intensive Applications

* Nand2Tetris. Computers from first principles, often fills in a lot of gaps. Possibly preceded by Code: The Hidden Language of Computer Hardware and Software if they need even more grounding.

* SICP if I think they'd be ready for it

* Crafting Interpreters

* If they're working with Python I'd give them Fluent Python by Luciano Ramalho. For whatever other language(s) pick a book that allows them to go from intermediate to advanced in that language and really understand it inside out.

* Ousterhout, A Philosophy of Software Design

* Data and Reality

* The Staff Engineer’s Path by Tanya Reilly to demystify the upper IC track. Or The Manager's Path by Camille Fournier.