Developer Learning Wiki
  • About
  • DSA
    • Overview
    • Data Structures
    • Algorithms
    • Problems
  • System Design
    • Overview
  • Technical Blogs
    • Overview
  1. Books
  2. Reading List
  • Books
    • Reading List
      • Designing Data-Intensive Applications
    • Book Notes

On this page

  • Technical Reading List
    • System Design & Architecture
    • Database & Data Engineering
    • Programming & Software Engineering
    • Algorithms & Data Structures
    • Computer Science Fundamentals
    • DevOps & Infrastructure
    • Security
    • Machine Learning & AI
    • Career & Soft Skills
    • Reading Strategy
      • Priority Levels
      • Reading Order
      • Note-Taking Approach
  1. Books
  2. Reading List

Reading List

Technical Reading List

A curated collection of essential books for software developers and system designers.

System Design & Architecture

  • Designing Data-Intensive Applications - Martin Kleppmann
  • System Design Interview - Alex Xu
  • Building Microservices - Sam Newman
  • Domain-Driven Design - Eric Evans
  • Clean Architecture - Robert C. Martin

Database & Data Engineering

  • Database Internals - Alex Petrov
  • Designing Data-Intensive Applications - Martin Kleppmann
  • High Performance MySQL - Baron Schwartz
  • Redis in Action - Josiah L. Carlson
  • The Data Warehouse Toolkit - Ralph Kimball

Programming & Software Engineering

  • Clean Code - Robert C. Martin
  • Refactoring - Martin Fowler
  • Design Patterns - Gang of Four
  • Effective Java - Joshua Bloch
  • Python Cookbook - David Beazley

Algorithms & Data Structures

  • Introduction to Algorithms - CLRS
  • Algorithms - Robert Sedgewick
  • Programming Pearls - Jon Bentley
  • The Algorithm Design Manual - Steven Skiena

Computer Science Fundamentals

  • Computer Networks - Andrew Tanenbaum
  • Operating Systems - Andrew Tanenbaum
  • Computer Architecture - Hennessy & Patterson
  • Compilers - Aho, Lam, Sethi, Ullman

DevOps & Infrastructure

  • Site Reliability Engineering - Google
  • The Phoenix Project - Gene Kim
  • Kubernetes in Action - Marko Lukša
  • Infrastructure as Code - Kief Morris

Security

  • Security Engineering - Ross Anderson
  • Web Application Security - Andrew van der Stock
  • Cryptography Engineering - Ferguson, Schneier, Kohno
  • The Art of Deception - Kevin Mitnick

Machine Learning & AI

  • Designing Machine Learning Systems - Chip Huyen
  • Hands-On Machine Learning - Aurélien Géron
  • Pattern Recognition - Bishop
  • Deep Learning - Ian Goodfellow

Career & Soft Skills

  • The Pragmatic Programmer - Hunt & Thomas
  • Soft Skills - John Sonmez
  • Cracking the Coding Interview - Gayle McDowell
  • The Manager’s Path - Camille Fournier

Reading Strategy

Priority Levels

  1. Essential - Must read for every developer
  2. Important - Highly recommended for career growth
  3. Specialized - Domain-specific knowledge
  4. Reference - Keep for consultation

Reading Order

  1. Start with fundamentals (algorithms, data structures)
  2. Move to software engineering practices
  3. Learn system design and architecture
  4. Specialize in your domain of interest

Note-Taking Approach

  • Use active reading techniques
  • Take notes in your own words
  • Create summaries and mind maps
  • Implement concepts in code
  • Discuss with peers

© 2024 • Developer Learning Wiki • About •

Found an error? Please leave a comment here or submit a PR in this repository, thanks!

The best way to predict the future is to invent it.

Alan Kay

Any fool can write code that a computer can understand. Good programmers write code that humans can understand.

Martin Fowler

First, solve the problem. Then, write the code.

John Johnson

×

🚀 Happy Coding!