They can perform some procedures, but not all of them, and at some point there might be supervision.
Now to be fair, paralegal and nursing programs take much longer than 12 weeks, are very strict and are regulated occupations that require a license that you can actually lose under certain circumstances.
Their purpose is to provide extra productivity and cost efficiency, but at some point they might require supervision and some procedures might exceed the skills learned during their training.
Some programmers want to believe that computer science is harder than it really is, because it inflates their egos. CS is not as difficult to learn as law, or medicine, or electrical engineering, or many other disciplines for which self-taught practitioners are exceedingly rare.
Furthermore, I've seen new hires with graduate degrees in CS fail interviews horribly, or get hired and produce horrible crap, while new self-taught hires have outperformed them significantly. A degree is no guarantee of any skill level, which is unfortunate.
Then, true. You might have worked with programmers that seemed productive and learned on the job. But much of that learning happened at the expense of exposing the company and the customers to great risk.
For instance, if you are manipulating financial information, and you don't know what a floating point number is, you are eventually going to have a bad time. If you don't understand concurrency and parallelism, you might end up corrupting important data, if you are suffering networking issues and everything you know is HTTP at a high level... you are going to have a bad time. And the list goes on and on and on.
Friendly software development technologies were created to augment productivity, not to release people from the responsibility of knowing what is going on with them.
Now to your point, it is clear that not all computer science programs focus in producing highly-qualified software engineers. But that doesn't mean that you can simply skip the fundamentals.
It's incredibly easy to self study CS, by applying your theory, with a quick feedback cycle on 1 pc and the internet.
Something that is almost impossible in law or medicine.
Learning doesn't stop after an initial degree. So, in medicine, you have situations where nurses are adopting many of the roles that physicians have stereotypically occupied, in terms of NPs and nurse anesthetists, etc. Granted, they do this with additional education, but it's still acquired gradually rather than in a single degree. PAs, which are ostensibly assistants, essentially have the same training after a certain period of time as physicians, especially with med schools shrinking their in-class curricula, and PA programs having stricter pre-degree experience requirements.
I think the argument that's implicitly being made with this sort of model is that you don't need a monolithic degree to learn a given skillset, and there are multiple routes to the same outcome. Furthermore, having a monolithic degree doesn't mean you know everything there is to know in the field (especially as your degree drifts further and further into the past). My guess is a certain proportion of those non-CS graduates provide something else to corporations other than low-level fundamentals of computer science.
My prediction is that medicine will crumble under its own weight as these sort of realities become too expensive to ignore. There's too much of an unmet need for health care to ignore the huge swath of people who can competently provide it. Maybe something similar is happening in IT.
Your analogy is also a little interesting in that in many settings, the tasks done by nurses and physicians are not the same. I routinely have seen physicians ask nurses to complete tasks like put in IV lines and so forth because they didn't know how to do them, and didn't want to botch the job. The nurses weren't simply a substitute, they were functioning in a different role.
So they are paying them less than they would a recent college grad by something like 25%? no wonder they love hiring people out of these things.
http://www.naceweb.org/s11182015/starting-salary-class-2015....
For people coming in who may be stuck in sub-$60K jobs, $10K to $15K in 10 weeks to be elevated to an a new income bracket doesn't seem unreasonable, when comparing it to the cost of going back to college.
Teaching highly specialized skills currently in demand has not traditionally been the mission of universities. In professions like architecture and medicine there is an expectation that new graduates won't have much in the way of practical knowledge about current practices, and so apprenticeships are more or less built in to the transition from student to practitioner.
Is a disinterest in teaching current professional practice really a failing of universities?
It seems more likely that bootcamps are simply a way for software firms to outsource part of the apprenticeship process. Most of the people who go to good bootcamps already have strong university educations and would likely have been able to be hired into junior dev roles anyway without the bootcamp.
That depends on how much programming experience they have. Many boot camp attendees have college degrees in non-technical majors and have no coding experience at all.
A boot camp is a way to get coding experience in a structured environment that has credibility with employers. In the view of many companies, self-taught coders don't have that level of credibility, even when they have decent Github portfolios or other proof that they can program.
I'm a developer who didn't study CS in undergrad, and I didn't have a problem getting job offers when I was starting out several years ago, self taught and unproven. But bootcamps weren't really a thing back then.
I think the issue is that universities are not in a good position to judge what is "fundamental knowledge" and what is simply a current professional practice.
I have a B.S. in Informatics from the University of Washington. It's basically a degree at the intersection of computer science and humanities[1]. During the course of my studies, I also took a lot of non-degree courses from other schools at the university, including a three-semester program focused on Information Security and Assurance.
After I earned my certificate from that program, I went to the dean of the Information School and argued that information security should be made a core part of the Informatics curriculum.
He said: "Just because information security is the hot thing right now doesn't mean it should be a part of the curriculum. Students can take courses on it and count it towards their degree, but it doesn't seem to me like it's fundamental knowledge."
So yeah. To this day, when I see poorly designed, unsecure systems, I think of that moment: some academic declaring that information security does not constitute fundamental knowledge for a degree program about information, technology and computers.
Students are not dumb. I personally think no specific classes should be required of a CS degree (other than a specific number of classes), and while the department should make recommendations, they should trust the intelligence of their students and give them freedom to pick the right classes.
I don't see how this is possible, who is teaching this course? How do you go from 0 to instructor-level expert in "days"?
You might not be writing idiomatic Swift from the get go but no one is at that point.
I think that's kind of the point the parent comment is making. How can a school acting in good faith open Swift classes if it's impossible for anyone to actually be an expert on it?
Over $1000 a week per student, and their classes look big. Somebody is making lots of money off this. What do they pay their instructors?
That's not to say bootcamps are not worth it for anyone. There are some really good ones out there that honestly want to help improve peoples lives. The catch is that the students that have the most success are not the ones who come in knowing nothing. The most successful students have spent months (if not years) of dedicated self study. The bootcamp acts as a way to fill in some gaps and provide confidence in the job hunt.