I wanted to give some counterpoint to that. The point is not to argue with you because you clearly felt that it was "difficult" so by extension, it makes sense to project the learning obstacles out the world so we know they are there. You felt there were hurdles and that's all in the past so we can't argue with what you felt.
(Hopefully, the above was said with enough empathy to not sound critical because one has to be open-minded about the following observation...)
There are others[1] who think that the discipline for self-teaching is the baseline skill for average computer programmers and that attending "coding bootcamps" is a negative signal. I believe the thinking is... if one requires coding bootcamps to learn Javascript/Ruby/Mongo, it doesn't instill confidence in the hiring manager that the person will be able to learn new topics on-the-job that will be more difficult, with an undefined curriculum, under tighter deadlines.
If people still want to say "fuck off" to the types of people that look down on coding bootcamps, that's fine as long you're aware that the hiring prejudices are out there and you have consciously chosen to ignore those companies.
[1] examples:
https://news.ycombinator.com/item?id=7600307
But the coding bootcamp's curriculum and sequencing isn't necessarily superior. It could be as arbitrary or suboptimal as any low-rated 1-star book on Amazon.
A curious programmer would actually be skeptical that the bootcamp has the proven syllabus for learning.
Therefore, find a 5-star book on Javascript/Ruby on Amazon, and start with Ch 1. What evidence (not marketing materials) would the novice programmer see that makes the coding bootcamp's sequencing superior to that?
You get caught up in all the arguments about which language/framework/tech of the day is the best because you don't know any better. For example, my initial Google search led me to learn Haskell because it's "the best language", using Vim because it's "the best editor." Looking back that's silly and absurd, and most people would agree that's not a wise way to start (inb4 'Haskell is actually...') but I didn't know that then. You're flying completely blind.
Straight book-learning is not a fit for everyone.
Many times I see the only programming experience as the bootcamp.
A 4 year CS degree means that the candidate had to stick with the CS for 4 years: 12x longer than the bootcamp. (I am assuming summer internships as well)
This time allows concepts to sink in, be reenforced by later classes, implications of choices to all be seen.
Human beings require a certain amount of time. Its not just the 10000 hours (or whatever) of training. I feel that it is the duration of time that the learning takes place that is also important.
Bootcamps are too short for the deep, deep learning needed.
I haven't yet interviewed a bootcamper (only) candidate that can answer questions beyond the basic phone screen. My only guess is that they have had all this knowledge thrown at them, and their brain hasn't yet sort things out.
Why take a candidate like this if I can get a BSCS candidate? And if I can't get a CS grad? I rather trim the work. I am not in the business of giving a 4year CS education.
You could make a case for both at that point, but I'd guess many would be inclined to opt for a bootcamp grad + experience, all things being equal.
Of course, Galvanize et all just hire their own grads to inflate the post-graduation job placement stat. So maybe it's not necessary to know anything outside the course to get a job!
They're teaching as much as they can in twelve weeks, but lengthening the program increases the cost dramatically. Why Mongo? Because they're already using JS so they don't have to teach two languages (no time), and mongo is super easy to pick up. They'll learn other stuff on the job. Why aren't they teaching how to debug and what a hash is? Well we have to choose between that and understanding what a database is, so you take your pick.
They would love to have classes be six months or a year, but then they'd have to double their prices (eliminating a lot of the demand) and people would have to support themselves with no pay for twice as long (eliminating most of the rest of it). It's hard enough finding people to take 12 weeks off and pay $10k, and now we need to charge $20k for six months? No one can afford that, what we have now works well enough.
In order to do something longer and more thorough/in-depth you'd probably have to start with a fundamentally different business model.
[0] https://www.mills.edu/academics/graduate-programs/computer-s...
Interesting point. Maybe something in between bootcamps and full-fledged 4-year CS or Software Engineering degrees? Say a 2-year course, with some of each of: tech stack topics, algorithms, data structures, and other CS-y topics, and software engineering topics. That would make for more well-rounded junior devs than the trend of just teaching the hot tech stack du jour plus git plus some DB (and all at very basic level, as many of them seem to do).
Some Indian software training institutes (such as Aptech and NIIT) already did have long courses (with corresponding high fees), but to the best of my knowledge, they may not have had much in the way of the higher-level topics in those courses, i.e. CS and s/w engg. ones - AFAIK they mainly had the hot language and DB of the season, like Java and Oracle some time ago, now probably something else like JS and Mongo, etc.
The argument for bootcamps is easy! It costs a FRACTION of a college degree, takes a fraction of the time, and almost guarantees you a job.
"you'd be lucky to make it through a year as a junior dev without being fired if all the skills you have come from a bootcamp" LOL.
I know literally hundreds of people who have done just that, and it aint luck.
There is tons in a comp sci degree that you don't need to know right away to be an effective working programmer. And lots of bootcamps do teach "How to sort a lidt(sic) efficiently". It's a little hard to generalise because bootcamps vary in quality - like anything - but they give you a good structured introduction to lots of relevant material and the tools to keep learning as you go.
list.sort(comparator)
Could be because many startups used to use Mongo. Not sure about current state of affairs, but somewhat recently, plenty of them did. One of the stated reasons was "schemaless", and other might have been scaling. I don't necessarily agree with either, because it can depend on a lot of factors, and scaling may not be the first thing that a startup should plan for. Just saying what I've heard/read.
I would say that someone who needs a curriculum won't succeed as a developer. They may remain hired, an eternal junior programmer, and as long as they're surrounded by seniors they'll make commits on a daily basis. They'll become the "one year of experience ten times" as they get on in their career. Succeeding as a developer really requires a knack of learning to learn and independent problem solving.
It's okay to not be at the upper level; we always need assembly line programmers. However, all of the marketing on bootcamps lumps everyone together, and doesn't tell the true story: there may not be enough assembly line programming jobs to go around.
> I would say that someone who needs a curriculum won't succeed as a developer.
I disagree.
Lets try this shall we:
"I would say that someone who needs a curriculum won't succeed as a "
... doctor
... pilot
... nurse
... electrician
... architect
I am not willing to accept a self-taught brain surgeon.
Every field you mentioned is a licensed profession, in an industry surrounded by regulations and inspections. Every one of those fields involves the health or safety of other people. Programming is a pretty wide open field, without regulation and highly prescribed ways of performing the work. It feels extremely disingenuous to compare a brain surgeon to someone building Uber for Skateboards and deciding whether to use Redux or observables.
Seems like programming DOES involve the health and safety of others.
Now we have excellent community-developed free and open resources like https://www.theodinproject.com .
But for example, what you just linked - that's a great resource, but it still doesn't get you very far; you'd have to jump from there to somewhere else to learn what a bootcamp would teach.
These books still exist. But today there are also guided sites like code academy that do a great job at providing elementary resources for learning to program (though, I generally find the pace to be a bit glacial).