Books & resources
A good explanation is worth keeping close.
23 resources
Algorithms
Understand how data structures work and why an algorithm is correct.
Grokking Algorithms
An illustrated first book for binary search, recursion, graphs and dynamic programming. Second edition.
Manning · 2nd edition
Introduction to Algorithms
Full lectures with notes, problem sets and exams. Best after you can write small programs.
MIT OpenCourseWare · 6.006Hello Algo
Animated data structures with runnable examples in several languages. A friendly place to revisit the basics.
hello-algo.com
Algorithms
Build stronger proofs for recursion, dynamic programming and graph algorithms. Assumes discrete math and basic data structures.
University of IllinoisOpen Data Structures
Learn how lists, hash tables, search trees and heaps are implemented and analyzed. Free editions include C++ and Java.
opendatastructures.orgAlgorithms, 4th Edition: Companion Site
Free lecture material, Java code and exercises from the book’s authors. The printed textbook is sold separately.
Princeton UniversityCompetitive programming
Algorithm references to use alongside contest practice.
System design
Connect architecture choices to service reliability.
Designing Data-Intensive Applications
Read replication and partitioning when your system-design diagrams need a reason for each storage choice.
O’Reilly
The Site Reliability Workbook
Work through SLOs, monitoring and incident response with Google’s published case studies. Free online edition.
Google · O’Reilly
Distributed Systems
Study coordination, replication and fault tolerance. The authors provide a free personalized digital copy after registration.
distributed-systems.net · 4th editionThe System Design Primer
A structured reference for scaling, caching, databases and worked system-design interview examples.
GitHub · donnemartinByteByteGo
Short illustrated explanations of system-design concepts on the official free video channel. Courses and books are sold separately.
YouTube · @ByteByteGoComputer systems
Understand how an application uses the operating system and network.
Operating Systems: Three Easy Pieces
Free chapter PDFs explain processes, memory, concurrency and files. Start with the virtualization chapters.
University of Wisconsin–MadisonHigh Performance Browser Networking
Understand latency, TCP, TLS and HTTP before choosing how a client talks to a service. Free web edition.
O’Reilly · hpbn.coProgramming
Programming foundations and the tools you use to build software.
CS50’s Introduction to Computer Science
A full introduction to programming, from Scratch and C to Python, SQL and a final project.
Harvard UniversityLearn C++
Learn modern C++ from setup and variables through ownership, templates and the standard library.
learncpp.comThe Missing Semester of Your CS Education
Get comfortable with the shell, Git, debugging and the tools you use while writing programs.
MITAI engineering
Firsthand accounts of building agents and reviewing their work.
How the Claude Code team does code review
Study the Claude Code team’s review layers, risk-based human approval and incident-driven evaluations. Read it when designing checks for agent-written changes.
Redesigning source control at Anthropic
A case study of Scion, Anthropic’s source-control system for a large monorepo. Read for sparse checkouts and the tradeoffs behind its cache design; its scale is unusual.
Harness design for long-running application development
An experiment in long-running coding with separate generation and evaluation. Useful when an agent can produce code but struggles to finish a usable application.
Demystifying evals for AI agents
Learn how tasks, trials and graders fit together, and how to check an agent’s final result. Start here before comparing changes to an agent workflow.
Effective context engineering for AI agents
Choose what enters an agent’s context window and carry useful state across long tasks. Covers retrieval and ways to preserve context between sessions.
Covers belong to their authors and publishers.