I run an online code bootcamp, and I think most people assume that learning resources being available is all that's needed. That's true for some super dedicated people, but for most it's not enough.
For a while I thought the biggest value we provided as a bootcamp was direction and on-demand expert help. But now I don't think that's true. I think the biggest value we provide is that we make everyone show up at the same time every day and work until some other time, and we help direct what they should be working on during that time.
In short, it's social pressure, discipline, and scheduling. Those are everything.
Look at Thinkful's "part-time self directed" bootcamp - all the material is there, there's a mentor to help you once/week for a few mins, you pay $8,500 to do it - people are obviously dedicated to learning when they start. And the end graduation rate? ~31%.
I know another bootcamp that decided to just record their bootcamp and put it online, and charge you $2,000 for access to the videos. 28 people signed up and paid the $2,000, and one person watched past the first lesson.
I would guess that the percentage of people who can discipline themselves enough to learn on their own while balancing other responsibilities and not paying $2,000-8,000 is much, much smaller.
Think back to when you were in college - say it's a Calculus class. What do you think the graduation rate of that class would be if you gave everyone a Calculus book and said, "Fit it in when you can!" I'd guess it would approach zero except for a few superstars.
The same thing seems to be happening in programming. In 2017 the thing holding you back from learning something isn't resources. It's direction and discipline.