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:

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:
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:
Head First Design Patterns
4.29 avg. rating
· 8000 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:
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:
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:
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:
Clean Architecture
4.19 avg. rating
· 5522 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:
Software Engineering at Google: Lessons Learned from Programming Over Time
The approach to and understanding of software engineering at Google is unlike any other company. With this book, you'll get a candid and insightful look at how software is constructed and maintained b…
Rate it:
Introduction to Algorithms
4.35 avg. rating
· 7533 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:
Python Crash Course: A Hands-On, Project-Based Introduction to Programming
Python Crash Course is a fast-paced, thorough introduction to programming with Python that will have you writing programs, solving problems, and making things that work in no time.

In the first half of…
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
· 10274 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:
A Philosophy of Software Design
4.18 avg. rating
· 3220 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:
Computer Science Distilled: Learn the Art of Solving Computational Problems
A foolproof walkthrough of must-know computer science concepts. Designed for readers who don't need the academic formality, it's a fast and easy computer science guide. It teaches essential concepts f…
Rate it:
Cracking the Coding Interview: 189 Programming Questions and Solutions
I am not a recruiter. I am a software engineer. And as such, I know what it's like to be asked to whip up brilliant algorithms on the spot and then write flawless code on a whiteboard. I've been throu…
Rate it:
Eloquent JavaScript: A Modern Introduction to Programming
"A concise and balanced mix of principles and pragmatics. I loved the tutorial-style game-like program development. This book rekindled my earliest joys of programming. Plus, JavaScript!" —Brendan Eic…
Rate it:
Cracking the Coding Interview: 150 Programming Questions and Solutions
Now in the 5th edition, Cracking the Coding Interview gives you the interview preparation you need to get the top software developer jobs. This is a deeply technical book and focuses on the software e…
Rate it:
Fluent Python: Clear, Concise, and Effective Programming
Python's simplicity lets you become productive quickly, but this often means you aren't using everything it has to offer. With this hands-on guide, you'll learn how to write effective, idiomatic Pytho…
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:
Effective Java
4.59 avg. rating
· 1594 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: