I would add Clean Code. It's Java centric but a lot of the ideas can be used in any language, even though it can probably all be condensed to "everything should do a single thing and no more"
Yeah, single responsibility principle is the key takeaway from that book. Clean Code is a must for all programmers and I can recommend it as a prequel to CA. It's written by the same author after all.
I have a feeling the OP is looking for a book about software development in a broad sense.
I have a feeling the OP is looking for a book about software development in a broad sense.