In his course, Alex mentioned that the system design used in practice at companies is very different from the system design studied for interviews.
There are books such as System Design Interview that are used for system design interviews. What's your take on the book?
Designing Data-Intensive Applications is another commonly cited book. What's your take on this book? What other good books you recommend to get better at system design in practice?
There are a few types of architectures floating everywhere such as domain- driven design, hexagonal architecture, event-driven architecture, microservices, etc. I know microservices is very well used in practice. What's your take on the usage of other architectures? They seem pretty abstract. Is learning them worth it?
Yes, there is often a huge difference between practical system design (DDIA) vs interview system design (ByteByteGo) -- they can be quite different.
I would not recommend learning these architectures and microservice concepts. The reason is that they're hard to really engage with on your own -- they are, almost by definition, used in the context of a large team or large company.
So if you attempt to learn it on your own, it'll feel very theoretical and academic. I don't think this is a productive way to learn the material. Instead, focus on expertise as a builder, and explore architectures as needed when you hit certain milestones.
The most popular question on Taro about system design is from this Amazon engineer: What are the best resources to learn system design in a structured way?