My recommendation: self-taught route

"Rome was not built in a day"

If you are dedicated enough to devote ample time to learn web development, I would certainly suggest self-taught route.

During my initial years, I used to build a website in a day, delete it at the end of the day and start on a new one the next day. The emphasis here is not much on building, but on the experience that you gain while building. "Its not the destination that matters, its the journey". Recently, I read a blog about a developer using the same technique - Jennifer Dewalt | 180 Websites

The learning curve might look steep, but it will flatten over the course of time when you gain experience.

Hacks for speeding up the process:

  1. Start attending developer/community conferences and interact with people working on similar technologies, ask questions, share experiences. There are many local user groups and forums, if you can't find one, try building one.
  2. Follow mailing lists/forums of tools/technologies you use/are interested in. Reading discussions on such forums will help you in building a thought process for solving similar problems and also you will come across new things you might not be aware of (depends on the mailing list/forums). If its hard to determine which lists to join, join all of 'em, and stick to those which seem relevant, ignore others.
  3. Don't hesitate to ask questions, no matter how naive they may seem.
  4. Find mentor(s).
  5. Watch for new stuff happening. Following relevant topics on Reddit, HackerNews, Twitter, Quora, etc. helps a lot.

The decision also depends on your situation, if you are very short on time, intensive bootcamps can be of huge help. Bootcamps are usually beneficial if you already have some experience in the corresponding field and looking out for a crash course. I'd only take a crash course if I don't have much time to study :-).

Bonus read: What Does It Take To Become A Grandmaster Developer?