&quot;Good CS knowledge&quot; isn&#x27;t &#x27;learning git&#x27;. It&#x27;s mathematics, theory of computation, recursion theory and type theory and PL, compilers, complexity theory and algorithms, advanced data structures, concurrency and distributed systems etc. If you know these, you should be able to pick up more applied subjects on the job quickly.<p>You very much need a university to teach you this.<p>Social sciences will make you a more well-rounded person able to see past just technical concerns.<p>Physics and social sciences will help you understand the world around you.<p>And it sounds like you want university to help you write business logic for accounting software, so an accounting class will do you well.<p>If all you want to do is write simple code for say CRUD applications then you&#x27;re right University isn&#x27;t the place to learn that and a trade school would be better. In tech you already have the best trade school in the universe, the internet, and the best resume in the universe, a github.<p>We have learned a long time ago that letting students decide to study exactly what they want when they are 18 gives you lopsided uneducated graduates who know a tiny bit about the things they were good at already; being well-rounded is EXTREMELY valuable, even more valuable than being an excellent programmer even in tech. The hard parts of software in practice are not writing the code, they are understanding what the user&#x2F;client wants and how to translate that from vague fuzzy human communication to something specific and technical.