For people who are interested in a story (technically anecdata, I know, but I can't resist to chip in), here's mine.

I have taught a coding bootcamp 2 times now. The selection/recruitment of students -- not done by me -- was fairly loose in some cases. The only thing the bootcamp selection was strict on was that people completed their undergraduate degree (which is financially easier to do in Europe).

__Succesful Students__

What I noticed is that there are people who will be successful. These people somehow have a strong background in logical thinking. It can be by doing predicate logic in philosophy courses, being data oriented from your biology studies or even being hardcore at knitting [1].

Another thing I've noticed is that they learn quick and won't ask a lot of questions. They will use a search engine and will only come to you with difficult questions. They know how they learn quite well -- at the very least.

The final thing I've noticed is their determination. Some people come to a coding bootcamp with the expectation of "fix me, I need a job in this industry." The most successful students don't take anything for granted and know that they need to learn everything they can get their hands on.

__Unsuccessful Students__

What I noticed is with students who aren't successful is that they don't think logical -- their attention/focus does not allow it unfortunately. They may or may not ask a lot of questions. And they will completely fail the bootcamp if they don't ask fellow students for help. Also interesting is that they did not learn the terms or basics well enough.

In one of my groups I've noticed that one of my best students was coaching one of the least successful students. It was intensive, and the explanations and questions were sharp. Yet, by my surprise, it didn't do much. At the end of the bootcamp the student was still one of the least successful students. It makes me believe that not everyone can do a coding bootcamp, since the right mindset is required to start one. Teachers can only help you when you're open enough to receive the knowledge. I don't know to what extent that idea is true, but I want to find out.

__Unsuccessful Students Becoming Successful Students__

I have seen not so successful students become quite successful. They had an insane amount of grit and understood how they needed to learn the material. Compared to their other unsuccessful counter parts (in the beginning at least), these students are more structured and disciplined.

__When To Take A Bootcamp__

Even for not-so successful students it can be a great tool, provided they self-teach 1 to 2 months after that. However, unfortunately, it is not for everyone. If you don't think in a logical fashion, learn fast then at the very least you need to make that up in determination -- or in time after the bootcamp. I feel a bootcamp is as tough as nails if a student only learned bullet points from presentation slides during their academic years. Programming is more akin to learning a music instrument (i.e. it takes practice), and not everyone has experience learning that way.

[1] (following knitting instructions is very algorithmic -- it's a whole new world if you've never seen it. Here is an example of a pattern: http://vintagecraftsandmore.com/wp-content/uploads/2012/07/V...