Readers who enjoyed

Effective Java
4.59 avg. rating
· 1606 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:

also enjoyed

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:
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:
Head First Design Patterns
4.29 avg. rating
· 8017 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:
Java Concurrency in Practice
4.47 avg. rating
· 2609 Ratings
"I was fortunate indeed to have worked with a fantastic team on the design and implementation of the concurrency features added to the Java platform in Java 5.0 and Java 6. Now this same team provides…
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 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:
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:
Clean Architecture
4.19 avg. rating
· 5571 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:
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:
System Design Interview – An insider's guide
The system design interview is considered to be the most complex and most difficult technical job interview by many. This book provides a step-by-step framework on how to tackle a system design questi…
Rate it:
The Clean Coder: A Code of Conduct for Professional Programmers
Programmers who endure and succeed amidst swirling uncertainty and nonstop pressure share a common They care deeply about the practice of creating software. They treat it as a craft. They are professi…
Rate it:
The C Programming Language
4.44 avg. rating
· 10321 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:
Grokking Algorithms An Illustrated Guide For Programmers and Other Curious People
An algorithm is nothing more than a step-by-step procedure for solving a problem. The algorithms you'll use most often as a programmer have already been discovered, tested, and proven. If you want to …
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:
Spring in Action
3.95 avg. rating
· 953 Ratings
Written for enterprise Java developers who have become disillusioned with the complexity and bulk involved with EJB development, this programming tool demonstrates how the Spring framework can make co…
Rate it:
A Philosophy of Software Design
4.19 avg. rating
· 3290 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:
Thinking in Java
4.16 avg. rating
· 1971 Ratings
Thinking in Java is a printed version of Bruce Eckel's online materials that provides a useful perspective on mastering Java for those with previous programming experience. The author's take on the es…
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:
Introduction to Algorithms
4.36 avg. rating
· 7548 Ratings
A comprehensive update of the leading algorithms text, with new material on matchings in bipartite graphs, online algorithms, machine learning, and other topics.

Some books on algorithms are rigorous b…
Rate it:
Code: The Hidden Language of Computer Hardware and Software
What do flashlights, the British invasion, black cats, and seesaws have to do with computers? In CODE, they show us the ingenious ways we manipulate language and invent new means of communicating with…
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:
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:
Test-Driven Development: By Example
4.10 avg. rating
· 4216 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:
Algorithms
4.44 avg. rating
· 1578 Ratings
This fourth edition of Robert Sedgewick and Kevin Wayne's Algorithms is the leading textbook on algorithms today and is widely used in colleges and universities worldwide. This book surveys the most i…
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:
Pro Git (Expert's Voice in Software Development)
Git is the version control system developed by Linus Torvalds for Linux kernel development. It took the open source world by storm since its inception in 2005, and is used by small development shops a…
Rate it:
Implementing Domain-Driven Design
4.05 avg. rating
· 966 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:
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:
Java 8 in Action
4.34 avg. rating
· 435 Ratings
Java 8 in Action is a clearly written guide to the new features of Java 8. The book covers lambdas, streams, and functional-style programming. With Java 8's functional features you can now write more …
Rate it: