Patterns of Enterprise Application Architecture
Developers of enterprise applications (e.g reservation systems, supply chain programs, financial systems, etc.) face a unique set of challenges, different than those faced by their desktop system and …
Rate it:

also enjoyed

Domain-Driven Design: Tackling Complexity in the Heart of Software
"Eric Evans has written a fantastic book on how you can make the design of your software match your mental model of the problem domain you are addressing. "His book is very compatible with XP. It is n…
Rate it:
Design Patterns: Elements of Reusable Object-Oriented Software
Capturing a wealth of experience about the design of object-oriented software, four top-notch designers present a catalog of simple and succinct solutions to commonly occurring design problems. Previo…
Rate it:
Clean Code: A Handbook of Agile Software Craftsmanship
Even bad code can function. But if code isn't clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code…
Rate it:
Clean Architecture
4.19 avg. rating
· 5479 Ratings
Building upon the success of best-sellers The Clean Coder and Clean Code, legendary software craftsman Robert C. "Uncle Bob" Martin shows how to bring greater professionalism and discipline to applica…
Rate it:
The Pragmatic Programmer: From Journeyman to Master
Straight from the programming trenches, The Pragmatic Programmer cuts through the increasing specialization and technicalities of modern software development to examine the core process--taking a …
Rate it:
Building Microservices: Designing Fine-Grained Systems
Distributed systems have become more fine-grained in the past 10 years, shifting from code-heavy monolithic applications to smaller, self-contained microservices. But developing these systems brings i…
Rate it:
Designing Data-Intensive Applications
Data is at the center of many challenges in system design today. Difficult issues need to be figured out, such as scalability, consistency, reliability, efficiency, and maintainability. In addition, w…
Rate it:
Effective Java
4.59 avg. rating
· 1583 Ratings
Since this Jolt-award winning classic was last updated in 2008 (shortly after Java 6 was released), Java has changed dramatically. The principal enhancement in Java 8 was the addition of functional pr…
Rate it:
Test-Driven Development: By Example
4.10 avg. rating
· 4202 Ratings
Quite simply, test-driven development is meant to eliminate fear in application development. While some fear is healthy (often viewed as a conscience that tells programmers to "be careful!"), the auth…
Rate it:
Implementing Domain-Driven Design
4.05 avg. rating
· 957 Ratings
Implementing Domain-Driven Design presents a top-down approach to understanding domain-driven design (DDD) in a way that fluently connects strategic patterns to fundamental tactical programming tools.…
Rate it:
Head First Design Patterns
4.29 avg. rating
· 7981 Ratings
You're not alone.

At any given moment, somewhere in the world someone struggles with the same software design problems you have. You know you don't want to reinvent the wheel (or worse, a flat tire),…
Rate it:
The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win
Bill is an IT manager at Parts Unlimited. It's Tuesday morning and on his drive into the office, Bill gets a call from the CEO.

The company's new IT initiative, code named Phoenix Project, is critical…
Rate it:
A Philosophy of Software Design
4.18 avg. rating
· 3183 Ratings
This book addresses the topic of software how to decompose complex software systems into modules (such as classes and methods) that can be implemented relatively independently. The book first introduc…
Rate it:
Code Complete: A Practical Handbook of Software Construction
Widely considered one of the best practical guides to programming, Steve McConnell’s original code complete has been helping developers write better software for more than a decade. Now this classic b…
Rate it:
Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers)
Whether it's in Java, .NET, or Ruby on Rails, getting your application ready to ship is only half the battle. Did you design your system to survivef a sudden rush of visitors from Digg or Slashdot? Or…
Rate it:
Unit Testing: Principles, Practices, and Patterns
Unit Testing: Principles, Patterns and Practices shows you how to refine your existing unit tests by implementing modern best practices. You’ll learn to spot which tests are performing, which need ref…
Rate it:
The Mythical Man-Month: Essays on Software Engineering
Few books on software project management have been as influential and timeless as The Mythical Man-Month. With a blend of software engineering facts and thought-provoking opinions, Fred Brooks offers …
Rate it:
Modern Operating Systems
4.16 avg. rating
· 1785 Ratings
For software development professionals and computer science students, Modern Operating Systems gives a solid conceptual overview of operating system design, including detailed case studies of Unix/Lin…
Rate it:
The Manager's Path: A Guide for Tech Leaders Navigating Growth and Change
Managing people is difficult wherever you work, but the tech industry as a whole is pretty bad at it. Tech companies in general lack the experience, tools, texts, and frameworks to do it well. And the…
Rate it:
Microservice Patterns
4.24 avg. rating
· 596 Ratings
The monolithic architecture works well for small, simple applications. However, successful applications have a habit of growing. Eventually the development team ends up in what is known as monolithic …
Rate it: