Image source: enterpreneur.com

Although we live in the time of skimming through blog posts that you can learn from, books still have a very respected place in our lives.

People can write a blog post in an afternoon, but writing a book and publishing it requires a lot more effort, dedication and focus.

As such, you are more likely to learn more from a book that from a mere article.

There are many GitHub repositories that have many different lists, including books that developers should read.

I have found this nice list that has many books, from classic books, books related to network, operating systems, databases, data structures and algorithms, design patterns, backend, architecture, DevOps, and interview’s related books.

You can see the full list that I copied from the GitHub repository down below.

Classic

#Title
1Clean Code
2The Pragmatic Programmer: From Journeyman to Master
3The Mythical Man-Month: Essays on Software Engineering
4Code Complete: A Practical Handbook of Software Construction
5Refactoring: Improving the Design of Existing Code
6Structure and Interpretation of Computer Programs
7The Art of Computer Programming
8Code: The Hidden Language of Computer Hardware and Software
9The Complete Software Developer’s Career Guide: How to Learn Programming Languages Quickly, Ace Your Programming Interview, and Land Your Software Developer Dream Job
10Don’t Make Me Think, Revisited: A Common Sense Approach to Web Usability

Network

#Title
1Computer Networking: A Top-Down Approach

Operating System

#Title
1Operating System Concepts

Database

#Title
1Database System Concepts
2MongoDB: The Definitive Guide: Powerful and Scalable Data Storage
3Cassandra: The Definitive Guide: Distributed Data at Web Scale
4SQL Cookbook: Query Solutions and Techniques for Database Developers
5Database Internals: A Deep Dive into How Distributed Data Systems Work
6Hadoop: The Definitive Guide: Storage and Analysis at Internet Scale
7Learning Spark: Lightning-Fast Big Data Analysis

Data structures and algorithms

#Title
1Introduction to Algorithms
2Grokking Algorithms: An illustrated guide for programmers and other curious people
3Algorithms
4The Algorithm Design Manual

Design patterns

#Title
1Design Patterns: Elements of Reusable Object-Oriented Software
2Head First Design Patterns: A Brain-Friendly Guide

Backend

#Title
1Programming Ruby
2Agile Web Development with Rails 6
3You Don’t Know JS Book Series
4Node.js 8 the Right Way
5Head First Java
6Effective Java
7Spring in Action: Covers Spring 4
8Spring Microservices in Action
9Go Programming Language
10A Smarter Way to Learn Python: Learn it faster. Remember it longer
11Learning Python
12Django for Beginners: Build websites with Python and Django
13Redis in Action
14Kafka: The Definitive Guide: Real-Time Data and Stream Processing at Scale
15RabbitMQ in Depth
16Learn You a Haskell for Great Good!: A Beginner’s Guide
17C Programming Language
18Head First Object-Oriented Analysis and Design
19Functional Light JS
20Mostly Adequate Guide
21Regular Expression Pocket Reference: Regular Expressions for Perl, Ruby, PHP, Python, C, Java and .NET
22Blockchain Bubble or Revolution: The Present and Future of Blockchain and Cryptocurrencies
23Test Driven Development: By Example

Architecture

#Title
1Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
2Clean Architecture: A Craftsman’s Guide to Software Structure and Design
3Building Microservices: Designing Fine-Grained Systems
4Distributed Systems: Concepts and Design

Devops

#Title
1Docker Deep Dive
2Docker: Up & Running: Shipping Reliable Containers in Production
3The Kubernetes Book
4Kubernetes in Action
5Kubernetes: Up and Running: Dive into the Future of Infrastructure

Interviewing

#Title
1Cracking the Coding Interview: 189 Programming Questions and Solutions
2Elements of Programming Interviews: The Insiders’ Guide

I hope you find it useful.

Happy learning.