Reading List
General Software Engineering Link to heading
- The Pragmatic Programmer: Your Journey To Mastery, 20th Anniversary Edition - This is the first book every software engineer and aspiring software engineer should read.
 - Clean Code - I would not follow this book dogmatically. However, I feel it has some insights valuable to everyone on how to structure code.
 - Modern Software Engineering: Doing What Works to Build Better Software Faster
 - Domain Driven Design: Tackling Complexity in the Heart of Software
 - Working Effectively With Legacy Code
 - Refactoring: Improving the Design of Existing Code
 - Extreme Programming Explained: Embrace Change
 - Design Patterns: Elements of Reusable Object-Oriented Software - Very heavily OOP. As I primarily write go it is not as useful to me, however, worth reading for everyone at least once.
 - Code Complete 2 - Somewhat dated, however, the core principles have held up well.
 - Accelerate
 
Advanced Topics Link to heading
- What Every Programmer Should Know About Memory
 - Operating Systems: Three Easy Pieces
 - Computer Systems: A programmer’s Perspective
 - SQLite Database System Design and Implementation
 - The Art of Computer Programming
 
Go Books Link to heading
- Let’s Go
 - Let’s Go Further
 - 100 Go Mistakes
 - Data Structures and Algorithms with Golang
 - Writing an Interpreter in Go
 - Writing a Compiler in Go
 
Side Note Link to heading
These are just books I would recommend reading. To learn Go for example I would mix in many web resources such as Go By Example and Learn Go with Tests. I have decided not to include some popular Go books as they are outdated compared to Modern Go. All of the older books I have included are those with timeless knowledge that transcend language.