I think it is important to understand for new programmers that being self-taught is often tough, since your paper credentials are non-existent. So you got to expect a couple of years of low-paid, mostly ungrateful work, and you have to be really persistent in chasing up assignments.
A specific tip is to always try to get a reference / testimonial from the customer. And always document your projects with screenshots etc. My paper credentials when I started out were really shitty, so the "portfolio" of screenshots and testimonials were all I could give to prove that I had at least some experience.
My story:
I started mucking around with VB 4.0 because I wanted to make games. Got a copy of "Peter Norton's guide to Visual Basic" on a recommendation from an IRC chat room and started reading and doing the examples. From there I did small utils for my own use, small games etc.
At the time I worked in a games / software shop and one day some guy came through the door looking for something that could format a huge data file. There wasn't really any shrinkwrap software that could do it, so I offered to make him one. That was the first gig and I charged like 400 bucks. Felt huge at the time :-) By then I had been "hobby programming" for 1 or 2 years.
The first assignment really lighted the fire though and I started trawling any channel I could find for assignments, programming competitions, charity projects and the like. Anything that paid money or could be used in a portfolio.
The channel was mainly Usenet, whereas today it would be sites like oDesk and the like. Eventually got a part-time job with a young entrepreneur, where I learned some HTML, spent days getting a mouse to work on Linux and cleaned and sliced carrots for lunch (which I thought was waaay below me, but it had to be done :-).
Read a whole lot of different stuff, and applied to a lot of companies. After 6 months to a year I ended up in a more professional company doing web "programming" part time (HTML and a bit of JS basically). A years time later I got full-time and into more serious programming.
After ~5 years I shifted into management and ultimately consultancy, but still program quite often for my own purposes.