In general, CS (the science) does not often concern itself with the kind of architecture decisions day-to-day programmers deal with.
Instead, the field tends to offer architecture advice in particularly hairy areas (DB design, distributed FT consensus, etc).
In my opinion, that’s how it should be - the goals of academics are very different to those shipping code in the real world. A great developer will be aware of when to turn to academia and when to turn to industry best practice - too often developers are not aware that they are wondering into a hairy area, and end up re-inventing flawed and inefficient versions that are well understood.