Focussed, motivated people make better programmers. There are surely some dropouts with high motivation that will outperform most CS graduates. But there are also a lot of lazy ones.
Spending equal time and energy, I think the CS graduate would come out ahead. Of course, in some countries, he'd also have quit a bit more debt.
CS degrees are not useless at all, but they do have some parts that are more research-focussed and that might not be as immediately useful for you. But don't underestimate how many different things come up.
Math, for example, is often seen as useless, but I'm sure I'd be a better programmer had I done more (and I did a fair amount already).