There are several factors that don't enter this analysis.
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 have a different perspective on point 5. One of the things that attracted me to Flatiron School was their audited jobs placement report. Very detailed statistics about how many students graduate, how long it takes them to find jobs, and how much they earn. I've never seen traditional colleges hold themselves to that standard of disclosure.
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.
I understand and appreciate the perspective. The items in my comment address the industry rather than particular schools. My doing so was probably a result of matching it to the level of granularity in the article.
My girlfriend did a bootcamp. It was a very useful experience, and overall we would recommend it.
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.
> 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.
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?
Any university that does "holistic admissions" is selecting for cultural fit to a lesser or (often) greater extent. This includes "flagship" public schools like Berkeley and UCLA. Other public schools have to admit some number of students based on objective measures (ie top 10% of their high school class), but "holistic" factors still pop up for the rest of their students.
I'm even considering a bootcamp after graduating university for the reasons that this article points out. I feel woefully inadequate when it comes to practical programming skills.
They're not. I've said this before [1], but bootcamps are training programming's equivalent to the technician. Techs have a very needed place. A technician can become a master of a trade, and with experience design something that's awesome (see motorcycle craftsman). However, a technician will likely not design a Turbofan engine from scratch.
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).
I came to the comments to see if anyone had already commented on the engineer vs technician aspect of this. My experience is that the divide is much more established in the Mechanical Engineering world, where the difference in what you learn in school and the role that you play in industry is much more pronounced as a result of having e.g. a B.S. in ME vs an associates degree in something like Engineering Tech.
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.
> Since moving to software, it seems there's little preventing anyone who can sling some code from calling themselves Software Engineers
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.
So where does one go to train as a software engineer? Many four-year computer science programs train you to become a CS professor, not to work in industry, which would be fine (most "soft" degrees do the same) if they didn't pitch their CS degrees as preparing you for an exciting and lucrative career, more like a law or medicine degree than an art or philosophy degree.
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.
I personally like Computer Engineering as a degree for this reason. I didn't take some of the higher end theory classes, and spent time in a lab making a chip do what I wanted, when I connected it to some device. I still remember the day that "multithreading" suddenly made sense to me, after spending a night trying to debug why i couldn't properly take characters off of a serial port and do stuff with completed strings on a network port. :-)
I'm not sure what this means. Do you think there are smart people who would or could be good developers who did not major in computer science and later went on to attend a 'bootcamp'? Do you think it's possible that developers who are not good could graduate from college with CS degrees?
Are you implying that being a programming "technician" is equivalent to being a bad programmer? Nobody has said "good developer" before you did.
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).
I interpreted it not as good/bad programmers, but as the level of project you might ask each person to complete.
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.
Exactly. I'm a self-taught mostly-backend web developer and so I know a variety of related languages, I know the standard tooling and best practices for both front and back end, I know things like OO patterns and project architecture so that I can create sensible structures when writing a new system, and I know enough about the ops side of things to be able to do a lot of that when needed. All these things are practical and necessary to my day to day work.
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.
I was (I am?) guilty of that mental prejudice. A buddy poked me in the eye on that once, and now I make a conscious effort to realize that they're separate things as you've laid out here.
There really are multiple overlapping skill sets at play.
> Do you think there are smart people who would or could be good developers who did not major in computer science and later went on to attend a 'bootcamp'?
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).
A CS degree doesn't make you a coder. Look, CS is born from specific mathematical events in the 19th/20th Century. For some people, a grasp of CS may be a liability - I've been places where it was like that.
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.
But!
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.
> Do you think there are smart people who would or could be good developers who did not major in computer science and later went on to attend a 'bootcamp'?
Yes.
> Do you think it's possible that developers who are not good could graduate from college with CS degrees?
Absolutely.
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).
Are there vocational schools that offer good programming programs. We were trying to find community colleges in the bay area that had good programming programs where we could post jobs, but didn't really find much.
How does Triplebyte make money? A lot of bootcamps place graduates as part of their process (and is how some of them make money), which is another factor to consider.
Bootcamps charge tuition. They do this because getting placement fees from companies requires consistently referring very strong candidates (a higher bar). They are competing with universities.
No, most SV companies will pay a recruiting fee for any engineers they hire, even junior engineers. This is okay because it is typically a percentage of first year salary - so the fee is less for junior candidates.
I work for a popular bootcamp and can offer further insight.
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.
> 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.
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.
Are there any candidates that come in already with programming jobs who want to diversify or enhance their existing skill for their current or future roles?
Occasionally, yes, though I'd say that 2% of accepted students because people already in the industry have the skills to learn what is needed switch over from say back to front end, or apps to webapps, etc.
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.
Really good summary. What bootcamp is that, can we know? At least, are you guys based in SV or NY? I'm curious about the placement fees. I always thought there were some placement fees.
This probably depends on who you are. Like all organizations in higher learning, the boot camps serve two functions. The first, and what we'd probably like to think is the most important, is the value-adding function of education. The second is to serve as gatekeepers of their brand so that they maximize the marketability of their graduates, and thus encourage would-be applicants to come their way. Ideally you'd be able to offer such a stellar program that you have no one getting C's because they know all the material. In that case, yes, it's great that no one graduates with C's. And employers may not even care that the school is cruel and fast to shed students who are dragging. But for potential studenta, that situation is much worse. The school is much less valuable to students if they achieve their numbers by tough admissions and low retention, because then it's much less likely that the boot camp provides much in the way of education.
I think the point was not so much whether it's good or bad but that by weeding out the possibility of a C student from being in the bootcamp pool to begin with, it means the success of bootcamp interview candidates will be higher than any given college student just because they're better/more skilled-- not because they did bootcamp over university. I.e. you're comparing apples to oranges because bootcamp-educated candidates might actually be a more skilled subset of the overall candidate pool.
How does the company/school defend its brand against the C students sending out resumes that say "I am a student at RoR' with a certificate" and leaving out the grade part?
They do a better job of teaching them, which is what they are implicitly promising by telling prospective students "all our graduates get six figure programming jobs". If the unspoken caveat is "but half of our entering students were kicked out when we realised they wouldn't get one" then that's a much weaker claim, more like "given five weeks of intensive tutoring we can identify candidates for good jobs".
Depends on how rigorous the curriculum is. The problem here however, is that although colleges typically are overseen and expected to let c students graduate, bootcamps can set as high a standard as they want.
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.