Bootcamp Mastery: Why go to an immersive bootcamp?

You can think of learning environments as a spectrum.

On the one side we have highly-structured environments like your typical university classroom. The curriculum is set. The professor follows a repeatable process that they’ve done many times. Everyone does more or less the same thing.

On the other side you have self-study. It’s very difficult to have highly structured self-study unless you follow an existing course. Self-study is more anarchic and often based on projects.

The college classroom has the benefit of structure and an easily-accessible resident expert (your professor). The professor has curated the material for you and (hopefully) spent a lot of time making sure that the subject is introduced in a sensible way.

One of the benefits of self-study is that you often are more focused on building real things. You’re going to study what’s interesting to you and build something interesting to you, too. This means more deep work and less blah-blah-blah in the classroom.

Self-study often goes better once you already have a foundation in the field. It’s easy to get stuck and to lose motivation. In programming, getting stuck is a terrible feeling. Before you have a foundation and before you know how to debug well, a single difficult bug can deflate you and kill your motivation.

This was what I learned during Python-a-thon, a 30-day retreat to learn Python by myself. I made a lot of progress, but I wasn’t good enough yet to quickly power through the tough stuff.

College solves this problem by providing peers and a resident expert who can help you get over these bumps. Paying for courses also raises the stakes. Left to your own devices, it’s too easy to say “Well, I’ll practice tomorrow.” or “Netflix has so many good shows right now!” It’s harder to justify slacking when the tuition bill arrives.

But college also has its issues. For the price, most colleges seem like a rip off. I was shocked at how many people with degrees in CS or other technical fields from high-ranking and Ivy League schools were at Fullstack. Aside from the prestige of a diploma, what did people get if they need an expensive bootcamp to get employed after university?

I think the bootcamp model, while not perfect, finds a happy-medium between these two approaches.

You paid tuition, so the stakes are higher. If you slack off, you don’t magically get your money back. The curriculum is semi-structured. At Fullstack we spent 6 weeks in a highly-structured environment where we completed at new workshop or two each day. These workshops were built around test-driven development.

We would receive a bunch of code at the start of the day and some basic documentation. This code wasn’t the actual program, but tested whether the program behaved in a certain way. We would work in pairs to build a program that would try to pass the tests, i.e. behave as expected.

After these six weeks, we had three projects that more closely mirrored self-study. The first was an e-commerce site. We were given some structure and boilerplate, but could go many directions with the final product. Then we spent four days in a hackathon, building anything we wanted. Finally, we formed groups of four to build a more ambitious and entirely self-directed capstone project (mine was in VR, check it out here).

This method was ideal to me. It hit us first with a ton of new information that we couldn’t absorb. Then it took off the training wheels, bit by bit, until we could work as a self-sufficient junior developer team. Each step of the way we revisited the earlier information and learned it more deeply. This approach implicitly used spaced repetition, one of the most powerful learning strategies.

This is not to say that bootcamps solve all the problems. Bootcampers are undoubtedly at a disadvantage when it comes to theoretical questions about computer science. There’s just less time to learn these things. They’re also more abstract and somewhat more math-y. Depending on your interests, it may be a drag to learn them.

But even on these issues, I’ve been impressed with Fullstack so far. Codewars has been a centerpiece of the experience, and many of us enjoy friendly competition ranking up by solving increasingly-difficult computer science, algorithm, and math brain-teaser questions. If you reach rank 4 (scale of 7–1) by the end of your junior phase (6 weeks), they’ll even give you a cool t-shirt.

We also practice whiteboard problems for 30 minutes each morning.

Conclusion

I was skeptical of bootcamps in the beginning. Later I read that the author of Cracking the Coding Interview came out in favor of bootcamps after having previously disparaged them. She convinced me to reconsider my view.

If you can afford the time and money, go to a highly-ranked, reputable bootcamp. But only after you’ve done solid pre-work. You’ll be glad you did.