I have a degree in Computer Science, and I've felt a bit resentful about it over the years. I think part of the problem is that I should've pushed for a college/university that was a bit more challenging. I barely felt challenged throughout my time there to the point where I took 300-level courses in my freshman year. It probably didn't help that 100-level courses were considered beginner courses, and I had already been programming at home and in high school. I gained a lot of knowledge about "the real world" from an internship that I took between my junior and senior year, which was quite eye-opening.
It's worth noting that while the Internet was certainly around during my college days, it has changed a lot since then. It's certainly plausible that someone could learn how to design and develop software without stepping foot on campus, and honestly, they could be better than those with a degree. However, you are fighting an uphill battle, because that piece of paper is a very quick filtering method. Although, there is one very important aspect that can easily overcome it, and it's important regardless of whether you attend college or not... networking. One nice aspect of learning to program on your own is that you can take part in social programming projects (e.g. open source), which I would highly recommend as it not only provides valuable experience but also the chance to network with others.
Ultimately, it isn't that hard to weed out a newbie programmer whether they went to college or not. It only takes a few thought-related questions just to see how you handle problem/task decomposition. For example, a previous boss of mine liked to ask "How many gas stations are there in the United States?" in interviews. It was a little bit of a trick question, because he didn't care if you got it right or were even close. What he was looking for was your reasoning, or how you broke down the problem (50 states, c number of counties per state, s number of stations per county, etc.).
The one thing that I do notice in some of my peers is the complete disdain for testing. I think this becomes a bit of a problem, because not having experience in software test usually results in not having a good testing mindset. I tend to see the results of this
a lot when I review unit tests as the tests may have full coverage, but they often fail to verify all necessary output or verify proper data flow throughout a function.
The one thing I find very favorable about getting a college education is that those with one tend to vote smarter.
While this is purely anecdotal, I've met plenty of people that are very capable within their domain yet will gladly spout political conspiracy theories. You can just imagine how much I'll cringe when I hear someone say to me, "That weather... global warming, eh?"