1. Bootcamps can be selective over a range of non-academic criteria such as interview skills, personal hygene, and prior work experience. Or to put it another way, unlike a public university, a boot camp can select for culture fit both in its internal cohorts and in the workplaces it targets.
2. Bootcamps tend to attract people with previous work experience: someone more likely to have several years of working to keep a roof over their head than a recent CS grad. There's a difference between a junior programmer with their first real job and a junior programmer who has spent six years working crappy jobs [or good ones].
3. Bootcamps have much more latitude to train for employment and employability. Listening to Jeff Meyerson's hours of bootcamp love songs, those interviews have left me with the distinct impression that doing so is common.
4. Bootcamp grads may come out with a stronger alumni network that can provide recent feedback about interview processes like Triplebyte's. Going in with some idea of what's coming is likely to produce better results.
5. Bootcamps don't have to report their "failures". There's no independent oversight or accountability of the sort common in university education. A "C student" may simply find it impossible to graduate a bootcamp. The bootcamps are free to shape their "graduate" pool however they wish.
I think there are a couple reasons bootcamps are especially successful compared to colleges. At the top of the list is that most bootcamp students already have one or more college degrees. This is "in addition to," not "instead of." Secondly, because the schools are non-accredited, nobody does them just to please their family or because they don't know what else to do with their life. I'm sure there are anecdotal exceptions, but students are generally there because they want to be.
All your points are valid, including the last one unfortunately. That was the one black point about my gf's experience when she was having trouble finding something that suited her: they dangled the threat of dropping her from their network.
Also, I should add that bootcamps like hers aren't a "Zero to Hero" offering. They actually expect you to have significant skill in programming, being able to complete non-trivial exercises and projects in their language of choice before even starting. Don't mistake this for a rubber-stamp institution that takes already-skilled people though. It's just that their minimum requirements are already pretty high. The curriculum thereafter is pretty grueling and she learned a lot.
Are you saying she was turning down legitimate offers because it wasn't exactly what she wanted, or she wasn't getting offers and they were threatening her to get her to try harder, or something else?
Code camps are (in my opinion) a sign that programming is bifurcating into software engineers, and software technicians (or whatever we choose to call someone who can apply a science, but not necessarily understand the science).
My understanding of the divide is roughly, "I may not understand all of the theory, but I have a practical understanding of the formulas and how/where to use them to get the job done" vs "I can design a Turbofan engine from scratch".
Since moving to software, it seems there's little preventing anyone who can sling some code from calling themselves Software Engineers, for better or for worse. Personally, since my programming skills are all self-taught, I feel like a technician in my day-to-day work, but I also feel the pressure to present myself as a software engineer for cultural and professional reasons.
Unfortunately, it seems the closest term we seem have to describe something like a "software technician" is the pejorative "code monkey", which doesn't do justice to the actual role of technician.
In many countries to do that, you need to have a certified degree by the Engineers association (or whatever is called), otherwise you can be charged for doing so.
I fully support the development of a "software tech" career that isn't - at least at the start - "software engineer".
I made some really valuable networking connections in college that helped me get my first several industry jobs--which is good, because I sure as hell didn't have any practical skills to sell myself with. Fortunately I was able to learn up on the job and get the skills I needed (at the expense of my first job's production schedule, sadly), but I was pretty unhappy once I realized how little I'd bought with all that tuition money.
In Portugal, our CS degrees are called "Degree in Software Engineering" and have a mix of everything that is relevant to the world of computers.
If you want pure CS style math, then you need to take a degree in Mathematics with computing branch.
Also we do have an Engineers association that validates which degrees are allowed to call themselves as such.
We are not alone, most European degrees are like that.
I think the point is not to base the "goodness" of the developer on the person themselves - of course there will be people who 'get it' and excel at programming whether they go to bootcamp or college (or are self-taught for that matter), just as there will be people who don't get it, and they can just squeak through either program.
The point is to recognize that they are taught different (but overlapping) skill sets; skills that are hard to differentiate and could - from a business perspective - yield the same final product (user clicks button, correct things happen).
A technician might be incredibly good at doing things like hooking a mobile app up to a REST API, building database frontends, and building on top of an established system. The engineer on the other hand is able to do all of the above, but is also someone you could trust to give a high level overview of the system as a whole and expect to come back with a considered approach to implementing it, taking into consideration things like fault tolerance, how an operations team would interact with and monitor it, and where to make tradeoffs between an ideal implementation and time/money limitations.
At least in my mind there's nothing to stop a sufficiently motivated technician learning the necessary skills to be considered an engineer - its not about credentialing, but about having experience that could come either from a college course, or just from working in the field for long enough to have picked it up.
On the other hand, I do not know basic things CS BS-havers learned, like how to implement a bubble sort from scratch, because that is not something that has ever been relevant or is likely to ever be relevant to my day to day work (outside of one-off interview questions from companies I likely don't want to work for anyway if that's their interview process). Algorithm design and high level math is the foundation of CS as a science and as a degree, but it just doesn't factor that much into writing code in a high level language for an established platform like the web.
And having a CS degree is no guarantee that you won't put an expensive call inside a loop or write monolithic functions or any of the other terrible practices I've had to train out of junior devs.
There really are multiple overlapping skill sets at play.
Of course. I know someone that would fit that description, and I don't think he's unusual.
> Do you think it's possible that developers who are not good could graduate from college with CS degrees?
Of course. I graduated with some and work with some. Strictly speaking, learning to write software is just a side-effect of learning how algorithms, data structures, and all that work. Some people never get very good at writing software.
I think you're missing the point, though. College vs boot camp isn't a matter of the skill of the resulting developers. It's more of a focus on different skills. Suppose a technician and an engineer are writing a program together. Maybe the engineer works on the "deep dive" aspects of the design (tough algorithms. the critical path of the program). Maybe the technician works on the overall architecture, wiring things up cleanly and producing an artful design. They're different focuses, and it's a division that doesn't currently really exist in SW dev, but does in some other fields (electrical engineers vs electricians, mech eng's vs various technicians, etc).
The bootcamp thing may work out to equalize load on university CS programs. where us weirdos who were attracted to the discipline for abstract reasons can do what we do, and industry demand for talent can continue to be met through other means.
I rather object strenously to the implied "status" differences between a software technician and a "scientist" but that's probably inevitable. If anything, "shallower" people with good organization skills offer more business value than somebody like me. All I can do is figure out what's really gone wrong, or not make things go wrong to start with. See, even I am using "shallower". I work for people like that all the time, and I admire them greatly.
An analogy is hardware engineers and hardware techs. You need both.
The difference is that the boot camp experience seems to provide a different skill set from a full-time degree (see the article that started this conversation).
Interviews: Criteria include technical ability. Our site points towards a lot of free resources for learning JS, and I can personally attribute that there is enough material to get a liberal arts student from 0 to a basic understanding of core JS functions. If they can't use those free resources to self-teach, or haven't grocked the material after attending a bootcamp prep course, they probably won't be able to keep up with a 3 month intense training program. ~80% of applicants will be asked to interview again, and of that percent, maybe 50% will eventually be accepted.
Criteria also include hireability. If a potential student has never held a job in their life, they probably will be rejected. We want to bring people in that will be employable, and motivated to seek employment. On that note, yes, personal hygiene and social skills come into play. If someone comes in for an interview that we would loathe working with, they will be turned away, regardless of their technical ability.
Outcomes: We are financially motivated to ensure students get jobs, but probably not in the way many think. We don't receive placement fees (that I'm aware of), but we all face the rampant "bootcamp grads aren't as good as comp sci grads" mindset in the industry. For every candidate we place, that's one more person proving that bootcamp grads can operate on the level of a comp sci grad. That's good for brand. More people will hear about the program, be more likely to attend, etc. Furthermore, more PMs and Engineering Managers will see the good work of our graduates, and perhaps come to understand that these candidates are competitive with a comp sci grad, and be more likely to hire grads in the future.
On reporting failures: The hardest work in avoiding "failures" is in the admissions process. It's rigorous. If someone would be a "failure" i.e. unable to finish the course or unable to build the portfolio necessary/perform in technical interviews well enough to get a job, they won't get into the program (mostly). I don't work in outcomes, so I can't comment on how transparent the numbers are, but there's no concerted effort to conceal anything at this bootcamp and I feel the numbers are accurate. Without a doubt, it's worth investigating a bootcamp thoroughly for outcomes results before attending.
Alumni Network: Shockingly powerful. For example, one of our graduates interviews at, say, google. They meet with the outcomes staff after and discuss the interview. We now have a general idea of what to expect in a google interview. This data is stored and updated for every single graduate, forever. So if a candidate who graduated 2 years ago is job switching and interviewing at google, they can come in and discuss what to expect in a google interview based on other alumni interviews, practice whiteboarding problems with staff, etc. We are careful about NDAs, etc. Everything I've seen is above the board, but I can't speak for any but one bootcamp.
This was a major value-add for fraternities and university career-services offices.
The good news is that nowadays, there are no secrets -- Google itself hands out public training material for its interviews, not to mention blogs and careercup / Cracking books, and most companies interview pretty similarly to Google style.
Typically these students learn a great deal of soft skills and pair-programming skills while they're here, so I think it's still valuable.
In any case, I can only speak for one bootcamp. I really don't know if all the other ones are doing placement fees.
If you paid course fees and did the work, you should be able to walk out and say 'I am a C student at RoR' with a certificate.
A company which hires through boot camps can ask for grades and choose to hire or not.
A C level student with other skills may still be valuable because of other skills they have and employable for junior or non dev roles.
Setting such a high bar pretty much just seems to be a way to manipulate data for marketing purposes.
My reaction was, "Well we would likely reduce the rate at which security vulnerabilities are introduced in new code."
Then I reread it. :-)
(And I criticize C with love. I used it for years and recognize it as a product of its original purpose.)
I think one key aspect that is missing is that boot camp graduates aren't straight off the barista lineup. I took one at age 28 after having worked in a technical role in finance since undergrad. The average age of my class was probably 29. Beyond just time in the workforce, I had a double major in math and economics with a minor in applied statistics. Had I dropped "Behavioral Economics" and taken "Data Structures" along with some other random course, I could have switched my Econ major to a minor in CS. Many people in my class were of a similar background.
The problem is, there was no easy way -- for someone like me wanting to go into software -- to (convincingly) say, "Hey, I can code and think abstractly. Give me a chance?"
(If you're going to say, "just contribute to an open source project", there's actually a big gap between being able to code and being able to debug the zillion things that can go wrong in just setting up the builds for a given project. The Open Hatch project c. 2011 was specifically dedicated to helping people contribute, and yet following their instructions would still dump you in a an unnamed text editor with no way to exit.)
 Frustratingly, the instructors were very unhelpful at the stuff I needed help with the most -- forming a mental model of how and why Rails works.
