Table of contents
Intro
Here is part of my antilibrary.
I haven't read anywhere near all of these books. Instead, this list is a way for me to keep track of good books I've found, and to pick the next book that I'd like to put at the top of my reading list (which is constantly reordered by whatever topic I'm interested in the most).
Remember: when reading a book, the best way to learn and remember what you've read is to actively engage with the book, e.g. by doing the exercises in the book, or by writing down questions at every stage of the reading — whether skimming or reading deeply — and then trying to answer those questions after reading, in your own words.
Software development and engineering
Process
- Mythical man month
- Lean software development (Poppendieck)
- Continuous Delivery (Farley, Humble)
- Facts and fallacies of software engineering (Glass)
- Postmortem reviews: purpose and approaches in software engineering
- How Do Committees Invent? (i.e. the original paper of Conway's law)
- The soul of a new machine (Kidder)
- Showstopper! (Zachary)
- Hackers (Levy)
- Coders at work (Seibel)
- The Phoenix Project
- To engineer is human (Petroski)
Architecture
- Big ball of mud
- Fundamentals of Software Architecture
- Software Architecture: The Hard Parts (continuation of Fundamentals of Software Architecture, with a more concrete approach)
- A Philosophy of Software Design (Ousterhout)
- Enterprise Integration Patterns (Hohpe)
- Site reliability engineering
- Sweating bullets: notes about inventing PowerPoint
- On the criteria to be used in decomposing systems into modules (Parnas)
- Data and reality (Kent)
- Data model patterns (Hay)
- Data management at scale
- I ♥ Logs
Programming
- Code Complete (McConnell)
- The C Programming Language (Kernighan, Ritchie)
- Learning SQL
- Programming as theory building (Naur)
Systems thinking and design thinking
- Thinking in systems (Meadows)
- How designers work (Gedenryd)
- How complex systems fail
- An introduction to general systems thinking (Weinberg)
- Decision-making using agent-based modeling
- Systems Approaches to Making Change: A Practical Guide
Problem analysis, decision analysis and decision making
- How to solve it (Polya)
- Heuristics for solving mathematical and other problems
- How to measure anything (Hubbard)
- Focuses on application, especially in business. Decision analysis, Bayesian probability, Monte Carlo methods.
- Thinking and deciding (Baron)
- More theoretical than How to measure anything
- Scenario planning
Mental models
- Super thinking (Weinberg)
Business
- The unwritten laws of engineering (Skakoon)
- Originally published in 1944
- Also published as "The unwritten laws of business"
- The Goal (Goldratt)
- The E-Myth Revisited
- Peopleware
- The five dysfunctions of a team
- Enterprise architecture as strategy
- Accounts Demystified (Rice)
- The Personal MBA (Kaufman)
- Toyota Kata
Biographies, history, and other non-fiction
- Boyd (Coram)
- Letters from a Stoic (Seneca)
- Discourses and Selected Writings (Epictetus)
- A bridge too far (Ryan)
- Sapiens (Harari)
- A Little History of Economics (Kishtainy)
- Economic Facts and Fallacies (Sowell)
Mathematics
- Statistics measures the quality of information.
- Optimization finds the best alternative.
- Probability quantifies and manages uncertainty.
- Control automates decision making.
- Modeling and computation build the mathematical abstraction of reality upon which these and many other powerful mathematical tools operate.
Mathematics is indeed the foundation of modern decision making.
Note: you'll want to make sure math books contain solutions to exercises. Consistently trying to solve exercises is very important for learning.
General
- A list of free mathematics textbooks
- OpenStax textbooks
- Mathematics: From the Birth of Numbers (Gullberg)
Precalculus, Algebra
- Precalculus (Stewart)
- Not a free book. Stewart also has a Calculus book.
- Precalculus (Stitz, Zeager)
- Many positive reviews online
- Associated YouTube playlist: https://www.youtube.com/playlist?list=PL953A3729B0E03AAA
- OpenStax Precalculus
- HTML version with inline solutions to exercises
- Maths: a student's survival guide
- Some positive reviews online, but often doesn't contain enough detail. Good for problems and a refresher, but requires another book (e.g. Stitz & Zeager) for details.
- Precalculus (Collingwood, Prince, Conroy)
Modeling and operations research
Graph theory
Statistics and probability
Probability is a prerequisite for statistics.
Calculus is a prerequisite for advanced probability, but the basics of probability don't require calculus.
- Statistics in a Nutshell
- Also contains an introduction to probability. Doesn't require calculus.
- Practical Statistics for Data Scientists
- Think Bayes
- Free book
- Think Stats: Exploratory Data Analysis in Python
- Free book
- Introduction to Probability (Blitzstein)
- Calculus is a prerequisite
- OpenIntro Statistics
- Probabilitycourse.com
- A bit of multivariate calculus is required
- Forecasting: Principles and Practice
Information theory
Discrete math
- Discrete mathematics (Levin)
- Applied discrete structures (Doerr, Levasseur)
- Course: Intro to discrete math (YouTube)
Algorithms
- The algorithm design manual (Skiena)
- Algorithms (Sedgewick)
Linear algebra
- Linear algebra (Hefferon)
- Course: A complete linear algebra course with problems and exercises (YouTube)
Calculus
- Calculus made easy
- Originally published in 1910
- Course: Calculus I (YouTube)
- Calculus (Stewart)
Game theory
Category theory
Machine learning and data analysis
- Free course: https://course.fast.ai/
- Free book (with somewhat different content than the course): https://github.com/fastai/fastbook
- Python for Data Analysis: https://wesmckinney.com/book/
Exercises and tests
- https://matemaattinenyhdistys.fi/toiminta/ylioppilaskoetehtavat
- https://yle.fi/aihe/artikkeli/2015/12/15/yo-kokeet-matematiikka
- https://artofproblemsolving.com/wiki/index.php/AMC_Problems_and_Solutions
- https://mathschallenge.net/archive
- https://projecteuler.net/archives
- https://stepdatabase.maths.org/database/index.html
- https://www.openbookpublishers.com/books/10.11647/obp.0181
- https://www.symbolab.com/practice