First, let me layout a quick foundation:
I'm 23. I left highschool in the first month of my Junior year to pursue a career in this field and have no formal technical education. I have no legitimate college education, beyond some audited (out of curiosity) classes, mostly in subjects completely unrelated to the field. Currently, my employer is one of the giants of the field (you could count those that are bigger on one hand and probably have a couple fingers left, I bet). My employment at my current place was made by luck and a transition from my previous employment at what many is considered the "first internet company", which was founded by JC (you surely know how I'm talking about).
Okay, with that crap out of the way -- you can see where I'm coming from and take my advice for what it may or may not be worth.
The first lesson I've learned is that education is important, but desire is more important. Formal education is nice, but well-rounded intelligence is something that can be demonstrated and observed and is often of greater value. Reliability, hard-work and the ability to learn and work well with people is extremely important.
Internships, special classes in high school, college courses and a computer science degree (as expensive a that is) and anything else is secondary -- connections are the most important aspect of finding a career here. It really is who you know. Chances are that someone who has a little input somewhere will alert you to an opening and offer to help you get it. This is how I got my career and I see this happen to other people who otherwise would never have gotten a foot in the door, every day.
I also wouldn't put all your stock into a particular goal for a field. You know, most college graduates find careers that have little or nothing to do with their major -- so if you're going to aim for a college education -- go broad. Enjoy it. Don't learn just necessities for x and y fields -- learn whatever floats your boat and absorb the knowledge. If you're really interested in coding, you'll learn that inside or outside the classroom -- because this high-tech stuff is an addiction. There's a reason people like me work all day for pay and then do the same damn thing all night and all weekend for free.
There are people in my company -- even those who could have effected my hiring originally, who typically frown on and often refuse anyone without a college degree, simply in principal. I was lucky, because they all knew be by the track-record proven at an allied company so it was a no-brainer to bring me on board. So while I say a forma/official/traditional education isn't required, I still believe it's a good idea (and I can't believe I'm saying that, because I've always dispised the routine education system that entails paying a lot of money just to prove that you can follow someone elses rules and be a good boy for four to eight years and follow the system like a nice little brainy-drone).
Again, to shorten this all into a concise piece of advice: learn as much about as many things as you can, don't focus too narrowly, don't set your expectations or desire on an exact aspect of the field -- keep it abstract and make friends in the industry so that they can preach your good name to their managers and supervisors and other friends when people are looking for good employees.
Your eventual first 'career job' may be in technical support, development engineering, quality assurance, systems engineering, system admin, web design, database design or anything else. If you keep an open mind and a broad interest, you'll know which is right for you when it is presented to you, instead of losing those oppertunities due to the blinders the ambition for one job (which may or may not present itself).
I just read K5 for the articles.