After time your smallish projects get increasing ambitious. Javascript can't do something you need, move up to PHP. I "learned" languages by reading books or even taking classes but I have long since forgotten everything that I never actually had a need to use in the real world. I "learned" C but I remember things from javascript that I learned 12 years ago because I've actively used javascript on and off since then.
You need a CS degree to answer some programmer interview questions and as a quality indicator for kids right out of school, but plenty of really solid developers started learning by taking up smallish web dev tasks that became increasingly and increasingly ambitious over time. To get really good it takes years and years of doing this though.
That's interesting, the prevailing opinion here on HN seems to be that being in 'finance' is better then in CS.
Why is that different in your case?
I strongly disagree, as to HN's "conventional opinion". I think most participants and probably most lurkers, would say that finance is probably, on average, a more lucrative field, but a CS degree from a no-name university would probably be better for getting into finance, the field, than an equivalent finance degree. This assumes you're working for someone else.
A finance degree is less useful for a technology/coding business/startup than a CS one. This is the raison d'etre of the forum. I would also contend that for getting FY$, personally financially independent rich, a startup is probably at minimum equivalent to working in finance. As such, neither is a bad choice, but the CS degree has better options.
It's common for folks in finance to have undergrad technical degrees (e.g., physics, math, CS) and graduate degrees in something more closely related to finance such as an MBA or MS in quantitative finance. (Although the pure quants will usually have a PhD in math or physics.)
But frankly if you're a technical person IMO finance is a ghetto: once you're in, it's hard to get out. In no other industry can you make as much money to do work that generally speaking is substantially behind the curve technically (e.g., pre-STL C++ is the standard development language and mindset, and most of the time you're just moving stuff to and from CSV files and databases). But if you're disciplined with your spending it's a great way to save seed capital if one day you want to jump ship and try a startup.
I hope that makes some sense. Obviously it's hard to say where I'd be if I had gotten a degree in CS (or if I'd have made it out alive!); hindsight is of course 20/20.
But even if being in finance is better than being in CS, in places where performance is rewarded being in finance with a CS degree is better than being in finance with a finance degree.
http://news.ycombinator.com/item?id=1613347
There are many more besides it.