If you can't afford school for computer science, and possess any shitty computer running Linux or BSD, and have access to internets, then you can teach yourself. You can accomplish all this in about a year of hard work doing it everyday for about 2-3hrs. After a few months you'll already be fluent in Python, which means every other language will be easier and faster to learn.
Step 1: Get any shitty job that pays enough to feed and house you. Be a landscaper working for cash, garbage min wage P/T job doing tech support, anything. When not in work, learn the following:
khanacademy.org - bring up your math skills to calculus 1 level if they're not already. you can start at elementary school level math with this site by watching 10-20min mini lectures
coursera.org - free university lectures, though sometimes you have to buy the texts off Amazon or trade them with other coursera students
ocw.mit.edu/courses/index.htm - complete free MIT courses that include text. if the video lectures are really old for the engineering courses, you can get the most recent filmed lectures (2012/2013) on mit techTV internal site, or just go to the regular course calendar, and look around for the uploaded courses. Often these calendars are open to the public you don't have to sign into MIT to view them. techtv.mit.edu/collections/6_004 are from Spring 2012
online.stanford.edu - you get credit for completing these, database course is pretty good
projecteuler.net - teaches you problem solving skills using Python, everybody swears by this site
pythonchallenge.com - similar to project euler but you have to track down libraries ect and will learn even more about the language
shuklan.com/haskell/ - learn haskell
scs.stanford.edu/11au-cs240h/notes/ - more haskell
youtube.com/playlist?list=PLE08A97D36D5A255F - complete Android bootcamp all you need to know about making apps, building the system, anything.
Step 3: Compliment above with the following books
You should buy these, but if you're in say, Moldova where the average wage is $100 per month and you're near starving then obviously you can pirate most of them
nostarch.com/catalog/programming - get the LISP and Haskell books to learn functional prog
nostarch.com/catalog/security - get the book of pf, and web app security books
nostarch.com/catalog/linuxbsdunix - Absolute OpenBSD 2 is coming out, you can now boot directly from encrypted softraid partitions and other interesting goodies in OpenBSD current (5.3).
openbsd.org/books.html - lot's of info on Unix timesharing and C coding. SSH Mastery is an awesome book, costs $20. Most of the other older books are free and still relevant. If you know BSD then you can get BSD certified @ bsdcertification.org
read all the bitcoin whitepapers of course
Step 4: Watch or listen to lectures on secure coding
Somebody who can program in C that knows what they're doing is in high demand everywhere for remote work. This is a good lecture: bsdcan.org/2010/schedule/events/172.en.html as you will learn how important designing is, and proper priv drop. You should already have read books on C, and taken the MIT C courses
securitytube.net - all the DefCon, BSDcon, Shmoo or Blackhat con lectures, or just search around youtube, which is now chock full of free lectures from everything from IBM employee secure programming pitfalls and traps presentations to University of Poland lectures (in english) about analysis of code to prevent exploits.
Step 5: Build portfolio
Get a github account, start making software and upload it. Start contributing to open source projects like Debian, Bitcoin or whatever you want. Often, this is a good way to get a remote job. If somebody sees you acting intelligent and helpful on mailing lists they are likely to offer you a job. I got my first job in CS this way, just by helping out ppl on the Debian mailing list years ago. Out of nowhere, job offers for remote admin work.
Write a blog about security or something, anything to showcase your work. This portfolio is now your resume of qualifications you pimp to employers.
Step 6: Read hacker news, Bruce Schneier's crypto newsletters and blog, ect.
Lot's of remote jobs are posted on hacker news (news.ycombinator.com), though the censorship runs very high in the comments. If you find yourself being timed out while connecting or other problems, it means you've been slow banned by some mod so don't troll up the comments
Bruce Schneier also has a guide to getting into the security industry, but it will cost you huge money to get certified through all the bullshit whitehat security cert orgs like Metasploit or BackTrack. You can of course, find pirated courses if you really wanted then build a portfolio to prove you know what you're doing. schneier.com/blog/archives/2012/07/how_to_become_a_1.html
Hacker news has plenty of articles on what to expect in most job interviews for coding, often you get the whiteboard and some middle manager idiot asking you to solve silly puzzles. They do this because a University degree means NOTHING. You can easily graduate any university in CS and still not code worth shit, so they test you and review your portfolio.
Step 7: Skip getting a McCoding job and make your own startup with Bitcoin investors here, or through regular startup funding channels
Regular funding channels like Angel investors will want some sort of bullshit proprietary angle they can corner and profiteer from by way of licensing. If you don't want to do this then just get a bank loan, apply to local govt startup loans, or use investors here. Ask ppl like bitinstant how they did it.
Step 8: ????? Profit
Right now in my local city the following are in great demand:
Functional language programmers either in Java (ew) or Haskell. There seems to be a new Haskell job popping up every day each one paying over $100k/yr + ridiculous benefits.
Secure C coders for custom Android development. Starting $75k/yr if you are a jr programmer, up to $200k+ if you are experienced. Note, emphasis on SECURE. C coders are a dime a dozen but somebody who knows proper priv seg and safe coding practices moves to the top quickly. There are literally a hundred jobs advertised right now in my smallish city for C coders, some offering remote work so you can sit in your underwear and build custom Android roms in your basement.
Coders for Android and iPhone apps dev, easy job, pays typically $60k/yr enough for you to start saving money for your own startup or build experience to make and sell your own apps privately and keep all the profitz for yourself instead of making some company rich off your hard work. You can also run your own company easily just making apps and advertising your services here or to local companies in your area.
Unix admin starting wages here are all over $120k if you can program in C and script in Perl/Bash. Probably the easiest job you'll ever have, then you have plenty of free time to write your own Android apps, shill your skills here to people looking to build websites, or just to hack around some open source project you're interested in.
Or live in a poor foreign country, run a free school
You could also open your own tiny school. Download all the materials, then run a hacker class. Have students work on projects and split all the money between everybody. This is awesome esp if you live in Eastern Europe or other poor countries, then you can teach english and teach compsci. A girl I knew did this in Bulgaria in a tiny village for free and produced a group of hackers who all ended up with high paying jobs that allowed them to work remotely, and make enough to support their entire extended family because every job there pays next to nothing. Yes they have university there, but it's often inaccessible. If your poor village family can't even afford food they can't afford to send you to a city and pay rent, or tuition. Roma who live there or in Hungary are discriminated from attending schools as well.
Moldova is a prime example of a country where you could set this up. Teach people for free, then everybody makes projects and you split the revenues when they go live. You basically build your own employee pool this way. You could make android or iphone apps and sell them for $0.99, if you sell 1,000 of them that alone is enough money for the typical Moldovan to live comfortably in a country where it costs $0.25 for bread and 30 EUR a month for rent. While you are there, set up a bitcoin money transfer business with the locals. They are all living off foreign remittances and paying through the nose for high western union costs. Bitcoin solves this problems when families working overseas can use cash on localbitcoins.com to send small amounts back home avoiding high WU fees. So many other opportunities once you know what you're doing and are fluent in secure software engineering.