Get a degree from a major university, and enjoy your studies. That said, watch out for schools that teach "programming" or claim to teach computer science, but don't.
Why get a degree? Because they force you to learn things that you wouldn't learn on the job or bother to teach yourself. A good school is going to teach you theory of computation rather than how to approach a specific problem. Most people I know won't study graph theory, abstract algebra, linear algebra, or statistics on their own; they won't study algorithms or try to prove P =?= NP. I have used more "theoretical" knowledge on the job than I would have believed. I work with "amateur" or "self taught professionals," and their code can be good, but it has major flaws caused by lack of working knowledge. The details of complier design can help design a flight simulator, and the details of image recognition can help find a cure for cancer; so be sure to learn both what interests you, but pay attention to other details.
-- end rant --