It has been my experience that many people who have been "self-taught" for computer programming, they have learned some bad habits that prevent them from being as productive as they could be otherwise. I had the advantage of learning at a young age from my father, who worked for IBM. This was in the early 1970s before there were any personal computers... not even the Commodore 64 was out yet.
Courses at the University may not teach you the specifics of how to program a particular language that you may need for a certain platform if you decide to do that later on, but it will teach you proper programming techniques, how to organize your work, and how to be successful at it. However, be aware that taking courses at the university in programming will no more make you a great programmer than taking art classes can make you a great painter. Your brain needs to be wired for it. Those who learn only for books without having the natural talent for it will only be mediocre at best. That's why MikeInBA said "Just because somebody has a degree doesnt mean they are a good programmer." Some people can just "see" the program before they write it. Like John Nash with his talent for math. He could see the formulas appear in his head before he made the great breakthroughs that he had.
I started programming in C when I was 8 years old (no, not C#, not C++, those didn't exist in the early 70's. It was just C.) I wrote a game in C when I was 10 that incorporated artificial intelligence to learn from its mistakes as it played, and every time you played against the computer, it got smarter until you finally could not beat the game. It made it not much fun to play. Not to mention not many people could even try it, because how many people could afford an IBM 5110 Mainframe? Had to load the program with a few hundred punch cards instead of a CD. Haha! If you don't know what a punch card is, Bing it.
Programming is a great career IF you have the kind of talent that can help you rise to the top and demand good pay. Without that special talent, you can end up as one on a team of programmers or as a freelancer that makes it paycheck to paycheck, because everyone wants to be a programmer in high school it seems. Yes, I speak from experience. I retired at 45 and don't have to deal with the projects any more.