I Finished a Coding Bootcamp: What Was It Like?
Tags: javascript, bootcamp, react, flatiron
Published: 2021-09-08 15:16:27

Yesterday, on September 7, 2021, I finished a coding bootcamp. I spent 12+ months in Flatiron's part-time Software Engineering extensive course. I am so proud of myself. Adjacent to my pride, I feel a lot of relief -- as if I can breathe again. And adjacent to that, I question if I am ready to dive into the world of tech. This conglomerate of emotions is both feared and appreciated. But more later... 

In this post I will be discussing my experience + opinion of Flatiron's bootcamp, what I learned, what I wish I learned + my biggest mistakes. So hold on tight, we are about to begin.

:cloud::cloud::cloud::cloud::cloud::cloud::cloud::cloud::cloud:

## ITINERARY
* [WHAT IS FLATIRON](#flatiron)
* [MY EXPERIENCE + OPINION FLATIRON](#experience-opinion)
* [WHAT I LEARNED / CURRICULUM](#learned-curriculum)
* [WHAT I WISH I LEARNED](#wish) 
* [MY BIGGEST MISTAKES](#mistakes)


## WHAT IS FLATIRON <a name="flatiron"></a>

Flatiron is an educational organization that encompasses 4 main "bootcamps": (1) Software Engineering, (2) Data Science, (3) Cyber Security, and (4) Product Design. According to Flatiron's [website](https://flatironschool.com/), "Each of our immersive programs — on-campus and online — has one goal: to <strong>help you launch a new tech career</strong>. Whether you're learning to become a software developer, data scientist,[...], our Career Services team is there to <strong>help you land that first job</strong>."

The claim above, "to help you land that first job", is the divine design of a bootcamp. Often considered with a militaristic and fear-inducing connotation, a "bootcamp" is an <strong> extensive, accelerated curriculum whose primary purpose is to teach what it necessary to get a job</strong> in that desired field. I believe tied for first place as its *projected* purpose is <strong>learning</strong>, but learning for the sake of knowledge kind of takes a back seat in bootcamps. 

We can see this in Flatiron School's overall instructional design: 
* Full-time course is approximately 20 weeks long. 
* Part-time course is about 40-50 weeks long. 
* Full-time curriculum asks students to dedicate 60-80+ hours a week. 
* Part-time curriculum asks students to dedicate 40-60+ hours a week.
* Full-time nor part-time curriculum requires any computer science background or any higher education background. 
* The application process is easy + non-competitive. 
* The curriculum pace is basically self-paced (besides project due dates). 

However, all of this criteria made me interested in Flatiron. They seem to throw out all of the methods of a traditional, old-wave educational system. They saw that students <strong>self-motivating</strong> to learn is what works, hence no due dates or required submissions (besides the module projects). They saw that students nowadays do not need a traditional, 4-year Computer Science education to land a job in tech. Hence, Flatiron only need 20-50 weeks! They basically threw out traditionalism; in which they are righteous in doing so. 

Yet, in their attempt, which I personally deem successful, they created a factory farm of tech personnel; you may say a pipeline directly from "those in a rush" to "software engineer". The 20-week curriculum seems promising, but its focus is just what is encompassed in their mission statement: to get a job. <strong>This is not a bad thing. But it is a new thing.</strong> 


## MY EXPERIENCE + OPINION OF FLATIRON <a name="experience-opinion"></a>

During my 12+ months at Flatiron School, I participated in both the full-time + part-time Software Engineering curriculums. I began in September of 2020 in the full-time cohort and went on to quickly fail my second project review in November. When a student does not pass a module's project review, on the first or second attempt, they technically fail and are given a few options: 
(1) Redo the module. 
(2) Drop out.

Having a predisposed fear of failure, I felt like the end of days were near. I was embarrassed, angry, hopeless... But my fear of failure made me chug along. So I opted to redo the module. A student is given two (2) "fallbacks" -- basically meaning if you fail you can redo a module or if you feel as if the pace you are at does not match your abilities, you can transfer to a different pace (i.e part-time, full-time). I took both of my fallbacks at the same time -- I would say DON'T DO THIS. Honestly, I don't regret it, but it was a mistake. It's like when they say "don't put all your eggs in one basket" or whatever that saying is. 

So come early November, I was displaced out of my cohort and transferred to a part-time cohort. However, since part-time moves at a slower pace, I had to wait until January to resume where I left off in the curriculum. Not a big deal... but I definitely did not do anything between November to early January. I slacked. Also, a huge mistake. DON'T DO THIS EITHER. Continue studying what you already learned by looking over the curriculum or take to third party resources like YouTube, Leetscode, or Codewars to keep your brain going. 

Fast forward, I was doing pretty well in the part-time cohort. I had more time for myself. I was understanding the material. I felt more at ease and could breathe. Also, I was able to work some shifts at a restaurant. So, my experience at Flatiron went up a lot during this time. 

I do want to mention that with each cohort comes different teaching, learning, and communication styles. In the full-time cohort, everyone (including instructor, instructor aid, educational coach) was constantly talking in the slack channel. Mostly because the full-time curriculum expected 60-80+ hours a week; so everyone was always on their computer. There was definitely a larger, more emphasized sense of community in the full-time cohort. I had made "friends" and "acquaintances" in which whom I would work on labs with or study with. Basically, there was rapport + promise of future networking. 

In my part-time cohort, this basically fell to the wayside. There was some, not going to lie, but drastically less sense of community + rapport. I missed this very much and often felt lonely as you do as a student learning completely online and spending 40-60 hours a week in front of a computer alone. There was just less of a need for the intense community + constant discussion in the slack channel for part-time. I would say most, if not all, of my cohort peers worked a part-time job during the part-time curriculum. So, figure out what would be best for you. Do you like working with people? Communicating constantly? Or do you like to work solo?

I bet you can imagine, as with all instructors anywhere, each instructor has a different teaching style. Some resort to visual emphasis, some use analogies, some use movies. Within Flatiron, my two instructors taught very differently. One was more colloquial, "think of this as you are going to the store with your friend". While one was very dictionary and strict, "this means this and that's that". While I'm being vague, I just wanted to caution you readers that while Flatiron has set boundaries and goals for their instructors, each instructor takes these boundaries and goals and flies with them. So, try to learn what your instructor's teaching style is and figure out the best way you can learn from it. Always ask questions!


## WHAT I LEARNED + FLATIRON'S CURRICULUM <a name="learned-curriculum"></a>

Here, I am going to simply break down the curriculum into five (5) pieces representing the five (5) modules of both the full-time and part-time curriculums:

1. Ruby + Basic Object Oriented Programming (OOP)
2. Sinatra + SQL + ActiveRecord
3. Ruby on Rails
4. JavaScript, Rails(API)
5. React + Redux, JavaScript, Rails(API)

In the full-time program, you basically have two (2) weeks to learn the curriculum and two (2) weeks to start and complete the project AND pass the review. 

In the part-time program, you basically have four (4) weeks to learn the curriculum and four (4) weeks to start and complete the project AND pass the review. 


## WHAT I WISH I LEARNED<a name="wish"></a>

Honestly, I think Ruby on Rails is a great language to start off learning as a beginner or novice programmer. Ruby on Rails really exemplifies the key concepts + basic foundation of Object Oriented Programming(OOP). However, Ruby on Rails is not being used *that much* anymore in newer companies/newer applications --- I would not say its dying like some people, but it is a little shaded. Take what I said with a grain of salt. Everyone in tech has their own opinions on what the best OOP language is to learn first.

With that being said, I wish I learned Python. Python is dominated the greater NYC metro area; in which I reside. Python is great and also reflects the basics of OOP. Despite this, with the knowledge I learned from Ruby on Rails, I can expend it to learn Python on my own terms + self-teach. 

The five (5) main projects were really cool, yet very stressful to work on. I would dedicate weeks to them + forgo anything else in my life. So, I wish they would have nested in a few more mini projects into the curriculum. I feel as if that would reduce the stress that comes with the intensity of each module project. 


## MY BIGGEST MISTAKES<a name="mistakes"></a>

I already mentioned a few of my biggest mistakes, but here I am going to take the time to list out and explain them + some more because I make mistakes often!

1. Taking both "fallbacks" at once.
2. During curriculum hiatus/breaks, not doing any coding (even if its not Flatiron work).
3. Not using "Ask-A-Question" more.
    * "Ask-A-Question" is an utility given to each Flatiron student. It is an almost-24/7 chat with real alumni and instructors. You basically ask a question about a lab or lecture, and the person helps you out by pair programming on a lab together or going through the lecture and explaining. 
    * Honestly, I get embarrassed asking for help and I always try to figure it out on my own before asking. I should have just swallow my pride and used this amazing utility. You should too!
4. Networking during the curriculum.
   * Start networking the minute the course begins. People will remember you that way. 
   * Network by being outspoken (in a polite + professional way), offering help, asking a lot of questions, sending your cohort peers good resources... etc.
   * Connect with people on your blog website or LinkedIn...etc. 
5. Write a blog a week.
  * I started doing this toward the end of my course. Each student is required to write one (1) blog per project. So five (5) total.
  * Write more than that. Even if its two (2) per project.
  * Get a following on your blog page -- this is networking too. 
  * Write blogs on what you don't understand -- teach yourself!!!
  * Write blogs on what you do understand -- teach others!!!


## Recap

This is basically it. I just wanted to share some insight to those looking into bootcamps; those who have done bootcamps; those who are new to coding...

I do NOT regret doing the bootcamp. I learned a lot. It provided me with the tools necessary to be in the tech world coming from an English Literature/Education background. I would do it again, definitely. I would just do it a little differently. :)

I hope this has found you well + helps you through your journey. 

:cloud::cloud::cloud::cloud::cloud::cloud::cloud::cloud::cloud:
Comment below for any questions, suggestions, or to just continue the discussion!