Indeed. Some of the other points in Joel's post, like learning C and learning how to write, are also excellent tips for those still waiting for that piece of paper, but learning how businesses work is such good advice that I have to add my two cents.
Indulge me as I give you a bit of background first... So, I've been a computer geek since I first laid hands on a TRS-80 at age eight, and then I set my feet completely on the path to computer geekdom when we got a Packard Bell (remember them?) with an 8088 processor (four color CGA!). Anyway, so I've been into computers for a while... fast-forward to college and I decide I should go into Computer Science, since I love computers, natch. The problem was, I didn't have a great love for math, even though I loved programming, and decided CS may not be the best plan for someone who isn't into the math scene. So, I switched over to the business school for an Information Systems degree (cue the snickering from those that stuck it out in the CS program). But I figured this: I'm a geek that eats, sleeps, and breathes technology. I code for fun. I can teach myself just about anything I want to know about computers and programming. It's much harder to teach myself Finance, Operations Theory, Management Theory, etc. So, off to the business school I went.
And I couldn't have made a better decision. I try to convince my fellow geeks of this all the time but rarely do I feel many of them get it: You'll be so much better off in your tech career if you understand and are interested in the business side of the company, too. My business degree has prepared me better than any CS degree could have for the jobs that I've had that actually use technology to solve a business problem. I will concede that getting a CS degree is a good thing, and especially so if you just want to stick around a campus and pontificate all the time, but if you want to get out into the business world and want a distinct advantage, get a strong foundation in business.
Or at least microeconomics.