The canonical and partly opinionated list of books that every software engineer should read in their lifetime.
I have unsuccessfully resisted the urge to give any form of categorization for these books since it won't be a perfect one. For readability, I yielded to providing an approximate categorization, don't take any offense if something doesn't feel in the right place.
- The Algorithm Design Manual - Steven S. Skiena | ORLY
- The Art of Computer Programming (TAOCP) - Donald Knuth:
- The Art of Computer Programming, Vol. 1: Fundamental Algorithms | ORLY
- The Art of Computer Programming, Vol. 2: Seminumerical Algorithms | ORLY
- The Art of Computer Programming, Vol 3: Sorting and Searching | ORLY
- The Art of Computer Programming, Vol 4A: Combinatorial Algorithms | ORLY
- The Art of Computer Programming, Vol 4B: Combinatorial Algorithms | ORLY
- Design Patterns - Gang of Four | ORLY
- Grokking Algorithms - Aditya Bhargava, Jed Limke | ORLY, AMZN
- Introduction to Algorithms - CLRS | AMZN
- Mathematics for Computer Science - E. Lehman, T. Leighton, A. Meyer | AMZN
- Readings in Database Systems - Joseph Hellerstein & Michael Stonebraker | AMZN
- Structure and Interpretation of Computer Programs - H. Abelson, G. Sussman, J. Sussman | MIT, AMZN
- Types and Programming Languages - Benjamin Pierce | AMZN
- Computer Networking: A Top-Down Approach - James F. Kurose, Keith W. Ross | AMZN
- Operating Systems: Three Easy Pieces - R. Arpaci-Dusseau, A. Arpaci-Dusseau | AMZN
- Site Reliability Engineering: How Google Runs Production Systems - J. Petoff, N. Murphy, B. Beyer, C. Jones | GOOGLE, AMZN
- Systems Performance - Brendan Gregg | ORLY
- TCP/IP Illustrated - R.Stevens, et al.:
- Apprenticeship Patterns - Dave H., Andy T. | ORLY
- Beautiful Architecture - D. Spinellis and G. Gousios | ORLY
- Beautiful Code - Andy Oram and Greg Wilson | ORLY
- Code Complete, 2nd Edition - Steve McConnell | ORLY AMZN
- Clean Architecture - Robert C. Martin | ORLY
- Clean Code - Robert C. Martin | ORLY
- Clean Coder - Robert C. Martin | ORLY
- Clean Craftsmanship - Robert C. Martin | ORLY
- Programming Pearls - Jon Bentley | ORLY
- Refactoring - Martin Fowler | ORLY
- Software Engineering at Google - T. Winters, T. Manshreck, H. Wright | ORLY
- Writing Solid Code - Steve Maguire | ORLY
- Fundamentals of Software Architecture - Mark Richards, Neal Ford | ORLY AMZN
- Software Architecture: The Hard Parts - Neal Ford, Mark Richards, Pramod Sadalage, Zhamak Dehghani | ORLY AMZN
- Building Microservices, 2nd Edition - Sam Newman | ORLY AMZN
- The Art of Doing Science and Engineering: Learning to Learn - Richard Hamming | AMZN
- Coders at Work - Peter Seibel | ORLY
- Designing Data-Intensive Applications - M. Kleppmann, B. Lange | ORLY, AMZN
- Fundamentals of Data Engineering - Joe Reis, Matt Housley | ORLY AMZN
- [?] How the Internet Happened: From Netscape to the iPhone - Brian McCullough | AMZN
- Modern Software Engineering - David Farley | ORLY, AMZN
- The Mythical Man-Month - Frederick P. Brooks | ORLY
- The Pragmatic Programmer - David Thomas, Andrew Hunt | ORLY
- Pattern-Oriented Software Architecture Volume 1: A System of Patterns | ORLY, AMZN
- A Philosophy of Software Design - John Ousterhout | ORLY
- The Practice of Programming - Brian Kernighan & Rob Pike | ORLY, AMZN
- Programming Language Pragmatics | AMZN
- The Psychology of Computer Programming - Gerald Weinberg | AMZN
- Righting Software - Löwy Juval | ORLY, AMZN
- Software Engineering, Vol. 1: Abstraction and Modelling - Dines Bjørner | AMZN
- Software Engineering, Vol. 2: Specification of Systems and Languages - Dines Bjørner
- Software Engineering, Vol. 3: Domains, Requirements and Software Design - Dines Bjørner
- [?] Technology Strategy Patterns - Eben Hewitt | ORLY, AMZN
- Working Effectively with Legacy Code - Michael C. Feathers | ORLY
👏 Thanks to the Contributors: Alloys Mila, Anthony Nandaa, Brian Muthui, Brian Ogutu, Chrispine Chendo, Deveroux Martin, Dmitry Vostokov, Elton Maiyo, Haim Kilov, Ishuah Kariuki, Jacob Chencha, Joseph Wachiuri, Karanja Mutahi, Kemunto Ochwang'i, Miles Obare, Robert Simiyu, Richard Mulandi, Stephen Ng'etich
Here are other listings around the world, there could be some overlaps with what we have up here.