The Elements of Typographic StyleRobert Bringhurst

The Visual Display of Quantitative Information and Visual Explanations: Images and Quantities, Evidence and NarrativeEdward R. Tufte


The Art of Doing Science and Engineering: Learning to LearnRichard W. Hamming

The Mythical Man-Month Essays on Software EngineeringFrederick P. Brooks, Jr.

Managing the Unmanageable: Rules, Tools, and Insights for Managing Software People and TeamsMickey W. Mantle, Ron Lichty

Ideas That Created the Future: Classic Papers of Computer ScienceHarry R. Lewis

Programming Quantum Computers: Essential Algorithms and Code SamplesEric Johnston, Nic Harrigan, Mercedes Gimeno-Segovia

Knowledge Representation: Logical, Philosophical, and Computational FoundationsJohn F. Sowa


Project Oberon: The Design of an Operating System and CompilerNiklaus Wirth and Jürg Gutknecht

Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent SoftwareScott Rosenberg

Structure and Interpretation of Computer ProgramsHarold Abelson, Gerald Jay Sussman, Julie Sussman

Grokking Algorithms An Illustrated Guide For Programmers and Other Curious People https://www.amazon.com/Grokking-Algorithms-illustrated-programmers-curious/dp/1617292230 Aditya Bhargava

Data Structure VisualizationsDavid Galles

The Big-O Cheat SheetEric Rowell

The Art of Computer Programming, Volumes 1-4A Boxed SetDonald E. Knuth

Algorithms (4th Edition)Robert Sedgewick, Kevin Wayne

The Algorithm Design Manual (Texts in Computer Science)Steven S. Skiena

Purely Functional Data StructuresChris Okasaki

Time, Clocks and the Ordering of Events in a Distributed SystemLeslie Lamport

Category theory for programmersBartosz Milewski