Honestly, probably one of the best things you could do is join the military. If you are tech savvy, then chances are that you can score high enough on the ASVAB (entry test) in order to get into a really high speed career field. I joined the Navy, became an arabic linguist, left after a few years, and got a programming job as a contractor for 102k/year. Here's the process you're looking at if you want to take a similar route:

1) See your local (you might have to travel a bit) recruiting station and ask to start the process in joining. I recommend the Navy of all branches, because I've worked with people of all the other branches and the Navy gives you the most potential to succeed long-term -- they are the only ones that promote the idea of cross-training, will burn away your outer weakness by some extremely crappy years of work ultimately making you a better person, and allow you more technological opportunities than any other branch.

2) Your recruiter will ask you about your past. This will include drug use, prior convictions, etc. Hopefully you don't have any felony charges, or you won't be able to join. There are waivers for various offenses, but some will preclude you from getting a security clearance job.

3) Take the ASVAB. It is an extremely simple test which tests very basic concepts that you should already have formed a mental model about if you're a halfway decent programmer. Example: This lamp post is 30 feet tall and casts a 50 foot shadow -- What is the hypotenuse? (That was a real question). There are also mechanical things (what type of wrench is this?) and basic english things. Score in the 80+ range (out of a possible 99...which I maxed out without breaking a sweat and I'm not a genius) and you can almost guarantee yourself a security clearance job.

4) Your recruiter will take you to a MEPS station. After they do a bunch of physical tests on you (normal physician tests like stripping you down and checking your parts), you will be taken to the most important leg of the journey -- the guy that will assign you your rating. If you did well on your ASVAB, this part will be a breeze, because he will mostly be interested in fitting you in to where you're comfortable. As a programmer, your goal is to get one of these ratings in order to get yourself into a job that can leverage your skills. Even though I was an arabic linguist, I was allowed to build unlimited amounts of tools in order to support missions, and that eventually just became my job. I was in the military and could come in to work whenever I wanted to and basically do whatever I wanted to. This is the exception more than the rule, however, but it's still a possibility if you have an excellent work ethic. The jobs that get you into said positions are: CTI, CTT, CTN, CTR, IT (secure). All of these will require a 6 year obligation (4 year + 2 year extension).

5) Boot camp. It was basically one of the more enjoyable periods of my life. Every day is mapped out on a bi-hourly basis about what you're going to be doing from the minute you get there to the minute you graduate. You can look on the schedule and see what you're going to be doing 2 hours and 4 weeks later, and that will be exactly what you'll be doing. The structure will allow you find out things about yourself and your capabilities which you might not be aware of. I had barely graduated high school (1.8 gpa) and had a couple months of work at subway, but the experience awakened a great motivation to succeed in me, and it just might do the same for you too.

6) A-School. Depending on the rating (job) you chose, this will be different. For the non-CTI jobs, you'll be going to lovely (sarcasm) Pensacola, FL. The experience is great, and it's a good stepping stone to re-introduce you back into the world after having everything taken away from you in boot camp. If you chose CTI then you'll be going to the Defense Language Institute (DLI). It's basically college, except you're paid to go. Would recommend.

7) C-School -- most likely still in Pensacola if you're a non-CTI, and if you're a CTI it will just be at your final duty station. This will be where you learn more advanced things, and will be influenced by your scores on tests in A school. The great part about this is that there's no homework since everything is classified, which is why I was able to do really well here. Only knowledge and practical ability matters (which is the common theme that you'll find in most of the Navy).

8) Final duty station. This can be many places around the world, but if you specifically want to program then you want to be stationed at an NSA facility. The NSA is the only government agency that really promotes people to think outside the box -- trust me, I've worked at all of the others. I never programmed anything for real until I went there, and there was a program we used where you had to add the number 9 to a calculation before entering it in. I asked "shouldn't the computer just do that?" and no matter how many trouble tickets we submitted, no one would resolve it. So, I asked the person who had created the program 20 years ago if I could modify the program to fix it -- he handed me the Perl cookbook and said go for it. That spawned an entire career. You'll find that people there, although odd, will be more open to change than anywhere else in the government.

Once you have 6 years in (which will be the minimum for a job like this), you'll be 28/29 with a lot of skills, experience, and a security clearance. You'll have met people working at various contracting companies that will hire you, or you can apply at various government agencies that will easily snatch you up.

About me: I started out as an EW (electronic warfare technician) tech which was 2 years of electronics schooling. I served on a ship for 2 years and cross-rated to CTI to learn arabic. After finishing 9 years total in the Navy, I collected a total of 62,000 dollars in bonus money. I left the Navy with no debt, a car, a lot of money in the bank, a 92k offer and a 102k offer and three full months of collecting my Navy paycheck after leaving (terminal pay). I took the higher job offer and worked that for a year, conceiving of, writing the requirements for, and building (by myself) a computer program that saved the government an estimated 3 million dollars (along with writing a bunch of piddly scripts and API's that have saved a few million more and continue to be used). I'm 29 now and have saved up enough money that I dont have to work for 2 years and can focus on bootstrapping my own startup. The Navy and my work ethic (and ability to save money) gave me that, and it can give it to you too.

If you'd like more information, message me and I'd be glad to help.