The truth about any degree is that you won’t learn even 50% of what you need to know on the job. In fact, if you if you try to match many people’s job to the degree that they that they have, you will see no relation. College is not job training.
If you plan on getting a degree in computer science, you will learn everything you ever wanted or didn’t want to know about how a computer works. You will get a splash of logic, a splash of algorithms, a splash of hardware. In fact, you may be able to build a computer from scratch at the end, write your own complier and explain how neural networks work. But you know what you won’t being doing at most programming jobs. Those things.
Yes, you will learn to program, most likely a language like C++ or Java. And you will learn from a textbook, most likely written by an academic who has no idea what is required by the companies you will be working for when you graduate. And while you will learn to program, you will be learning a language that will have been around for quite a few decades. And these will in no way be the focus of your education. They will be a only part of it.
I have never got a job writing C++ or Java. I have written code in those languages. Don’t get me wrong. And there are jobs out there where you can focus on those languages. But since every computer science college graduate most likely knows one or both of these languages, I don’t look for those jobs.
I don’t have to. There are plenty of widely used languages and frameworks out there that aren’t taught in college. And that levels the playing field.
While you are in college, more programming languages will be invented. New techniques will become the standard because these changes happen organically in the wild. Programming is a living, dynamic thing. If you choose this career, you will be learning all your life or left behind.
So, in order words, even after you get your computer science degree, you are going to have to learn a few more languages to actually be viable in the work force or you can compete with all the other Java and C++ programmers fresh out of college.
This is not meant to say that a college degree is worthless. Learning is always enriching and what you learn getting a computer science degree will help you. It just won’t prepare you for the work force. So get the computer science degree if you want to learn about computers and know what happens in the machine when you write code. But a liberal arts degree will help you just as much with the actual work you will be doing in your career.