The Bootcamp Learning Process

We’ve reached the halfway point in our coding bootcamp - 6 weeks behind and 6 weeks ahead.

Every time a friend asks: “How is it going?”, my first impulse is a grimace. I’m in a state of constant frustration about my ability to perform the work.

Then our conversation usually proceeds into: “Well what have you been learning? What are you working on?”. All my impulses at this point are smiles and positive remarks.

Q. “How is it going?” A. “Badly.” (long sigh)

Q. “What have you learned?” A. “More than I would have ever thought possible!” (excited smile)

Why The Multiple Personalities?

This dichotomy has me considering the stages of development that I’ve been progressing through over the past 6 weeks.

The coding bootcamp’s learning process is all based on imitation and production. You learn by copying lines of code with very little explanation. Over the course of building various products you start to absorb the theory behind it. In theory.

In your typical college class, learning happens in the opposite direction. They begin with theory and explaining the underlying principles and end the course/degree with applying what you have learned to a product.

College:

  1. Learn how to do it.
  2. Do it.

Bootcamp:

  1. Do it.
  2. Try to figure out why it worked.

The bootcamp method allows you to absorb a lot of information in a short time. The tradeoff being that every second of that time will be spent in a state of frustrated confusion.

The Bootcamp Learning Stages:

  1. Copy code - the teacher writes a line and you copy it. It does something but you have no idea why.
  2. Pattern recognition - the teacher writes a line and you copy it. You anticipate what it will do because you have seen it do it before.
  3. Pattern finding - you need to make something happen so you find that exact code and copy it line for line.
  4. Pattern manipulation - you understand enough of the theory to be able to copy code and alter it to do something slightly different.
  5. Writing code - you can start with a blank page and no examples and recreate a pattern you have seen before.
  6. Zen Mastery - you can create code to solve problems you have not yet encountered. The world is your oyster.

The constant frustration is caused because at any given moment I am somewhere between stage 1 and stage 4 on what we are currently working on.

The excitement about what I have already learned is because I can see stage 5 and 6 starting to click on the things we’ve worked on the longest.

Very frustrating.

Very exciting!