I don't have a degree and I consider myself pretty successful. I'm no Zuckerberg but I haven't been unemployed since 18 (I'm 26). And, like others who've posted, I have to beat recruiters off with a stick. There is a lot of work out there if you have a good online presence.

Those are my credentials, now here's my advice: build a portfolio. And I don't mean a portfolio site or physical portfolio per se (though that would be best), I mean a body of work you've done that you can show off. All a degree really is is a piece of paper that says "I know how to do all this stuff. Contact these people and they'll vouch for me." Sure, some companies simply won't hire people without a degree, but you don't want to work for them anyway. Remember, you're smart, you're technically savvy, you're young, you're ambitious. Companies want YOU. Now, all you have to do is PROVE to companies that you can do the job. That's what a portfolio is for - it's actual, physical (or virtual) examples of your work; it's evidence that you know what you're doing. Make a blog and write some compelling articles. The blog, design, and articles are all examples of what you can do. Are you a designer? Make some icons, logos for companies that don't exist, or redesign an existing popular website just because you can do better or can offer a fresh outlook on their design (here's a guy that did this to Facebook: http://www.behance.net/gallery/Facebook-New-Look-Concept/650...). Are you a developer? Find an interesting open source project (or 5), learn it, and start fixing bugs and adding features right away. Maybe even start your own open source project (you have a GitHub account, right?!). Remember, your portfolio doesn't have to contain work you've been paid for; it can be filled with things you did on your own simply because you love what you do. My portfolio is what got me hired when I first started out (it also pays to be confident and have some good interviewing/interpersonal skills; confidence is really all about perspective, though, and is, if you lack it, something you can achieve through things like reframing: http://en.wikipedia.org/wiki/Cognitive_reframing, http://changingminds.org/techniques/general/reframing.htm).

A few more things:

1. Companies aren't charities (even many charities aren't charities when it comes to hiring). They aren't there to hand out jobs to people just because those people need a job. They hire people because they have a void and believe that person can fill it. It is necessarily a mutually beneficial arrangement. You have to show companies that you are the person that can fill whatever voids they have.

2. If you don't have a resume, make one! Then put it online, on every site you can think of (LinkedIn, careerbuilder.com, monster.com, etc). If you contact me (my email is on my HN profile) I'll help you with your resume!

3. Many companies put in job descriptions that they require a 2 or 4 year degree. Sometimes this isn't really the case and, if you can demonstrate that you are the right person for the job, they will hire you anyway. This is what happened to me for my first job (it was a Fortune 500 company, so even they'll hire people without degrees sometimes!). So respond to every job description that looks interesting to you!

4. When you get an interview, and I know you will, do some research on the company before hand. Look at their website, check out what their doing, learn about their business domain, etc. If you're a web designer and/or web developer, think about ways you can improve their website and let them know you "had some ideas" while you were checking it out (don't make it seem like you didn't like their site, even if you didn't; be diplomatic about it).

5. I know I said I have to beat recruiters off with a stick; I don't actually beat them. Pro-tip #5: Don't burn bridges with recruiters. I have turned down more recruiters than I can count while at my current job because I'm not looking for work, but I always a) respond to them quickly, b) thank them for taking the time to contact me, c) thank them for considering me for whatever jobs they have available, d) let them know why I'm not available, and e) let them know that I'll keep an eye out for them if someone I know that fits one of their job descriptions is looking for work (and I mean it; I have forwarded several friends to recruiters). Sometimes I'll even talk to recruiters on the phone so they can get to know me (I always tell them up front that I'm not looking for work, but sometimes they want to talk anyway). Because of this, I have a huge list of people I can contact that might be able to help me should I find myself out of work.

I'm sure other people will have other perspectives and experiences. I hope this or something else on this page helps you!

EDIT: Also, when you're not spending time working on your resume, contacting companies and recruiters, committing to open source projects, redesigning popular websites, making logos for non-existent companies, or otherwise beefing up your portfolio, spend time making yourself better (for free!): https://www.coursera.org/, https://www.edx.org/, http://ocw.mit.edu/, https://www.canvas.net/, https://www.udacity.com/, http://webcast.berkeley.edu/, http://www.academicearth.org/, http://ocw.tufts.edu/CourseList, http://www.open.edu/openlearn/tags, http://www.cs.washington.edu/education/courses/, http://ocw.nd.edu/, http://law.duke.edu/webcast/, http://oyc.yale.edu/. There isn't much room for anything else if you're serious about this.

EDIT 2: Added udacity (thanks philwebster!)