I suspect that's because they didn't know how or why.
Rails has a lot of magic -- just follow the convention and it works. Magic can be good, because it encourages a standard. Unfortunately, many Rails programmers seem comfortable leaving the magic as a mystery rather than learning how it works and why it was designed as it is.
That's more or less all most CS graduates can say though. I personally don't think anyone is qualified to be a professional developer until they've been programming for several years (especially coding in an unstructured way).
I don't want to be combative, but what made you think you needed a bootcamp? I learned to program long before I went to college and was hired for programming projects long before I graduated.
To be sure, there were also probably some job-searching techniques that would have worked, but they're also hard to learn from reading pointers online if you don't automatically have the skill.
It's a super expensive and wasteful way to do this, but I was optimizing for my time.
I ask because I had no trouble getting jobs and freelance work without a degree or bootcamp.
In fact, a bootcamp is usually a strong negative signal for me. I'd much rather hire a self-taught developer than a bootcamper.
My problem was basically a lack of network and real understanding of my competition in the field and the bootcamp solved that.
I could have saved a ton of money had I quit my bootcamp as soon as I realized this, but I'm still okay with how things turned out.
me, i have no preference when i interview a candidate... can you code? and can you solve complex problems? other then that i dont care about how you got your skills.
I like and hire plenty of CS grads as well. I also have a CS degree. It's just bootcamp grads that I steer clear of.
I got a great job with my second interview. How did I convince them to give me a chance? I didn't contribute to open source; I just showed them some of my personal projects. I had written a web based baseball simulation game, and I just showed them the code. I did a quick interview, explained how I had taught myself to program as a youngster, and they offered me a job.
In my years since, I have hired people just like me a number of times. Show me some code, if it is good, you are hired.
The problem with suggesting this to people who are learning on their own is that building a portfolio takes time. Sure, if you're young and single, you could wait tables and learn to code. But it's more difficult to find the time as you take on more obligations with age.
The other problem is picking the right projects and languages that hold some appeal to the rare employers who will give you a chance. People are also less likely to cut someone some slack for sloppy code, due to lack of experience and knowledge, and other early coder problems.
The last problem is not being able to network successfully to find those less common employers who will give you a chance. And avoiding the bad employers who promise experience, but ultimately have them working as an on-call contractor who just reboots the printers.
Having any college degree helps a lot, but without it many doors remain closed even with a portfolio.
If we had only done rails, I'd probably have little idea how it worked, but doing all three definitely shored up some weak points.
It also helped that the teachers were genuinely knowledgeable and we had short lectures on deeper-level stuff (we had one hour lecture on how to build a tcp server from scratch in ruby, one on how the internet actually works - from the link layer up, and so on).
Other bootcamps just need you to be able to use your computer and you're in.
So to me I have to question the ROI of walking away from 5+ years of professional advancement and jump into software development again - by way of an in-person bootcamp. I'm not going back to a Uni or interested in online learning settings. However, I do recall the concepts and am certainly excited by the developments in languages and technology since watching some of the roots take hold.
Being a "creative" person who can speak "engineering" is one of my strongest, and often the most unusual of my professional strengths.
In addition to being able to contribute in a non-development capacity, even in terms of software being good at coding is probably at most 20% of what makes a good developer.
Additionally, in my experience, it's way easier to teach non-development skills to thoughtful programmers than it is to teach adequate programming skills to thoughtful non-programmers.
Some of the best designers, managers, product analysts, business intelligence analysts, marketing strategists, and client engagement managers I've ever met all came from heavily theoretical CS backgrounds and spent a lot of their early careers mostly coding.
Understanding the interrelationships between business components and business needs often has many similarities with designing quality software. And many of the pitfalls of software (e.g. monolithic classes, no separate interfaces, no solid tests) are directly analogous to non-software organizational problems as well.
Plenty of people who gain technical credential through a bootcamp will go on to do a great job, and their other skills will be of tremendous value.
But it just seems absurd to me to try to make some kind of rank ordering between bootcamp grads and CS degree holders. You're discounting just how highly effective CS degree holders are at translating their very general skill set into other domains of work. Generally speaking, they are very good at this -- so good that it's often threatening to non-technical people who would prefer if there was an easy stereotype suggesting that CS people should be siloed away from non-tech work.
It's almost like having a degree in abstract thinking, designing systems, and discovering hidden requirements makes you good at designing systems to solve complex problems.
Which is what most non-technical work is. Taking an ill-defined problem, and defining+solving it.
It seems like everyone is forgetting this.
Since coding is becoming important for a tech driven World, no matter what our backgrounds are. We come in with whatever skills we've gathered from our personal journeys and then learn to code.
Sure, bootcamp grads can write a web application just fine; after all, it's usually only CRUD. But what value are they bringing to an organization? Why would I pay them the same amount as a college graduate who undoubtedly has more total knowledge not only in CS, but in other areas as well? Ideally, a college should expose students to a diverse range of knowledge, each tidbit providing additional value to an organization. If I just wanted an application constructed, I could offshore the job and get it done cheaper.
Yes, a well-run bootcamp might be a better __coding__ education than a computer science degree, but coding is the easy part. There are other valuable skills that aren't being taught (i.e. the ability to communicate clearly, how to do research, how to learn independently) that make an organization strong.
We aren't in the coding business, we're in the building business. Code is simply a means to an end.
These people ARE college grads. I'm not sure where this seemingly pervasive view is coming from. My class had 1 person without an undgraduate degree, and several with masters.
> i.e. the ability to communicate clearly, how to do research, how to learn independently
The average age of my class was 29. 6-10 years in the workforce tends to demonstrate an existing ability to do this.
This was a full time iOS program in Totonto.
On the question, "are bootcamps good or bad?" I think most people would tend towards good, though exactly how good is another matter of debate.
If someone is posing this question, it's not one based in reality. The question is 4 years of a CS degree vs a bootcamp, not 4 years of college vs no college. As I clearly stated, only one classmate didn't have an undergraduate degree. That question is a strawman at best.
"Autoregressive Conditional Heteroskedasticity"
It's my favorite terminology from undergrad. It's from time series analysis. My job coming out of college was as an equities trader. It's hard to get much more time series analytical than that, and yet I never used it even once. Had I gone into quantitative finance, I'm sure I'd use it constantly. 95% of us just use our undergrad as a permission slip to join the real world, CS included. They hand out those permission slips like candy. Most people end up as accountants, not mathematicians. You don't need to know parametric equations to calculate EBIDTA.
It's not a waste of time if it's something you're interested in and you're intelligent enough to use it. It IS a waste of time getting an engineering degree if you think it will give you a leg up on competing for a welding job.
I wonder if this says something more about how life is lived now, and the choices we get to make because of opportunity.
Most of us are college grads, and our school is not a 12 week bootcamp. We spend 2 years learning, doing internships and coding, and there is a heavy emphasis on soft skills.
I've taken English courses and Music theory courses, but I am not a writer or a composer by any sense of the word. Sure, I can write a blog post or a comment, and I know how to compose a harmony, but I still lack the sort of knowledge necessary to fully embody the full enormity of these titles. Great composers and writers aren't always necessarily thinking "theoretically, I should do X given that I have Y." But a musician that lacks sufficient knowledge regarding music theory will generally lack the ability to compose truly great works.
Yes, most web applications can be completed by just about anyone if you train them a couple of months. But generally that's all that person is capable of. They won't be able to evaluate a technology critically because they fundamentally do not understand how or why it works. I can also create a movie script -- that doesn't mean it will be any good!
From my point of view, the non-hacker community doesn't understand that software and technology can be as aesthetically beautiful as the Sistine chapel. It takes real craftsmanship and deep theoretical knowledge to get there; you can't just wake up and produce that.
I'd like to thank the other commenters who pointed out that there are a lot of Bootcamp grads who did attend college -- I had no idea. It would be interesting to see the actual stats on that.
(Of course I acknowledge a college degree doesn't necessarily imply the level of craftsmanship I'm talking about here, but generally the theoretical knowledge obtained coupled with working in a meaningful way lead to this sort of craftsmanship. Also, just as art is subjective, beautiful software is as well.)
Sure, the self-taught pop star isn't going to write Rite of Spring anytime soon, but the music business does just fine while being flooded by people with limited theory skill...and I say this while holding the view that most people should just be performers and not compose.
I'm actually saying pretty clearly that it doesn't take deep theory knowledge to write great music, which I think counter's the parent poster's point pretty well. And there's a big gap in the amount of theory required to build your career on playing 12 bar blues and on composing for an orchestra. Most conservatory students aren't rigorously studying composition enough to do the latter anyway. In fact, most just want to eke out a living on dull music that hasn't changed in 400 years.
Berklee is not a conservatory. People actually get practical skills there and aren't treated like shit. Nothing wrong with going there. You are much better off doing that vs New England Conservatory, Julliard, Peabody, etc. (Actually the jury may be out after the Boston Conservatory merger, but we'll wait a few years and see)
I'm quite sure the same is true in programming. So what if a bootcamp grad can only make CRUD apps a few months into their dev career? What can they do five years after that? At a certain point individual dedication and passion is what matters. There are a million books about algorithms and many bootcamp grads have library cards.
I do way more than just CRUD apps - I basically own all of the business logic/processes here at my company. My bosses on a regular basis make it clear that I'm invaluable to the organization.
I think this view is fairly myopic and basically credentialism. As someone who has to interview and make hiring decisions, I swing way in the other direction -- credentials make up maybe 5% of my opinion of a candidate. At best.
People always talk about how they're concerned with a candidate's ability to see something through, work hard on something with deadlines, know how to learn new things/not just knowing one thing. In my eyes, this, if NOTHING else, is something that a degree shows.
And yet, even though you decry the usefulness of degrees, you're sure to mention that your bootcampers mostly hold them. If they don't matter at all, why even bother mentioning it?
I'm not "satisfied" with my bootcamp education. I had already been programming for 25 years before my bootcamp, but only as a hobbyist, not in collaboration with others and not in a modern stack. I also have a completely self-taught CS background (that I'm constantly filling the gaps in) and find at my jobs I'm the one most interested in the field and the concepts among my peers.
Not at all trying to cheapen the CS degree here.
I wonder if there are any studies showing the degrees held by bootcamp graduates?
A bootcamp probably makes a ton of sense for say a mechanical engineer looking to switch professions, instead of going back to university and doing an additional +2 years of courses for a second Bachelors degree or a Masters in CS.
Doing a CRUD web application is a good way to get a candidate into the door so that you can observe, first-hand, their response to learning that body of knowledge. Your business's competitive advantage may be based upon proprietary algorithms and deep domain knowledge, but sometimes you just need a webserver done. And the person who goes and builds that webserver will learn a lot about the domain knowledge needed to interface with it, and you'll learn a lot about how they approach challenges and seek out the information that they need but don't have.
All of this is independent of whether they learned to build that webserver in college or a bootcamp.
(I do agree that the college experience is more than vocational education and valuable in itself, though)
I strongly question the notion that these are taught in college. I went to school for hospitality and would argue that they didn't do a very good job either. In my experience you learn those things on your own, just like you learn to learn independently..independently.
Data structures & algorithm knowledge is practically meaningless for this kind of work. Knowledge of the various APIs and frameworks, although maybe less "sexy", is actually much more important when it comes to actually getting stuff done. If you're building out a RoR/Node.js/React.js/Angular app, somebody with deep experience with those technologies is going to be able to get a lot more done and be willing to do more bitch work (which let's be real, is most work) than a CS major who loves thinking about complex algorithms.
Sure if you're Google hiring a search engineer, go find yourself an algorithms expert. But for the other 99% of us, most of us are getting paid to solve business problems, not technical ones.
If we're comparing the two head to head, I suspect we'll run into a more general nature vs. nurture problem: the ones who want to learn will succeed regardless of whether their means of learning programming was a CS degree or a bootcamp. The ones who aren't taking it seriously will have problems regardless. The interesting part is maybe the degrees of quality within those camps.
I agree with your point about colleges and other skills though.
The bootcamp I attended focused heavily on this aspect. All sprints were pair-programmed, and there were 3 group projects. They lectured repeatedly on team dynamics, feedback methods, agile workflows, etc. Furthermore, applicants with extremely poor soft skills wouldn't make it into the program.
If both of these screened avenues of entry to software development are as promising as these metrics indicate (each with their pros and cons) here are some potential larger takeaways for companies:
1) Invest in the continuous development of your employees, regardless of their background and seniority
2) Hire for teams, and diversify teams with both CS and BC grads
3) Hire more people in general (maybe on a probationary period)
Fit to small teams with the goal of cultivating experientially diverse teams, and spend significant time developing employees - junior and senior.
Any intellectual work should involve continuous learning and development. If the company's focus is restricted to current projects, or on the bottom line, or if managers enforce strict division of labor, an organization will warp to optimize for those metrics and become less adaptable to inevitable changes in the market (or within the company) and the company will fail to compete - or at minimum incur major opportunity costs.
What these metrics suggest is that if you take relatively successful candidates and invest in their individual development, both in depth and breadth, that investment will pay off. You'll create engineers who find better solutions to problems and - more importantly - who find better problems to solve.
How i usually justify this (anti)pattern in hiring for myself:
For startups it's hard to think/plan/project further ahead than they are old. Especially if you are measured by short term impact vs spending or long term planning.
1) One candidate had no idea what the terms "Class" or "OOP" even meant. I'm FINE with them not understanding stuff like sorts/advanced data structures, but he ACTUALLY had 0 idea what an int was. No lie!
2) I wish there wasn't such a heavy reliance on MongoDB in most of these programs. Some do have SQL as well, but I feel like 80% of workplaces will be dealing with SQL, so I'm not sure what the focus on Mongo is all about if the purpose of these programs is to make you hireable. I think it's that it's an easier concept to relay since you're working with JSON everywhere already, but I've seen a bunch of people have a very strong bias towards Mongo to the point where they seem to not understand why you even would use SQL.
3) This part might get me in trouble here, but we are a small company in NJ and budgeting 50k for the junior 0 experience position. Most of these bootcamps in Brooklyn or Manhattan instill that you minimum should be making 60k and not to even look for anything else. I disagree with that personally, but I realize it is possible for grads to make this (especially in NYC). I've just come across a few that scoff at us for the pay we have, and I do understand it, but some of my higher ups who don't really feel comfortable with the bootcamp concept don't think they are worth it.
Obviously there are a lot of pros with hiring them as well. I think typically they are the more qualified candidates skill wise. None of the ones we've come across have been a great fit so far though, but I think it's because of how close to NYC we are. These programs are based there, and we have trouble competing with the salaries there. That's why we have been having more luck finding college grads from the NJ area though, they don't have these kind of higher expectations.
2) LAMP stack is still probably the safest bet (substitute PHP for Python maybe), but yeah, just because it's the current hotness for a few startups doesn't mean it'll get you hired to know the most hyped tech.
3) Stop looking for candidates from Manhattan, or only hire those looking to move who have done just a little bit of research? CNN's COL calculator shows $100K in NYC is equal to about $54K in NJ so you don't seem too far off base for what you're looking for (http://money.cnn.com/calculator/pf/cost-of-living/). From personal experience their calculations were accurate when I made my move from the midwest to SF. Regardless, again that doesn't sound like a "bootcamp" issue so much as "candidates who can't be bothered to do basic googling/research issue."
I wholeheartedly disagree here, and think it very much is an issue with bootcamps. If a bootcamp doesn't even introduce its students to such concepts as classes, instances, OOP, and basic data types, then it has failed to adequately serve its students with fundamental knowledge and offered a shitty introduction to programming. I've worked to mentor a few people who have come out of bootcamps, and I see this lack of knowledge consistently. When I do, it has never been because the student couldn't be bothered to read or study. It has always been because the concepts were never mentioned and introduced, and thus the student didn't even know it existed, thus that it was something they should understand. Whenever I have introduced the concepts, the students eat that shit up, because they really are interested in learning.
Personally, I think a great many bootcamps are poor places to learn programming because they overwhelmingly focus on web-stack. When you're learning to place shit into the DOM, you don't need to care if it's an int, string, dictionary, array, etc. When you aren't being taught to store your data in an SQL table, you don't become aware of data types, parsing ints, casting strings, coercing one type to another, validating types, etc. You're just being introduced to storing blobs of JSON into Mongo or whatever. Hell, when I started with JS so many years ago, I was rather dumbfounded there was a difference between == and ===. This leads to fresh, potentially valuable developers who don't even know what they don't know. And when that's your starting point, it's a bit unfair to think it's the students' fault. We wouldn't say that of CS graduates.
Bootcamps provide an often too-rudimentary introduction to programming with poor technologies chosen for education. They'd be much better if they sought to teach real CS concepts, not just web-stack basics.
Honestly, if someone doesn't understand these very basic concepts, what's his/her curiosity level regarding computer programming? I would not want to hire him/her based soley on that.
If someone goes through and passes a bootcamp, it is fair to be generous in granting them some level of curiosity about programming. If the bootcamp doesn't introduce the fundamentals of programming, that's no more the student's fault than it would be the fault of an art history student to not know what chiaroscuro is if it wasn't introduced as part of art history.
Bootcamps market and position themselves as good alternatives for people to learn how to program and, often, get a job. I see no reason to neglect holding them to their promise.
As an analogue, I learned about the functional programming paradigm far before it was ever brought up in a classroom setting. Sure I knew what programming paradigms were, so maybe it's not a perfect example...
I'm graduating from a Manhattan college Saturday and I would never take less than $60k for a programming job. In fact, I see most people recommending minimum $70k (and that matches my experience based on jobs offered to me). Most of my peers range from $70k-90k based on experience.
IDK where in NJ you are, but I trust that in your area, $50k is a comfortable salary to live on. In my hometown I'd also expect that much because it's a cheap place. You need to make this clear to your applicants (tell them the cost of living). Since you live near NYC then, sorry, most people will take $60-70k and live in the city with maybe a roommate than $50k in NJ even if they end up making less in NYC.
That said there's a lot of people eager to get some experience in their resume, so you'll find someone eventually.
I get it, just kind of writing about my experiences.
The monetary worth as a junior developer is also very dependent on the bootcamp. A decent App Academy or Dev Bootcamp grad in NYC? 60k is a reasonable minimum IMO and a wage below that in NY isn't really livable. On the other hand, bootcamps like GA? Sure, hiring them is more of a crapshoot. None of the NYC bootcamp grads I know are looking in Jersey though.
On Indeed, we get a lot of crossover because of our proximity to NYC. I think we come up if you do a 50mi radius and search junior, not sure honestly. I totally get it, but it's getting to the point where we see NYC on the resume, we pass them aside cause we know we can't afford them. Probably better for both parties.
Some of us optimized for culture fit and life balance over salary. I did this because I was lucky enough to be able to. I earn less than a bunch of people from my group who work 20+ hours more a week than I do and I'm happy with my decision - love where I work, love my coworkers.
I'll let the quality of my work determine the direction of my salary :D
I can understand those kinds of problems, but waiting until I was accepted to disclose them left me a bit upset. I suggested they update their site, but it appears they still haven't done so.
If you are under 21 and without degree, they will require the full program cost up front. Also if you are not a US Citizen, they will require the full program cost up front (for more obvious reasons).
The $5k deposit they also only disclose upon acceptance and it was not something I had planned for but found a way to pay it somehow (I had only budgeted 6 months no income and a 900 mile move back to NYC originally).
These little details regarding payment and also the new internal recruiting company they've started (that works no different than any other standard recruiter and treats their alumni mostly like cattle...) have left kind of a bad taste in my mouth towards the company, but the TAs were amazing and the curriculum is solid (and accepts pull requests!).
Their FAQ seems to have a fair amount of information. Though, it was hard to find from the homepage.
And there's a big difference between "12 weeks of structured curriculum" that you get from the ones mentioned vs the "12 weeks of follow the Hartl Tutorial and meet with a mentor for 3 hours a week" variety like Bloc.
I don't think any of them are really excellent.
I have just met a high percentage of GA grads who aren't successful in their search and give up after a few months.
The issue isn't what the bootcamp grad is worth. The issue is what the next best option is - spending more time job hunting and getting a position that values you better. An $80k/yr offer in SF isn't good enough to convince you to call a halt to the process, not when so many of your peers are accepting offers between $100k and $120k.
I'm too old to bother with having roommates anymore.
I was still learning Ruby at the time and didn't know how to access an object's member (instance) variables. I asked one of the mentors how to do it (I couldn't find the answer quickly from the documentation). He was stumped and had to hit the docs.
That's like a professional C programmer being stumped at how you refer to a variable's memory location.
Funny how far people can get when knowing little.
Can you discuss how you might test for bootcamps overfitting their curriculums to interviews? They definitely would seem financially incentivized to do just that. From a personal anecdote, someone I interviewed was able to code a solution for a problem, but then couldn't discuss how or why they did it that way at all, or solve a closely related problem, which made me strongly suspect that they just memorized an answer. How would you test for this?
I would also be curious to see if there was any way to breakdown bootcamp grads with previous programming experience vs. without and by what they studied in undergrad if they went to undergrad.
I agree that not all jobs require this skills, but then suddenly you get a divided workforce with designers and implementers.
If you hire someone and release them into the wild of your codebase, that's a failure on your part not theirs. New hires are an investment, they shouldn't be treated as an immediate need-based solution. My experience in two fields has shown me that new hires are a drain on resources for a fairly significant time period, regardless of their background. If you're not doing everything in your power to educate your new hires and get them up to speed, THAT'S your landmine. It's your job to get them to learn the fundamentals if they don't have it.
If you have to train them, then it seems the coding part should be cheaper then the algo part.
I did as well, but...
> Didn't even have code reviews back then.
Not so much this one.
> If you have to train them, then it seems the coding part should be cheaper then the algo part.
I do actually agree. But there tends to be other aspects of the job outside of just code and algorithms. Prior work experience is a shining star compared to a 22 year old in any field. I see my coworkers more than my family. Someone that has a full understanding of everything that goes along with that has a head start across the board. Someone changing careers in their late 20's also tends to put a hell of a lot more into improving themselves than just the basic progress-of-life learning. I just think it evens out as long as you're consciously hiring people for the right role.
Were you able to see any patterns in the backgrounds of the bootcamp students?
It doesn't seem too surprising that someone with a physics or finance or mechanical engineering background can learn enough programming skills in three months to be productive. But do students without as much prior experience in quantitative and analytical thinking have as much success?
I get asked about how to break into the industry every now and then--it would be nice to be able to point those people to a quality bootcamp.
I think there's a strong argument to make that university programs are too focused on theory, when the vast majority of their students are going to go out and get practical engineering jobs. I don't want the pendulum to swing too far to the practical side, though, because then you lose the long-term benefits of getting a CS degree. Although, schools can certainly buff up their practical material.
Anecdotally; when I participate in hiring, I tend to discount the bootcamp grads. Maybe it's unfair, but my experience hiring them has been that they know how to interview well, and know their tools well, but when you compare them a year in, they're pretty far behind their university counterparts. I see a plateau, where it's hard for a lot of bootcamp grads to move from doing generic web development to designing more challenging systems. Obviously it depends on the individual, but this seems to be a categorical struggle for bootcamp grads with little technical background. A lot of companies really just need more people doing web development, so being open to the bootcamp pool is essential, and ruling out bootcamp grads is silly.
Is there? I found practical programming knowledge to be very easy to pick up due to having piles of theory that back up why it's a good idea, why it makes sense to do so, etc. You just need someone or something to tell you to do it. It's why side projects are such a good idea, you get a great wealth of knowledge just from your own mistakes/failures that will occur naturally as you map theory to reality. But you can learn so much more so much more easily when you have that theory to start with.
What would you see dropped and replaced?
Replaced: At least one class where they have to deal with a decade-old million-line-plus code base, and get to experience first-hand the consequences of decisions that seemed like a good idea (or "the right way to do it") when the code was written. Nothing punctures "too much theory" like a hard dose of the real world.
There is value in being balanced and diversity, but this applies to teams, not necessarily individuals. Not everyone on your engineering team needs to be an architect. After your globally distributed, fault tolerant, realtime, highly available system is designed, somebody’s got to build it. And most startups or software teams have no business even trying to design such a system in the first place.
In the US, my generation was told we all needed four year degrees. We don’t. Some jobs and some roles certainly but the entire population of future adults?
There is an engineering shortage in the US because everyone was too busy getting four year degrees in more well rounded fields. Meanwhile Apple needs tens of thousands of engineers that could have been trained by two year vocational programs that the US was apparently above for our children, and thus cannot meet their business needs.
And yet this data from Triplebyte is incredibly encouraging because while we screwed up the educational policy, it may not be so difficult to fix.
I am fortunate enough to have found Holberton School, which has a two-year software engineering program that emphasizes project-based and peer-learning methods. I appreciate the balance of theory and practical work that I have to complete but most importantly, the flexibility with which I can learn.
The evolution of tech will continue to span out and eventually, these shortages will be felt outside the US.
Would you want graduates of such programs working on the software that goes into your operating system, your car, or other such systems? I doubt you'll find people graduating from these programs working at places like SpaceX or the JPL (unless they're doing some CRUD/web dev work), or even at Apple designing compilers or iphone processors.
Just as an anecdote, my current company hired a couple of graduates of these programs, and they didn't fair well.
Specifically, the average engineer out of either a bootcamp or college is pretty mediocre. But the top 10% of engineers are mostly college graduates and are definitely not bootcampers. This is because the best developers are overwhelmingly passionate about development and have been doing it since high school. If you love programming, you might go to college to get a firmer academic standing. You definitely won't go to a bootcamp—if you've been programming for 5 years, a 3 week bootcamp makes no sense.
On the other hand, when it comes to the bottom tier I suspect bootcampers are a lot better. This is mostly because the bottom tier of CS graduates are atrociously bad. Regrettably, it is possible to graduate with a degree in CS without ever having written a single program by yourself. They slink by mostly through cramming for exams and "collaborating" with peers. My impression is that bootcamps are actually less tolerant of this behavior: you won't make it through a bootcamp without ever programming autonomously.
If you want to make a transition to web dev from say, systems programming, cramming that knowledge into a few weeks might not be a bad way to go. At that point, you should already know how to learn, it's just a matter of sitting down and learning it.
The "practical programming" bit is a little more depressing, though it does ring somewhat true based on what I've seen in real life. How people can spend 4 years programming and still consistently fail at building decent abstractions, I have no idea.
Also, where is the "neither" category? There are dozens of us... dozens!
And in terms of college being the hard path, I'm not sure that it was. I don't know how college helped me with "responsibilities" or "Uncomfortable Decisions". Not to mention the cost of college is pretty extreme, taking on 7k (usually more) a year at a state school would be expensive and stressful. (Real world challenges lol)
I think the solution would might be to step up the bootcamps to be a little more in-depth, and probably take a little longer, like a year at night, or something like that.
Of course 3 months is going to get you running with a solid basic knowledge of your stuff.
In what world would low-level, algorithms and data structures be doable in 3 months?
Point is, I don't think Bootcamps and Colleges are comparable.
It's like being a woodworker and a forester..
There's a place for each and it's not the same positions...
Now, here's my big question:
If your interview includes Practical programming, Web system Design, Algorithms and Low level system design...
What in the nine hells are you hiring for?
Had it been for a trucker position you'd be asking for "driving license, laws and regulations, engine design and car physics"..
For reference: https://i.imgur.com/sh7LJgj.jpg
> What in the nine hells are you hiring for?
Someone who can solve a business problem effectively.
It's not too difficult to shove data into a database, pull it out, and render it to a screen. Nor is it too difficult to pull data out of the db and send it in JSON format.
What do you do when your the performance of your API server doesn't meet customer demands, or you get written up by re//code and get a 1000x spike in traffic?
Let me turn the question around: if you can only hire one person, why would you choose a bootcamp graduate over a CS graduate?
Personally, I think the idea of bootcamps are great, and I root pretty hard for anyone who wants to better their situation by going back and learning a new set of skills.
But I have to be skeptical and look at the bootcamp craze, like the outsourcing craze from a decade ago--a way for companies to hire cheap programmers, and a way for bootcamp operators to cash in on the unmet demand.
This is the key takeaway here. I'm working with a bootcamper now and the experience has been pretty bad. But it is a fairly large app, I think it's difficult for him to grasp all the parts, how they connect, and how his changes impact everything else. He can code and make things work, but that's it, we have to make big changes to almost everything he does.
A bootcamper who can focus on HTML, CSS, and some simple code would be fine, until they get some more real world experience. In my opinion college vs. bootcamp education are probably the same after a few years of experience if the person is a motivated learner.
They gave me a smooth and solid ramp-up to the mid/senior I am now.
Being thrown in on the deep end with the expectations that the guy with 3 months experience is somehow wellrounded with the basics of CS is just foolish.
Also, of course, not all bootcamps are equal, nor are all students.
There nothing wrong with a trucker just knowing "driving license, laws and regulations", ... as long as they don't mind being laid off when there's no longer a need for that skill.
You're essentially arguing that it's okay to be a one-trick pony. It's not.
1) IT and the software industry change too fast for that to be anything other than career suicide. What do you do when your tricks become out of date?
2) You're competing with all the other one-trick ponies out there. There are a whole lot of them and that makes one-trick ponies an easily replaceable commodity. Yes, yes, everyone's replaceable in theory but its best to minimize that as much as possible.
I did the WDI bootcamp through GA, and loved the experience. My motivations weren't to become a full-time web dev, but to become a much better, more well-rounded product manager. It's paid off 5x over so far.
There's a ton of garbage bootcamps out there, and it's unfair to lump them all together -- it's unfair that these exist. period. While, you can't replace the deep technical and theoretical understanding you get with a classic CS degree, if your goal is to build web apps, do you really need the formal experience, or can you learn that on the job?
College is largely about transitioning children to adults (we can argue that separately) the personal and professional development that students go through over 4 years is vast. They are becoming adults in many frames, including understand the world and technology as systems. They aren't just learning to code, they are learning how to think.
To the extent that I know (warning: anecdata) Bootcamps presume a lot more worldly knowledge, attract and expect more grown up students, get students with direct interest in web/software/apps, and are much more likely to get career transitioning students (from the people I know who have bootcamp'ed). They have a much broader knowledge base to build on which will help them in some areas and hurt them in others. I would be curious if Triplebyte has any data they can touch at all looking at that.
Simply said...a 22 year old college student with a CS degree and a 35 year old BC grad may look similar on metrics but function entirely differently as employees in both the short and the long term...caveat emptor, figure out what you need.
I dropped out of high school because I was making good money by 18... kept working, saw my own limitations, and did a BS degree in 3 years, graduating at 26. That was 5 years ago today, actually :)
I see this same distinction in practice, thanks Triplebyte for quantifying it. If I were staffing an engineering team, I'd absolutely take junior engineers from bootcamps and senior engineers with university backgrounds. I like the surgical model from The Mythical Man Month, and have seen elements of it working by hiring junior test engineers of varying technical backgrounds and training them.
I think a BS degree in CS makes a lot more sense when you're hitting the edge of your capability as an independent contributor--many may never need it, some will love going on a few year sabbatical and earning their 'piece of paper' (as I did).
Biggest factor that gave me an edge was I had lots and lots of context for all the content of classes, and I took notes every single day, Beginner's Mind style and didn't try to test past intro classes... even CS 101 with Scheme. I was also able to work on my mentoring/leadership skills with classmates.
-angular or any mvvc data mirroring framework
-OOP and ntier patterns
-Stored Procs/ORM/SQL training
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.
"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.)
This was the most interesting part to me. I'd love to see more on this.
I've always found it silly to ask algorithm questions of senior engineers. There seems to be an exponential falloff of that knowledge as one gets further from graduation.
- A multithreaded UNIX-like operating system with user programs, system calls, and a filesystem, with reasonable (if not entirely optimal) caching strategies.
- A TCP/IP stack for that operating system.
- An authenticated encrypted channel over my TCP/IP stack with forward secrecy by building a pseudrandom function up to a stream cipher, RSA with OAEP, Diffie-Helman, etc.
- Network services from the RFCs in C (we did a router and IRC).
- A high-level programming language with support for both functional and OO idioms based on the typed lambda calculus with recursion, lists, records, tuples, ref cells, subtyping, etc.
- A lexer, typechecker, and interpreter for that language using parser generator tools, a recursive descent parser, or a shift-reduce parser in a pushdown automata model.
- A formal specification of the evaluation and typing rules and a type soundness proof for that lanugage.
- A distributed KV store with Paxos, Raft, or Byzantine Generals running on my encrypted channel and written in my language (we used 0MQ and were given a 0MQ broker that could be told to drop messages for testing purposes).
- Greedy, dynamic programming, network flow, and ILP algorithms with proofs of correctness and efficiency.
My class work repositories put me about three quarters of the way there.
I'm sure bootcamps can teach people enough to tread water in a dynamic language web framework, and that meets real business needs and adds real value. But college is a chance to go deeper.
I know nobody is paying us to build our own lightsabers. But - and call me old fashioned if you'd like - I think a professional ought to be able to build his own lightsaber anyway.
For the sake of my ego, I'd love to hear that these bootcamp graduates have shallow, fragile knowledge in a narrowly focused area.
I jumped through a few of these hoops early on but since I have a breadth of experience instead of a laser specific focus on one technology, I'm apparently getting disqualified from some of these positions. It's been a really weird experience for me. I mostly gave up, figuring that if I lost my current (good) job I'd have the free time to devote 16+ hours each week interviewing/applying for the types of gigs I want. Our industry is bizarre at times.
It's weird being on the other end. Almost all of my jobs have come from word of mouth and personal networking where I never even needed to interview. I interview and hire all of my engineers by taking them to lunch and just getting a feel for their interests and personality, so seeing how everyone else seems to be doing it has been a huge culture shock.
And that matters. A big part of what you've learned in 30 years is mistakes not to make. It's the bugs you don't write, and the bad architectures you don't build. That makes you a much better programmer, even if you know less about the new shiny than someone who just went through a bootcamp.
Algorithms are commoditized into libraries. Web design has been commoditized with templates.
Open-ended programming is still more complicated, but putting apps on the web today is easier than static HTML just 5 years ago. Parts of programming will continue being commoditized.
So if it's easy to create something and put it out there, the great and all-important challenge that faces developers today is making it matter.
This class is an elective, which means that students aren't expected to know HTML/CSS/JS before taking it, though the core CS classes (Java, C) are prereqs. This also means that students who don't take 142 could quite graduate without having any practical knowledge about web development.
That said, it's not because the CS students couldn't actually learn practical web dev, and as others have said here, the best bootcampers are often folks who have a STEM background already.
College is not just about learning to code. You also learn to deal with professors and how to get the best grades out of them. You figure out how much you can drink without the glaring hangout that interferes with your morning philosophy class. You sign those forms to get credit cards that haunt you till you have a job. If you're smart, chose a good college and get really lucky, you might actually learn something and get a job after graduation.
Boot camps are about learning to code, creating networks and passing interviews for tech jobs. You can't pledge, or hang out with the furries, paint your face with your college colors for the football game at the weekend, or struggle figure out if your summer course fulfills the requirement for your social science elective.
These two places of learning can peacefully co-exist and each one has its purpose.
I even think that it would be good for some CS Degrees to walk into a bootcamp to explore something new and expand their knowledge.
Bootcamp replacing college? I don't think so. Not till bootcamps have long lines of students trying to change their course selections at the registrar's office.
There are some options that lie somewhere in the middle...
lines of code?
first pass code quality?
understanding of architecture?
ability to link user's handwaving to functional product?
To be clear, I agree with you, I just think there are tasks where the CS grads would generally win and those where the bootcampers would win as well rather than looking at this as an overall population comparison. No one size fits all, as others mentioned, its all about identifying your need and filling it with the right person not just the right education.