9 Must-Read Books for Software Engineers in 2023
As a software engineer, staying up-to-date with the latest developments and best practices is essential for growth. One of my favorite (and what I feel is overlooked) methods for growth is reading books. We spend a large part of our day reading Stack Overflow and blog posts, but books have really helped me see things in a different light or understand something I do not come across on a daily basis.
In 2022, I read a number of books that were extremely valuable to my career as a software engineer. Here are nine that I highly recommend for software engineers at all stages of their careers to consider adding to their reading lists for 2023:
“Build: An Unorthodox Guide to Making Things Worth Making” by Tony Fadell is a must-read for anyone looking to create things that matter. Fadell shares his unique perspective on how to focus on small, achievable goals and pivot when necessary.
“The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win” by Gene Kim, Kevin Behr, and George Spafford is a captivating story about an IT manager who must turn around a failing project. Along the way, he learns about the principles of DevOps and how to apply them to his work.
“The Hard Thing About Hard Things: Building a Business When There Are No Easy Answers” by Ben Horowitz offers candid and practical advice on the challenges of entrepreneurship. Horowitz covers topics such as hiring, firing, and managing through tough times, and provides valuable insights on how to navigate the ups and downs of building a business.
“Structure and Interpretation of Computer Programs,” also known as the “Wizard Book,” is a classic text that covers the fundamental concepts of computer science and programming using the Lisp language. This book is a must-read for any serious software engineer.
“A Philosophy of Software Design” by John Ousterhout argues that good software design is all about simplicity and clarity. He offers practical advice on how to achieve these qualities in your own code. This is a good one to read even on a yearly basis.
“The Pragmatic Programmer: From Journeyman to Master” by Andrew Hunt and David Thomas is a comprehensive guide to becoming a better software engineer. It covers a wide range of topics, including debugging, testing, and refactoring, and is filled with useful tips and techniques. Make sure to pick up the 20th anniversary edition.
“An Elegant Puzzle: Systems of Engineering Management” by Will Larson discusses the challenges and opportunities of managing software development teams. Larson covers topics such as building effective processes, setting goals, and creating a positive culture.
“Software Engineering at Google: Lessons Learned from Programming Over Time” by Titus Winters, Tom Manshreck, and Hyrum Wright offers a behind-the-scenes look at how Google approaches software development. It covers topics such as code review, testing, and technical debt, and provides valuable insights into how to build reliable and scalable systems.
“INSPIRED: How to Create Tech Products Customers Love” by Marty Cagan is a must-read for anyone looking to create successful tech products. Cagan covers topics such as defining the product vision, building a strong team, and gathering customer feedback, and provides practical advice on how to apply these principles to your own work. Commonly recommended for product managers, I think its a great read for engineers as well as it will help when working cross-functionally with your product team.
These books provided invaluable insights and kept me motivated and inspired throughout the year. “An Elegant Puzzle” was particularly helpful in figuring out how to more effectively handle support issues within my team, while “Software Engineering at Google” offered valuable guidance as we were setting up a new project and repository. I hope this list of recommendations will provide some useful reading options for you in 2023 as you continue to grow and develop in your software engineering career.
« 2 Years at Illuminate, A Retrospective
Notion 101 for Software Engineers »