Here you'll find a hand-picked selection of books and tools that are frequently recommended by experienced developers and educators. These resources cover essential topics like clean code, software architecture, design patterns, and legacy code — everything you need to level up as a developer.
A foundational guide to writing readable, maintainable, and elegant code. Essential for every developer who wants to improve code quality.
Get the bookIntroduces proven techniques to improve existing code without breaking functionality. A go-to book for refactoring strategies.
Get the bookA practical take on applying domain-driven design principles in real-world projects. Clear, actionable and deeply influential.
Get the bookUncle Bob explores how to design systems with clear architecture boundaries and long-term maintainability in mind.
Get the bookA classic by Martin Fowler that dives into enterprise application patterns — must-read for backend and architecture-focused devs.
Get the bookProvides real-world solutions and patterns for building reliable microservices. Great for architects and senior devs.
Get the bookDefines reusable solutions to common design problems. A timeless reference every developer should have in their toolbox.
Get the bookExplores event-driven architecture and practical microservices design. Hands-on and focused on real-world use cases.
Get the bookA modern introduction to domain-driven design, focusing on aligning technical design with business needs.
Get the bookAn insightful collection of essays on software engineering challenges, management, and timeless lessons from the past.
Get the bookTeaches practical approaches and philosophies to becoming a better, more adaptable developer. A classic.
Get the bookExplores multiple programming paradigms through different languages. Great for expanding your thinking as a dev.
Get the bookCombines refactoring techniques with pattern-based thinking. Useful for improving structure while keeping design clean.
Get the bookCovers agile principles and practices through the lens of clean code and team collaboration. Strong for real-world agile dev.
Get the bookA must-read for Java developers. Full of best practices and advice to write more robust and effective Java code.
Get the bookExplores the trade-offs and decisions involved in distributed architecture. A deep dive for senior engineers.
Get the bookPractical techniques for improving and testing legacy code. Invaluable for working in older or monolithic codebases.
Get the bookA whirlwind tour of modern databases, comparing their features and use cases. Great intro for devs touching data systems.
Get the bookExplains the core skills and mindset needed to be a successful software architect. Broad yet practical insights.
Get the bookEric Evans' classic that introduced DDD. A dense but highly influential book for modeling complex systems.
Get the bookA detailed reference for writing good unit tests, with patterns to make them clean and maintainable.
Get the bookA concise version of DDD by the same author, focused on making the core ideas more accessible and easier to apply.
Get the bookIntroduces different concurrency models in a practical, example-driven format. Perfect for broadening system thinking.
Get the book