If you're a computer programmer who thinks about software design, it helps if you've had a chance to learn about a variety of software designs. This is a great book for that! Maintainers of several programs talk about the basic design of those programs. They don't always write about the same aspects; they have different ideas about what "architecture" means. I disagree with some of them. But I learned from all of them, even the ones I disagreed with.
I probably overlooked some good stuff, too. E.g., the maintainer of bash mentions the importance of writing clear change descriptions. And I said, "Well, yeah, I always write clear change descriptions in case I need to remember what I was thinking later." But then I remembered: this guy's been the bash maintainer for twenty years. When I look back on an old change description, how old is that change? Maybe a year or two? The longest I've worked for any organization is eight years. Would I understand one of my change description comments 20 years later? Oh man, I don't know. I've read other people's old change descriptions, I think I'm as clear as they are. I think. I hope.
It's easy to skim these things; maybe too easy. When you look closer, you think "Maybe there's more to it than I thought."