Working Effectively with Legacy Code
Get more out of your legacy systems, more performance, functionality, reliability, and manageability.Is your code easy to change? Can you get nearly instantaneous feedback when you do change it? Do yo…
Rate it:

also enjoyed

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:
Refactoring: Improving the Design of Existing Code
As the application of object technology—particularly the Java programming language—has become commonplace, a new problem has emerged to confront the software development community. Significant numbers…
Rate it:
Test-Driven Development: By Example
4.10 avg. rating
· 4205 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:
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:
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:
Effective Java
4.59 avg. rating
· 1588 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:
Tidy First?: A Personal Exercise in Empirical Software Design
Messy code is a nuisance. "Tidying" code, to make it more readable, requires breaking it up into manageable sections. In this practical guide, author Kent Beck, creator of Extreme Programming and pion…
Rate it:
A Philosophy of Software Design
4.18 avg. rating
· 3202 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:
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:
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:
The Staff Engineer's Path: A Guide for Individual Contributors Navigating Growth and Change
For years, companies have rewarded their most effective engineers with management positions. But treating management as the default path for an engineer with leadership ability doesn't serve the indus…
Rate it:
Accelerate: Building and Scaling High Performing Technology Organizations
Does technology actually matter? And how can we apply technology to drive business value? For years, we've been told that the performance of software delivery teams doesn't matter—that it can't provid…
Rate it:
Implementing Domain-Driven Design
4.05 avg. rating
· 960 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
· 7990 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:
Peopleware: Productive Projects and Teams
4.11 avg. rating
· 8313 Ratings
Demarco and Lister demonstrate that the major issues of software development are human, not technical. Their answers aren't easy--just incredibly successful. New second edition features eight all-new …
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:
The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations
Increase profitability, elevate work culture, and exceed productivity goals through DevOps practices.

More than ever, the effective management of technology is critical for business competitiveness. Fo…
Rate it:
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:
Extreme Programming Explained: Embrace Change (The XP Series)
“In this second edition of Extreme Programming Explained, Kent Beck organizes and presents five years’ worth of experiences, growth, and change revolving around XP. If you are seriously interested in …
Rate it:
Team Topologies: Organizing Business and Technology Teams for Fast Flow

Effective software teams are essential for any organization to deliver value continuously and sustainably. But how do you build the best team organization for your specific goals, culture, and needs? …
Rate it:
Fundamentals of Software Architecture: An Engineering Approach
Although salary surveys worldwide regularly identify software architect as one of the top ten best jobs, no decent guides exist to help developers become architects. Until now. This practical guide pr…
Rate it:
Your Brain at Work: Strategies for Overcoming Distraction, Regaining Focus, and Working Smarter All Day Long
Meet Emily and Paul: The parents of two young children, Emily is the newly promoted VP of marketing at a large corporation while Paul works from home or from clients' offices as an independent IT cons…
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:
Gödel, Escher, Bach: An Eternal Golden Braid
Douglas Hofstadter's book is concerned directly with the nature of “maps” or links between formal systems. However, according to Hofstadter, the formal system that underlies all mental activity transc…
Rate it:
Growing Object-Oriented Software, Guided by Tests
Foreword by Kent Beck "The authors of this book have led a revolution in the craft of programming by controlling the environment in which software grows.” --Ward Cunningham “At last, a book suffused w…
Rate it:
JavaScript: The Good Parts
4.23 avg. rating
· 7567 Ratings
Most programming languages contain good and bad parts, but JavaScript has more than its share of the bad, having been developed and released in a hurry before it could be refined. This authoritative b…
Rate it:
Modern Software Engineering: Doing What Works to Build Better Software Faster
Improve Your Creativity, Effectiveness, and Ultimately, Your Code

In Modern Software Engineering, continuous delivery pioneer David Farley helps software professionals think about their work more…
Rate it:
The C Programming Language
4.44 avg. rating
· 10267 Ratings
This book is meant to help the reader learn how to program in C. It is the definitive reference guide, now in a second edition. Although the first edition was written in 1978, it continues to be a wor…
Rate it: