"Just teach algorithms." Do you have two years to spare to do so? Because I'm a platform engineer and I regularly use the extent of my CS mathematics education to write better code--you'd think this'd just be Ruby slinging, "what sort of math do you need to automate systems", but it ends up being remarkably more than that! But you know what else I use, while doing my day job? I use the lessons from my economics courses. I use the lessons from my sociology courses. I use the lessons from my political science courses. Are you gonna bootcamp those, too? Or are you going to turn out a marginally skilled worker with a worse educational foundation?
The only thing a civil engineer has over a carpenter is physics knowledge. Obviously.
Don't get me wrong: bootcamps are fine for some purposes, but in my experience they (and there are certainly exceptions in that experience, though rare--I'm thinking of a couple mid-career switches here) turn out mostly-employable workers with a shallower improvement curve and a relatively low ceiling by comparison. There are definitely roles for which I'd hire most of the folks I know who've gone into tech via boot camp classes. But, in my experience, those roles tend to be ones that are more junior than I'd other expect for their tenure and unless I need immediate productivity (and why would I be building a pipeline where I need that, but not the wisdom that comes with experience?), I will prefer somebody who is educated and not merely trained. Code and "coding" are stump-dumb simple and filtering for those minor applicative skills would be a disaster. Because I can teach skills, even if it requires an investment of effort on my part (heaven forfend!). I can't, practically, teach how to think.
I think where we are not seeing eye to eye here is that I envision a bootcamper that has a high aptitude for abstract thought, can read quickly, has a good understanding of math, and is motivated to keep learning and read books outside of "class".
If we are talking about two people who both do no outside reading other than what they are assigned - then yes, the college grad will be more prepared for abstract ideas/thought. However, if you take an otherwise smart person who reads lots of books and can learn things on the fly - then I think the sky is the limit.
We aren't talking about "the algorithms", and to be honest the way you keep referring to "algorithms", rather than a phrase like "algorithmic thinking", is indicative of the real disconnect here. Spewing quicksort at a problem is easy and doesn't require one to really understand it in the first place, and if that's why I said "two years" I'd be totally an idiot. But it wasn't. Two years of instruction is for the mathematics and logic to understand algorithmic thinking at a level where you can reason about problems and approach them from a compositional, mathematical perspective--and that is invaluable when your problem is more than "order a list to splat into HTML". It's not high-school mathematics at all, except for the ten-thousand-foot-view.
I have yet to meet a--what's the phrase that everyone loves, "autodidact"?--who was as comfortable with higher-order computational thinking as many of the people I've worked with. Hell, I wish I had more of a mathematical and CS background than I do. Paxos and the like are still really hard to me!
"I learned Algorithms in a week" sounds weird.
Every single person in my boot camp class had a college education. One person was a college professor prior to attending. Several people actually had CS degrees that they felt didn't prepare them to do actual practical programming. We also had a lawyer and a couple of people with mathematics and physics degrees as well.
However I also get the feeling that being a developer has become more visible as well paying, in demand job similar to being lawyer was a decade or so ago. A lot of people wanted to be lawyers not because they were passionate about law but because they knew they could make a lot of money.
I get the impression that many people are drawn to boot camps by ads along the lines of "Make $XXk+ being a dev in X weeks" as opposed to being interested in the field.
If I were put in charge, I would make it 6 months long. I could definitely teach people how to write coherently designed CRUD apps in 6 months (ie. 95% of all programming businesses in the wild).
It'll do the job better too; this isn't a simple Ruby-based admin app that gets generated. We generate a feature-rich enterprise-class system with both Windows desktop and web-based UIs, that could be deployed into production as soon as the code generation is complete. (Typically there's customization work done before deployment, but for a lot of tables that's not necessary.)
I feel like a common theme on this comment page is that bootcamp people are trained to do XY - therefore they cannot do Z or learn Z quickly. People who are actually into computers will learn all the other computery stuff on their own. Things like compilers, how RAM works, heaps, stacks, sorts, networking, security, etc. Just because you are only taught how to make a CRUD app with modular principles doesn't mean your learning will stop there...
I guess this argument is very personal for me because I came into programming without a CS degree. I taught myself all the fancy tech guy dick swinging bullshit by myself by guess what - wait for it - ordering CS books on amazon.com and learning this shit myself. It's not that hard. Anyone who is capable of abstract thought and has a little bit money and time can learn all this CS stuff on their own.
People with the academia mindset of thinking they know so much more than everybody else are doing themselves a disservice. This line of thought will only lead to boxing yourself in because you have only been taught to do things like a horse that has been broken to run races. I personally think people who have experienced hardships and not had the silver CS spoon in their mouth make much more well rounded programmers than the typical CS dick waving upper middle class white guy that seems to be so pervasive in all the companies I have worked for.
My problem with "bootcamp people" is really restricted to people who are choosing a bootcamp over college or on-the-job experience, with the expectation that they'll be able to do the same job for the same money as someone who has a CS degree, or a similar level of self-training like you and I. I have an even bigger problem with managers who would choose someone with bootcamp training over someone with deeper knowledge simply because the bootcamp person is cheaper and seems 'just as good'.
Regarding the app: you're absolutely right. Generating the code is just the first step. The value we provide is in giving you a multi-man-year head start and a solid foundation, so that you can spend your time on higher-level business-oriented requirements instead of all of the basic functionality. (My profile has a link to our website, in case you're interested. Lots of info, some video demos, and a free trial you can download.)
Ideal bootcamp:
-css/html/javascript
-angular or any mvvc data mirroring framework
-OOP and ntier patterns
-Stored Procs/ORM/SQL training
-Algos
-Webservices SOAP/REST
The college grads I work with tend to have written a couple shitty programs that don't really do anything, and their "final project" was hooking up a database to a business logic layer.
source: I have taught in bootcamps before and work with lots of new college comp sci grads now.