‘El Clasico’, The Classics
- [1] Code Complete: A Practical Handbook of Software Construction by Steve McConnell
- [2] Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin
- [3] Solid Code by Donis Marshall, John Bruno
- [4] The Practice of Programming by Brian W. Kernighan, Rob Pike
- [5] Rapid Development: Taming Wild Software Schedules by Steve McConnell
- [6] Structure and Interpretation of Computer Programs by Harold Abelson, Gerald Jay Sussman, with Julie Sussman
- [7] Programming Pearls by Jon Bentley
- [8] The Pragmatic Programmer: From Journeyman to Master by Andrew Hunt, David Thomas
- [9] The Mythical Man-Month: Essays on Software Engineering by Frederick P. Brooks
Modern Practices
- [1] The Art of Agile Development by James Shore, Shane Warden
- [2] Essential Scrum: A Practical Guide to the Most Popular Agile Process by Kenneth S. Rubin
- [3] Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans
- [4] Continuous Integration: Improving Software Quality and Reducing Risk by Paul M. Duvall, Steve Matyas, Andrew Glover
- [5] Refactoring: Improving the Design of Existing Code by Martin Fowler
- [6] Working Effectively with Legacy Code by Michael Feathers
- [7] Making Software: What Really Works, and Why We Believe It Edited by Andy Oram, Greg Wilson
- [8] Beautiful Code: Leading Programmers Explain How They Think Edited by Andy Oram, Greg Wilson
- [9] Software Development and Professional Practice by John Dooley
Academic Study of Software Engineering
- [1] Software Engineering: A Practitioner’s Approach by Roger Pressman, Bruce Maxim
- [2] Software Engineering by Ian Sommerville
Software Architecture
- [1] Software Architecture in Practice by Len Bass, Paul Clements, Rick Kazman
- [2] Patterns of Enterprise Application Architecture by Martin Fowler
- [3] Software Systems Architecture by Nick Rozanski, Eóin Woods
- [4] Beautiful Architecture: Leading Thinkers Reveal the Hidden Beauty in Software Design by Diomidis Spinellis, Georgios Gousios
OOP & Design Patterns
- [1] Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
- [2] Dependency Injection by Dhanji R. Prasanna
- [3] Java Application Architecture: Modularity Patterns with Examples Using OSGi by Kirk Knoernschild
- [4] AspectJ in Action by Ramnivas Laddad
- [5] The Well-Grounded Java Developer: Vital techniques of Java 7 and polyglot programming by Benjamin Evans, Martijn Verburg
- [6] Head First Design Patterns by Eric Freeman, Bert Bates, Kathy Sierra, Elisabeth Robson
- [7] Head First Object-Oriented Analysis and Design by Brett D. McLaughlin, Gary Pollice, Dave West
Test Driven Development
- [1] Test Driven Development by Kent Beck
- [2] Growing Object-Oriented Software, Guided by Tests by Steve Freeman, Nat Pryce
- [3] Beautiful Testing: Leading Professionals Reveal How They Improve Software by Adam Goucher, Tim Riley
Software ‘Tools of the Trade’
- [1] Java Power Tools by John Ferguson Smart
- [2] Version Control with Git by Jon Loeliger, Matthew McCullough
- [3] Ant: The Definitive Guide by Steve Holzner
- [4] Maven: The Definitive Guide by Sonatype Company
Experts’ Opinion Compilation
- [1] Coders at Work: Reflections on the Craft of Programming by Peter Seibel
- [2] 97 Things Every Programmer Should Know: Collective Wisdom from the Experts Edited by Kevlin Henney
- [3] 97 Things Every Software Architect Should Know: Collective Wisdom from the Experts Edited by Richard Monson-Haefel