Books to read

I like to keep a list of the books I want to read. Most of them come from recommendations found in the books I have read. Others are classics, and some are related to topics that I found interesting. This is more like a wish list than the books I will read. Sometimes I need to study a subject for work, and that book will come at the top. Other times I found a new book that will perfectly complement the last one or the work I'm doing, which will also move at the top.

Anyway, this list helps me keep focus and achieve my year goals. An important fact is that my "want to read" list is limited to 20 titles, and that means that if any new book has to enter, another one has to go. Also, notice that I keep the list sorted.

Advanced Swift
Chris Eidhof
A Philosophy of Software Design
John Ousterhout
Building Evolutionary Architectures: Support Constant Change
Neal Ford
Designing Data-Intensive Applications
Martin Kleppmann
Growing Object-Oriented Software, Guided by Tests
Steve Freeman
Learning SQL: Generate, Manipulate, and Retrieve Data
Alan Beaulieu
The Algorithm Design Manual
Steven S. Skiena
Structure and Interpretation of Computer Programs
Harold Abelson
Test-Driven Development: By Example
Kent Beck
Fluent Python: Clear, Concise, and Effective Programming
Luciano Ramalho
Refactoring: Improving the Design of Existing Code
Martin Fowler
Agile Technical Practices Distilled: A learning journey in technical practices and principles of software design
Pedro Moreira Santos
Essential Scrum: A Practical Guide to the Most Popular Agile Process
Kenneth S. Rubin
Mastering Collaboration: Make Working Together Less Painful and More Productive
Gretchen Anderson
The Five Dysfunctions of a Team: A Leadership Fable
Patrick Lencioni
Crafting Interpreters
Robert Nystrom
Patterns of Enterprise Application Architecture
Martin Fowler
Project Hail Mary
Andy Weir

Do not hesitate to send me an e-mail with recommendations!