There is a general problem in the US right now that the average salary for middle-class workers is not keeping pace with the cost of living in those places where jobs are available. Your first job out of college, you're probably going to struggle to make ends meet, because many of the tech jobs have moved to expensive cities and they aren't going to pay you well to start.
I've had more hands-on, away-from-the-computer work as a programmer who isn't afraid of soldering irons than most of my electrical engineer friends who view programming as just a necessary evil.
Bachelor's degree is mostly a waste of money. Get one as cheaply as possible, don't go to an expensive school, try not to pay for it yourself, don't go into massive amounts of debt. Unless you're going to end up working for NASA, nobody cares if you went to MIT. The vast majority of employers only care that you *have* a degree at all, not where it was from or what your GPA was. Master's degree is a complete waste of money. If you want to do research, go get into a PhD program. Master's degree program is just to let people who are afraid of learning on their own or afraid of committing to a PhD program to dump more money into the system.
Best way to make money is freelancing. Fully 1/3rd of the US economy is now freelance, and it's growing. No companies are increasing the number of full-time employees they are hiring, established companies are dumping everything off on outsourced work. Might as well set your own terms. Market yourself, stay on top of your skills, learn more about business than just programming (which no university is going to teach you). You're never going to be paid what you're worth at a job, and the vast majority of employers you're going to end up finding will treat you more like a burden than the source of their livelihood.
I socialize a lot, just not with my "coworkers", because I don't have any coworkers. I work out of a freelancer's' space, the monthly dues are less than what I was spending at coffee shops, plus it still comes with coffee, the wifi is better, and nobody is bringing in their screaming kids in strollers. I also attend meetups of various types in my area. So, I get to meet a lot of different types of people, not just programmers.
I'm also going to buck the trend in this thread and say forget everything about any concept called "Passion In Your Work". It's nice when you're working on something that you enjoy, and I recommend it to the fullest extent that it is possible, but the way it is pitched makes it sound like a never-ending honeymoon at work. It ignores the fact that there is a heaping helping of work that *must* be done that you will *never* be passionate about. You *have* to understand how taxes work. You *must* make sure your health is taken care of. If you work independently, you *are absolutely required* to advertise and market yourself, network with others, and pitch services to people. The specific details aren't important, you certainly like and dislike a completely different cross-section of things than me. There are times when even the core work that you love will become a chore, but it still has to be done! Everyone has to get this notion that "passion in my work = success" out of your head. I think it is more dangerous than it's worth.
Scratch everything else I said, except for "stay out of debt". If you can manage to stay out of debt, you can do whatever you want. It doesn't really matter. Stay out of debt and you could work 10 hours a week writing stupidly simple web code and you'd be able to support yourself perfectly well. Add another 10 hours a week and you could support a small family. 20 hours a week of work is not a lot, I fit it into 2 days, then do whatever the hell I want the rest of the time. But you *have* to stay out of debt. It doesn't work otherwise.