Books

Here are some Software Development books I’ve read, along with a few thoughts on each:

Cover of Fundamentals of Software ArchitectureFundamentals of Software Architecture By Mark Richards & Neal Ford
A well paced book on the basic principles of Software Architecture. It explores architectural characteristics, how a system is composed of a series of characteristics and discusses the various trade-offs when picking them. Mark and Neal also talk about established architectural patterns, like microservices and service oriented architecture.
Cover of A Philosophy of Software DesignA Philosophy of Software Design By John Ousterhout
Cover of Immune: A journey into the system that keeps you aliveImmune: A journey into the system that keeps you alive By Philipp Dettmer
Bonus! I purchased this shortly after the Kurzgesagt YouTube channel announced it's launch. It is a fascinating exploration of the Human Immune system, how it works and how it keeps you alive!
Cover of What We Owe the FutureWhat We Owe the Future By William MacAskill
Bonus! A philosophers perspective on a concept called longtermism. It talks about how we all have a duty to do what we can, and must, to preserve the world, the knowledge within it, such that we can continue on as a species and civilization for the future ahead. It covers concepts like AI safety and Climate change. I like to think I take the on the same ideals when it comes to developing software, ensuring it does not cause harm socially, physically, and environmentally.
The Pragmatic Programmer By Andrew Hunt & David Thomas
The Clean Coder: A Code of Conduct for Professional Programmers By Robert C. Martin
Cover of Clean Code: A Handbook of Agile Software CraftsmanshipClean Code: A Handbook of Agile Software Craftsmanship By Robert C. Martin
The first Software Development book I picked up when I started my first professional Software Engineering role. It provides an insight to some basic principles within software you can follow to help write readable and maintainable code. For example, by using the DRY (don't repeat yourself) principle and adhering to the SOLID principles.