library

Books, courses, and learning resources by topic

Systems & Architecture

  • Designing Data-Intensive Applications - Martin Kleppmann — notes
  • Software Architecture: The Hard Parts - Neal Ford & Mark Richards
  • Database Internals - Alex Petrov
  • Computer Networking: A Top-Down Approach - Kurose & Ross

Artificial Intelligence

Foundations & Theory

  • Convex Optimization - Lieven Vandenberghe and Stephen P. Boyd — notes
  • Elements of Information Theory - Joy A. Thomas and Thomas M. Cover — notes
  • Interpretable Machine Learning - Christoph Molnar

Deep Learning

  • Berkeley CS182: Deep Learning — notes
  • Stanford CS231n: Deep Learning for Computer Vision — notes
  • Build a Large Language Model (From Scratch) - Sebastian Raschka
  • Build a Reasoning Model (From Scratch) - Sebastian Raschka

Agentic Systems & Engineering

  • Agentic Design Patterns - Antonio Gullí
  • (deeplearning.ai) Design, Develop, and Deploy Multi-Agent Systems with CrewAI
  • (deeplearning.ai) Retrieval Augmented Generation
  • (deeplearning.ai) AI Agents in LangGraph

Java Performance

  • Java Concurrency in Practice - Brian Goetz
  • Optimizing Java - Benjamin J. Evans

Software Craft

  • Refactoring - Martin Fowler
  • Dependency Injection Principles - Mark Seemann, Stevan van Deursen

Languages

  • Functional Programming In Scala - Paul Chiusano & Rúnar Bjarnason

Math

Quant

  • Options, Futures, and Other Derivatives - John C. Hull — notes