I guess that depends on what you call &quot;good CS knowledge&quot;. It&#x27;s true in my experience that universities are not particularly good at teaching the actual engineering part of software engineering. But I that that is because the major is called &quot;Computer <i>Science</i>&quot;, not Software Engineering. In my opinion, universities&#x27; main focus should be on educating potential scientists, not churn out workers for the industry. That implies a heavy focus on theory, with the practical parts being mostly self-taught when necessary.