Books

29 resources

Agentic Design Patterns

A practical guide to reusable patterns for building AI agents, including tool use, orchestration, and evaluation across modern agent frameworks.

Reinforcement Learning (2/e)

An introduction to reinforcement learning that develops the mathematical foundations and core algorithms of learning from rewards.

LLM Engineers Handbook

A technical guide to engineering applications powered by large language models, including development and evaluation workflows.

How to Begin

A guide to choosing a meaningful, ambitious goal and making progress toward it through deliberate action.

Mastering 'Metrics

An applied introduction to causal inference and using empirical methods to evaluate real-world questions.

The Cold Start Problem

A study of how network effects grow, why new networks struggle to get started, and what enables sustainable adoption.

Working Backwards

An account of product development and company practices associated with Amazon, including working from customer needs.

Refactoring

A software-engineering guide to improving the internal structure of existing code while preserving observable behavior.

Optimizing Java

A book on performance engineering, JVM behavior, and improving the efficiency of Java applications.

UML Distilled

A concise guide to using Unified Modeling Language notation to communicate common software designs.

The Algorithm Design Manual

A guide to practical algorithm selection, analysis, and implementation, with examples of common computational problems.

Effective Java

A collection of practical Java programming recommendations covering APIs, generics, concurrency, and good software design.

Clean Architecture

An exploration of software architectural boundaries, dependencies, and maintainable system design.

Java Nio

A guide to Java's nonblocking input/output APIs and related networking and filesystem operations.

The Clean Coder

A discussion of professional habits and practices for software developers, including communication, testing, and commitments.

Clean Code

Advice on writing readable, maintainable software with attention to naming, functions, testing, and design.