This page is based on the reading list from Gergely Orosz. I think it’s a splendid format to share books that I recommend.
This is a collection of software engineering and engineering management books that I have read and would recommend to others.
These are books I learned a lot from, as a software engineer.
- Grokking Algorithms. A great intro, or a refresher for all the algorithms that you’d likely need to use at a tech company.
- Clean Code- A reference book of coding best practices/patterns for a healthy codebase with some case studies. I read this book after having about five years’ professional coding experience. It changed how I approached code readability, testing, and maintenance.
- Domain Driven Design - Great book to learn all the basics from DDD. From Ubiquitous language to bounded context, you can really learn a lot in this book.
- Refactoring - A book by Martin Fowler. It comes with great patterns on how to refactor your code in a smart and iterative way. It’s a must read for every engineer.
- Clean Architecture- From the same writer of Clean Code, this books cover the architecture gotchas that we need to be careful. It also gives us many tips on how to build an effective architecture.
- Site Reliability Engineering: How Google Runs Production Systems - Hardcover & (free) online book - a good overview of SRE at Google. For those who worked at places with oncall, much of the first part of the book will likely be very familiar. Keep in mind that your mileage might vary: what works at Google scale, might not be the ideal fit for your use case.
(Engineering) Management Books
These are books that helped me level up, being a tech lead and engineering manager.
- The Manager’s Path - a concise guide for managers, from tech lead, through line managers, managers of managers, all the way to CTO.
- The Phoenix Project - a novel inspired by the Goal, this time playing inside an enterprise in 2010.
- An Elegant Puzzle - a long overdue read for engineering leads. The most hands-on read on engineering management I’ve picked up. Apart from the book, the Recommended Papers section in the appendix list excellent engineering reads. See my in-detail review and book notes.
Curated newsletters are my preferred way to stay up to speed with what’s new and relevant on software engineering. I’ve tried out many newsletters and here are my favorite ones, which I keep reading through every week. (Note: I also send a newsletter on engineering, tech leadership and distributed systems once a month).
Software Lead Weekly by Oren Ellenbogen, VP of engineering at Forter. Five articles per week on technology and leadership. 23,500+ readers.
- Level Up from Pat Kua, Chief Scientist at N26. ANother brilliant persona that I had the privilege to work with. In his newsletter you can find, 15-20 interesting links on leadership, tech, organizations, and processes.
- The Weekly Hagakure by Paulo André, previously director of engineering at Hello Fresh which I had the privilege to work with. A weekly newsletter with 3 articles, 2 videos, and 1 book recommendation for technical leaders.
- Changelog - interesting links shared every week about what’s going on in the engineering industry.
I frequently listen to the below podcasts.
- The Ladybug Podcast - a fresh take on the industry with three women software engineer hosts. Shorter episodes every week or two.
- Kubernetes - weekly news and interviews from the Kubernetes community.
- Go Time - weekly podcast with diverse discussions from around the Go community.