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.