When I first heard about programming bootcamps, my assumption is that they were scams — the slightly more modern version of ITT Tech (which has now been shut down). They had the same characteristics: for-profit, not well-regulated, targeting people who are eager to turn their career around, etc. I figured it had all the same pitfalls. Even if the founders had good intentions and weren’t trying to take advantage of people, that didn’t mean the results were any good. Plus, they were only three months long; how could the education even come close to a four-year program?
My point here is that if you’re looking down on programming bootcamps as stupid, then, hey, I was with you. Was.
Then I went and talked at a programming bootcamp about technical interview preparation. This isn’t a fluffy be-your-best-self talk. This is a technical talk going over Computer Science topics — data structures, algorithms, etc — and talking about specific, challenging problems. Having done this talk many times and interviewed people after it, I have a decent ability to match the reaction of an audience to their overall skill level.
Surprisingly — to me — the students at this bootcamp were basically on par with those at good universities. They had actually covered the basics of computer science and seemed to be reasonably bright. Interesting.
I learned more (and thought more) about the bootcamps, and it made a bit more sense.
How do the academics compare?
Computer Science programs require around 40 classes and four years. So how could you possibly do this in three months?
Well, most of those 40 classes are not Computer Science.
Let’s take University of Pennsylvania’s CS major. That’s 40 classes total, only 14 of which are actually CS classes.
- 4 are foundational computer science classes: programming, data structures and algorithms. This stuff is really important.
- 1 is a math-based computer science class. I know this class well. It’s nice to have, but not critical.
- 6 are electives. Electives help build experience, but clearly you can go without any specific one of those. After all, each specific elective is not taken by most students.
- 3 are low-level stuff (operating systems, computer architecture, etc). Nice to have, but not critical.
So can you learn that really critical 4 classes in 3 months? Absolutely. After all, students are taking 4–5 classes at any one time in college.
In practice, a bootcamp will probably skip some of the less essential topics within algorithms. That’s fair, since their goal is to create programmers, not academics. They’ll replace that “missing” stuff with a lot of more practical knowledge.
Are bootcamp grads as good as university grads?
No, but the issue isn’t the academics as much as it is time. University students got internships and four years to do projects (on their own time and for classes).
This doesn’t mean programming bootcamps are bad at all though. The comparison is just totally unfair.
You’re comparing a three month investment and asking if it’s comparable to a three-year-nine-month investment. And if it’s not, this means aspiring coders should go to college instead of a bootcamp? No!
A more fair comparison is this: take a bootcamp graduate, let them code for 3.5+ years after that, then compare them to a new university grad. Now who will be better? I’ll put my money on the bootcamp grad — all else being equal.
Bootcamp grads are junior — very junior. But time will fix that.
So you’re saying aspiring coders should go to bootcamps instead of college?
If you want to be a programmer, forever and always, then sure. Skip college. [Note: this is career advice, not life advice. College provides useful life experiences. It’s also really expensive though. It’s a tradeoff.]
Yes, you’ll miss out on some Computer Science education. If you’re concerned about that, learn it on your own. You’ve just gotten an extra 3.5+ years of your career back.
Some companies will be biased against you because of your lack of college degree. That’s a downside. But your extra 3.5+ years of experience can compensate for that.
The bigger challenge comes from when you want to move outside of programming. Will you be given the same respect and credibility? I’m not so sure.
There’s such a lack of great programmers, and it’s relatively easy to assess skill here (or at least it’s believed to be), that companies will often look the other way with programmers who lack degrees. When you look at jobs which have lots of qualified people, companies can afford to — and often do — get more stringent. Experience can make up for this, but not quite as effectively.
But but but…
All of this is “in general.” You are not “in general.” You are a specific person with specific choices.
If you’re choosing between MIT and random-mediocre-bootcamp, MIT will probably get you farther. If you’re choosing between a poorly-ranked-university and a pretty strong bootcamp (e.g., HackReactor), the bootcamp will probably be better.
I do not think either path is the “obvious” choice for an aspiring programmer. It very much depends on your options and your goals.
Suffice it to say: bootcamps are not a scam. Some bootcamps might suck, but that’s true for colleges too.