Most bootcamps don't cover computational complexity, for example. Or functional programming, or objected oriented design, or music or ethics or philosophy. Instead, most bootcamps focus on tools rather than ideas.
Most bootcamps don't cover computational complexity, for example. Or functional programming, or objected oriented design, or music or ethics or philosophy. Instead, most bootcamps focus on tools rather than ideas.
Honestly I think being a good engineer is 10% domain training (CS Degree etc), 45% learning good practices on the job from more senior people, and 45% individual temperament. I have a degree from a very good CS program and yes I learned a lot about languages, theory, algorithms, logic, etc and I use about 1% of it.
I've worked with tons of CS, EE, etc from good programs who were terrible engineers because even though they had a more formal background, they were sloppy, didn't practice decent engineering rigor, didn't follow good practices for code management, weren't good or methodical collaborators, etc, etc.
In the last few years I've hired several bootcamp people and several CS grads with varying degrees of experience and the best people are just the best people, independent of their education, because of their passion and discipline for their craft. Of course on day one an AppAcademy grad doesn't know jack but 2 years later they have every opportunity to be as good or better than your average CS grad with the same experience.
[1] surprisingly we didn't have a complexity course per se. We had optimizing compilation, type theory/interpretation, abs.alg/cryptography, all forms of relational algebras/calculus[2] etc, formal systems/symbolic processing. more than 50% of students failed, 25% struggled to get points, 25% kept their head above the water.
[2] which is funny, some concepts like transitive closure of relations and db normalization seemed hard and ideal toys, but much later I found that the first is similar to an abstract recursive fold (and folds are nice to have), and normalization gives you a better 'object' modeling theory better than most floating OO principles you read in books.