CS degrees are not a catch-all. Most teach data structures, algorithms, a little AI and database theory. Few teach how to structure programs.
I'm pretty sick of the "I work with people without CS degrees" excuse. Good software design really comes down to experience, persistence, and taste.