I was in a very similar position to where you are now something like 6-8 months ago, and I was recently able to move into a web developer role at my current employer. I'll tell you what I did to get here and hopefully some of it will help:
- I signed on as a teaching assistant at one of the NYC web dev schools. This required a 2x/week commitment to attending and helping in classes, 3-5 hours on the weekends for in-person office hours, not including responding to student questions via email. All told I had committed to either coding, teaching, or coding and teaching for 10-20 hours a week outside of my full-time job.
- I paired with as many different experienced web developers as I could, whenever I had the chance. I was fortunate in that as part of my job transition, I was able to pair with experienced web developers at work, and continue to do so. In my experience this is the absolute best way to learn as much as possible in as short a time as possible. I gained familiarity with the code base(s) I was working on, but more importantly, I was able to see how experienced developers from a variety of backgrounds attack specific problems, and made a mental note to use those specific techniques in my own work when I was on my own.
- I also went through a bunch of Code School courses, watched videos, read blogs and books, etc., which is sort of par for the course, and which I felt was the easiest and least effective (though necessary) use of my time.
You'll get the most bang for your buck doing things hands-on and focusing on honing generic problem-solving and troubleshooting skills. The two activities above as well as working on your own projects are the best way to gain skills as quickly as possible.
I found and still find the O'Reilly Apprenticeship Patterns book to be very helpful when not sure where to go next in the process of becoming a better developer.
Having said that, I would take the "or" statements out of your last two questions, and change them to "and":
Find whatever job you can, keep cranking in your spare time until you're a solid junior dev, AND there are opportunities out there for someone who's hungry to learn, hungry to work, and hungry to do things the right way.
You are not expecting too much in your desire to be a junior guy on a team where mentorship, pairing, Agile, and TDD are business as usual, AND you should expect to take whatever job you can get that's related to programming, and keep patiently honing your craft on your own.
There are countless opportunities out there, but we all have to pay our dues. There are no shortcuts to becoming an awesome, sought-after web developer, but we have the fortune to be around at a time and place where there's a developer community that's supportive in a way that I've never seen before, and I've been in information technology for almost 20 years. Whenever I got stuck in a place in my career development where I didn't know where to go next, I found that all I had to do was ask, and the people of the NYC web developer community always responded with tremendous enthusiasm.