System design is an essential part of an engineering manager’s job. It involves understanding the requirements of a product or service, designing its architecture, and ensuring that product development is carried out efficiently.
Engineering managers are always looking to learn to build better products. This is where some books and blogs can be of extreme help. This article introduces the best system design books and top blogs to keep you updated with the latest developments in the field.
Following are the best system design books to read.
- System Design Interview: An Insider’s Guide
- Designing Data-Intensive Applications
- Operating Systems: Three Easy Pieces
- Solutions Architect’s Handbook
- Fundamentals of Software Architecture: An Engineering Approach
Here are the best system design blogs to follow.
BOOKS
1. System Design Interview: An Insider’s Guide
Author: Alex Xu
Year: 2017
Publisher: Independently Published
Page Count: 322
System Design Interview: An Insider’s Guide is one of the most basic and comprehensive books on designing systems and building complex architectures. This book teaches about real case studies in system design and gets acquainted with the best practices. Alex Xu, who has worked for organizations like Twitter and Apple, brings loads of experience from the field, providing an accurate picture of system design and architecture.
This book is of great help to aspiring engineering managers as it talks extensively about one of the most challenging interviews for system designers. Alex Xu presents a workable framework for tackling such interviews to consider all the constraints and limitations and ensure that your responses are well crafted. For engineering management professionals and aspiring managers, this book can easily be regarded as one of the best out there.
2. Designing Data-Intensive Applications
Author: Martin Kleppmann
Year: 2017
Publisher: O’Reilly Media
Page Count: 616
Like any other book from the O’Reilly Media, Designing Data-Intensive Applications also takes a very pragmatic approach.
When we look at modern technological systems, the importance of intelligent data-based designs can never be overstated. That’s why the book particularly focuses on the design and development of data-intensive software applications.
“Designing Data-Intensive Applications” introduces engineers and engineering managers to the right content in a practical manner.
Martin Kleppmann has, indeed, produced one of the most outstanding systems design books. The book includes real-world examples with a flexible approach, knowing that modern software and tools keep changing with time.
3. Operating Systems: Three Easy Pieces
Authors: Andrea Arpaci-Dusseau and Remzi Arpaci-Dusseau
Year: 2015
Publisher: CreateSpace Independent Publishing
Page Count: 714
Operating Systems: Three Easy Pieces, or OSTEP, can easily be called “Operating Systems 101” because of its simplicity; this book explains the fundamental concepts of operating systems. The authors (Andrea Arpaci-Dusseau and Remzi Arpaci-Dusseau) are a part of the computer sciences faculty at the University of Wisconsin, Madison. They bring their experiences from inside and outside the classroom to create this comprehensive guide to operating systems.
The book is centered around three concepts for operating systems: virtualization, concurrency, and persistence. The chapters in the book are extremely short and easy to follow. This book can be of extreme help to system designers who want to understand the design and functionality of operating systems. The examples and problems presented in the book are based on realistic scenarios, thus adding great value to the learning process. One of the best things is that the book is available online for free (in a chapter-by-chapter form).
4. Solutions Architect’s Handbook
Authors: Neelanjali Srivastav and Saurabh Shrivastava
Year: 2020
Publisher: Packt Publishing
Page Count: 490
Solutions Architect’s Handbook describes all the concepts you need to know about solution architecture, including an introduction to the discipline, necessary tools, important considerations, and solution architecture principles. Solutions Architect’s Handbook is one of the best system design books because it is relevant to modern software and system architectures. The use of automation, DevOps, security, and validation is extensively discussed.
The authors, Neelanjali Srivastav and Saurabh Shrivastava work at Amazon and have loads of experience in modern system design practices and tools such as AWS. The book tackles some of the fundamental concepts of system architecture and places them in the digital age, thus preparing engineering managers for real-world problems.
5. Fundamentals of Software Architecture: An Engineering Approach
Authors: Mark Richards and Neal Ford
Year: 2020
Publisher: O’Reilly Media
Page Count: 432
Fundamentals of Software Architecture: An Engineering Approach takes a deep dive into the concepts of software and solutions architecture. The primary audience of the book includes individuals with little experience in software engineering. The examples make good use of programming languages, such as Java and C#, to help you design real-world solutions.
Throughout the book, Mark Richards and Neal Ford make sure that all software architecture concepts are explained in detail, backed by real-world examples. However, the book is not just based on some theoretical concepts; instead, it takes a practical approach to help engineers and engineering managers at their workplace.
One of the book’s highlights is that it always keeps an eye on the management and leadership angle of system design. The final three chapters will be of particular interest to engineering managers.
BLOGS
1. The Netflix Tech Blog
Engineers and engineering managers have a lot to learn from Netflix and how this streaming platform employs system design. The Netflix Tech Blog is an excellent resource to learn about the recent product development, engineering updates, and a lot of other cool stuff.
From the use of Machine Learning and Big Data in modern technologies to effective product management and systems engineering, this blog has a lot to offer. One such example is the article on Building and Scaling Data Lineage, where a unique intersection of the role of a software engineer, engineering manager, and reliability engineer is brought to light in an environment where high-quality data is used to make important decisions.
2. Uber Engineering Blog
Uber is another giant platform when it comes to creating content on system design and engineering complex solutions. Uber Engineering Blog presents examples from the real problems and their remarkable solutions right from the teams at Uber. The blog covers a variety of topics, including but not limited to AI, software development, and, most importantly, system design and architecture.
The blog articles are structured in a way that you, as a reader, get all the contextual information as well as a general understanding of the problem. One such example is the article on Customer Support Automation Platform where the problem and its solution are discussed in a comprehensive manner.
3. High Scalability
High Scalability is one of the best system design blogs. This blog brings stories from a number of leading organizations, giving you a concrete analysis and understanding of real-world problems.
Something that engineering managers interested in system design will find both inspiring and interesting is the Real Life Architectures category on the blog. This is where real system design and architecture stories from platforms such as Netflix, Zoom, and Teads are featured. One such example is the article focusing on The Analytics Pipeline At Teads.
4. DZone
DZone is, beyond doubt, one of the best system design blogs with a unique collection of articles, that too on a variety of topics. Engineering managers can learn a lot from this one platform. The articles covered by DZone are not too long or complicated making them easy to read.
You’ll find some very interesting articles talking about Software Testing and Performance Testing and their value in system architectures.
Conclusion
This article introduced the best system design books that you can read to better understand the world of system design. The blogs covered in this article can serve as a living resource that you can get back to anytime and stay updated with the trends in the industry.
Do you have other books that you’d recommend to other engineering managers? Or blogs that you love to follow? Share your thoughts on the Zumvie Slack Community and be a part of a strong community of engineering managers.