What we call "Computer Science" is the discrete analogue of differential equations. It has absolutely nothing to do with software engineering. CS programs don't teach software engineering, which can be thought of as "how to design, build, grow, and maintain an effective software system in a team environment." Since most Universities prioritize research faculty over teaching faculty, software engineering skills are generally undeveloped in fresh college graduates, and tend to be passed along by mentors and senior engineers in software teams to junior engineers.
Shy of Universities hiring prominent open source software developers to serve as part-time teaching faculty, I don't know how we could push the transfer of these skills into the university setting and expose students to this knowledge at an earlier age.
Shy of Universities hiring prominent open source software developers to serve as part-time teaching faculty, I don't know how we could push the transfer of these skills into the university setting and expose students to this knowledge at an earlier age.