Books for Learning Software Engineering

Introduction to Algorithms

Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, & Clifford Stein

This was the same book I used in my algorithms class in school—maybe the instructors were biased as Cormen was chair of our Computer Science department at the time. The coursework was grueling, but I had never felt my brain learning and changing so rapidly as I did during my algorithms class.

The book covers a broad range of algorithms in depth while making them easy to learn and understand. There are over 100 exercises for you to go through so that you can learn each system in detail. After you finish this book, you’ll have a solid understanding of the majority of the algorithms used by software engineering teams around the world to solve everything from routing to search.

Books for Software Engineering Interview Prep

Cracking the Coding Interview

Gayle Laakmann McDowell

“Cracking the Coding Interview” was the first book I read when preparing for coding interviews as a senior in college.

First published in 2008 from her experience at Google as a software engineer interviewing hundreds of candidates, it’s been updated every few years as the industry has shifted and still remains one of the most comprehensive guides on preparing for software engineering interviews. It covers everything from data structures & algorithms to systems design and behavioral questions. It also includes over 100 practice questions and solutions to help you prepare for your interviews.

The book is especially useful for those who are preparing for technical interviews at large technology companies such as Google, Facebook, and Amazon, which are known for having rigorous interview processes that often include coding challenges and system design questions.

System Design Interview (Vol 1)

Alex Xu

System design questions are often the most difficult of all technical interview questions. This book makes them easier to tackle. It is Volume 1 of the ‘System Design Interview - An Insider’s Guide’ series. This volume provides a reliable strategy and knowledge base for approaching a broad range of system design questions that you may encounter. It will help you feel confident during this important interview. This book provides a step-by-step framework for how to tackle a system design question. It also includes many real-world examples to illustrate a systematic approach, with detailed and well-explained steps you can follow.

Books for Becoming or Leveling Up as an Engineering Manager

The Making of a Manager

Julie Zhuo

Written by a new manager for new managers, “The Making of a Manager” combines Julie’s experiences becoming a new design manager at Facebook (Meta) with sage advice for anyone else looking to become a manager in the tech space.