Books I have read completely, or in part.
2024
Accelerate: Building and Scaling High Performing Technology Organizations by Nicole Forsgren, Jez Humble, and Gene Kim
Tidy First? by Kent Beck
Communication for Engineers by Chris Laffra
The Coaching Habit by Michael Bungay Stanier
Test-driven Development with React and TypeScript by Juntao Qiu
The Hidden Girl and Other Stories by Ken Liu
Code is for Humans by Zohar Jackson
Grokking Simplicity: Taming Complex Software with Functional Thinking by Eric Normand
Super Thinking: The Big Book of Mental Models by Gabriel Weinberg and Lauren McCann
The Great Mental Models Volume 1: General Thinking Concepts by Shane Parrish and Rhiannon Beaubien
2023
Stuck? Diagrams Help by Abby Covert
Just Enough Software Architecture by George Fairbanks
Joy of Agility: How to Solve Problems and Succeed Sooner by Joshua Kerievsky
How Big Things Get Done by Bent Flyvbjerg and Dan Gardner
The Laws of Simplicity by John Maeda
99 Bottles of OOP: A Practical Guide to Object-Oriented Design by Sandi Metz and Katrina Owen
Software Engineering at Google: Lessons Learned from Programming Over Time by
2022
Code Simplicity: The Fundamentals of Software by Max Kanat-Alexander
The Clean Coder by Robert C. Martin
Become an Effective Software Engineering Manager by James Stanier
Timeless Laws of Software Development by Jerry Fitzpatrick
Modern Software Engineering by David Farley
Software Architecture for Developers, Volume 2 by Simon Brown
Software Architecture for Developers, Volume 1 by Simon Brown
The Making of a Manager by Julie Zhuo
Content Inc. by Joe Pulizzi
2021
Career Superpowers: Succeeding on Purpose by James Whittaker
Clean Agile by Robert C. Martin
Effective Java, Third Edition by Joshua Bloch
The Little Bitcoin Book: Why Bitcoin Matters for your Freedom, Finances and Future by Bitcoin Collective
The Well-Grounded Rubyist, 3rd Edition by David A. Black and Joseph Leo III
The Millionaire Fastlane: Crack the Code to Wealth and Live Rich for a Lifetime by MJ DeMarco
The Psychology of Money by Morgan Housel
Computer Systems: A Programmer’s Perspective by Randal Bryant and David O’Hallaron
2020
Working Effectively with Legacy Code by Michael C. Feathers
The Book of Kindness by Om Swami
Designing Data-Intensive Applications by Martin Kleppmann
Peopleware: Productive Projects and Teams by Tom DeMarco and Timothy Lister
Clean Architecture: A Craftsman’s Guide to Software Structure and Design by Robert C. Martin
Python Testing with pytest by Brian Okken
2019
Web Scalability for Startup Engineers by Artur Ejsmont
Effective Python: 59 Specific Ways to Write Better Python by Brett Slatkin
Refactoring: Improving the Design of Existing Code, 2nd Edition by Martin Fowler
A Philosophy of Software Design by John Ousterhout
Explore It! Reduce Risk and Increase Confidence with Exploratory Testing by Elisabeth Hendrickson
2018
The Only Investment Guide You’ll Ever Need by Andrew Tobias
How Google Tests Software by James Whitaker, Jason Arbon and Jeff Carollo
Developer Testing: Building Quality into Software by Alexander Tarlinder
Problem Solving with Algorithms and Data Structures using Python by Brad Miller and David Ranum
Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin
2017
Neural Networks and Deep Learning by Michael Nielsen
Deep Learning by Ian Goodfellow, Yoshua Bengio and Aaron Courville
2016
Introduction to Algorithms by Thomas Cormen et al.
Data Science from Scratch: First Principles with Python by Joel Grus
2015
Eloquent Javascript by Marijn Haverbeke
Introduction to C and Software Design by Tim Bailey
Where Good Ideas Come From by Steven Johnson
Modeling Software Behavior: A Craftsman’s Approach by Paul C. Jorgensen
Concepts of Programming Languages by Robert W. Sebesta
Programming Languages: Principles and Paradigms by Allen Tucker and Robert E. Noonan
2014
Zig Zag: The Surprising Path to Greater Creativity by Keith Sawyer
Android Programming: The Big Nerd Ranch Guide by Bill Phillips et al.
Algorithm Design Manual by Steven S. Skiena
The Creativity Formula: 50 Scientifically Proven Creativity Boosters for Work and Life by Amantha Imber
Building WordPress Themes from Scratch by Joe Casabona
Cognitive Science: An Introduction to the Science of the Mind by Jose Luiz Bermudez
Backlog
The Staff Engineer’s Path by Tanya Reilly
Understanding Distributed Systems by Robert Vitillo
Scalability Rules: 50 Principles for Scaling Web Sites by Martin L. Abbott and Michael T. Fisher
Patterns of Enterprise Application Architecture by Martin Fowler
Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans
Trustworthy Online Controlled Experiments by Ron Kohavi, Diane Tang, and Ya Xu
Learning Domain-Driven Design by Vlad Khononov
Software Estimation Without Guessing by George Dinwiddie
Agile Estimating and Planning by Mike Cohn
User Stories Applied for Agile Software Development by Mike Cohn