External

Books

A collection of books I’ve read, and my rating out of 5 stars. Please suggest more books for me to read.

The Goal: A Business Graphic Novel ⭐⭐⭐⭐
How to Win Friends and Influence People ⭐⭐⭐⭐
Thinking, Fast and Slow ⭐⭐⭐⭐⭐
Outliers: The Story of Success ⭐⭐⭐⭐
The Phoenix Project ⭐⭐⭐⭐
Human Universe ⭐⭐⭐
Machines that Think ⭐⭐⭐
Gödel, Escher, Bach ⭐⭐⭐⭐⭐
Zen and the Art of Motorcycle Maintenance ⭐⭐⭐⭐⭐
The Startup Way ⭐⭐⭐⭐
The Lean Startup ⭐⭐⭐⭐⭐
Surely You’re Joking, Mr. Feynman! ⭐⭐⭐⭐⭐
Coders at Work ⭐⭐⭐⭐
Flow ⭐⭐⭐⭐
Structure and Interpretation of Computer Programs ⭐⭐⭐⭐⭐

Videos

A collection of great presenters and my favourite of their talks. In many cases it was hard to pick a single favourite, so take a look at their other talks too.

Joe Armstrong The How and Why of Fitting Things Together
Kent Beck Explore/Expand/Extract
Gary Bernhardt Boundaries
Gilad Bracha Composing Software
Edwin Brady Type-Driven Development in Idris
Bryan Cantrill Leadership Without Management
Doug Engelbart The Mother of All Demos
Richard Feynman Computer Heuristics
Raymond Hettinger Beyond PEP 8
Rich Hickey Simple Made Easy
Alan Kay Power of Simplicity
Barbara Liskov The Power of Abstraction
Robert C. Martin SOLID Principles
Erik Meijer Category Theory
Sandi Metz Nothing is Something
James Mickens Life As A Developer
Joel Spolsky Joel on Software
Guy Steele Growing a Language
Des Traynor Be Wary of Solving a Small, Rare Problem
Bret Victor The Future of Programming

These are some great full lecture series. I chose to keep these separate from the above list as they are a much bigger time commitment.

Abelson and Sussman Structure and Interpretation
Jerry Cain Programming Paradigms
Doug Crockford Crockford on JavaScript
Simon Peyton Jones Adventures with Types in Haskell

Papers

A collection of great papers and essays.

Richard Gabriel Worse is Better
Paul Lockhart A Mathematician’s Lament
Donella Meadows Leverage Points: Places to Intervene in a System
Ken Thompson Reflections on Trusting Trust