My Coding Bootcamp Experience

Published: 2021-01-29 23:08:51

It has been a journey getting into this program. I’m not just talking about the process of getting into the school but the whole process of deciding whether this is for me or not. I had to find the strong ‘Why?’ I knew that this program is demanding of time, effort, and money.  Maybe for others it was an easier decision but for me it was a lot of going back and forth.

To give you a background about me, I’m 29 years old who has been working in hospitality for about 10 years. I didn’t go to college after high school. I took the route of joining the military and when I came back to the civilian world, life circumstances led me in the hospitality industry. I enjoyed the fast pace. I enjoyed learning about the service. I enjoyed making meaningful and memorable experiences happen. However as time went by, I started questioning my future in the field. Ultimately I decided that it was not something I wanted to keep doing for the rest of my life. It wasn’t as fulfilling anymore, I felt like I needed to do MORE. 

I look back to when I was in high school and I had this thought that I wanted to work with computers but just didn't know where. I also remember when I took the ASVAB test in the military. The ASVAB is a multiple choice aptitude test that measures strengths. It ultimately determines which areas an enlist would be potentially successful in and I excelled the most under engineering. I put two and two together coupled with conversations with my tech friends and I found myself looking into coding bootcamp.

The decision of going back to school was definitely a leap of faith. I was scared to go back because it has been such a long time since I have gone to school. I continuously doubted my ability whether it was something I can keep up with. Questions flooded my head all the time. 
- "What if it’s not for me and I’m just wasting my time?" 
- "What if I don’t get the material and fall behind?"
- "Should I just try to find another job instead?"
- "Can I actually do this?"

It was easy to get stuck once you start questioning yourself. There were even days when I find myself not doing anything because the battle in my head was just too immense. Other than the inner battles, I was fortunate to have such a strong support system from family and friends who consistently encouraged me to get out of my comfort zone.

After narrowing it down to General Assembly, Hack Reactor, and Flatiron School, I started taking the free prep classes provided by each school. It took about 3 months going through every single prep course. It was all self paced so I had the freedom to go hard one day and go light the next day. It took a lot of self motivation because of course the doubts never left my head. However I found myself more and more excited as I got to learn new things everyday. The prep ranged from learning about the basics of HTML, CSS, and Javascript. I was able to compare the teaching style of each school based on the prep provided. Personally concluded that Flatiron delivered the material in way that fit my learning style. 

	
###The process of getting accepted in order:

1. Take the 25 hour prep course
2. Talk to a school representative to determine whether the school is a good fit for both the student and the school. 
3. Get through the entrance coding challenge
4. Once accepted, do another 80+ hours worth of pre-work before day 1. 

I suggest to really take the time to understand the basics before day one because everything that you’ll learn moving forward will build off on that, so a concrete foundation is important.

DON’T chase the green check marks as fast as you can, but instead AIM for a solid COMPREHENSION for each check mark.

Here are the main key points that I would say are crucial on this journey :

- **A strong ‘Why?’**
- **Believing in yourself that you can do it**
- **Committing your time and putting in the effort**
- **A solid support system**

There’s more, but we can start off with that!

I decided that I’m going to write about my experience after every phase to hopefully give insight to prospective students. I will be writing about my experience after every phase to be as thorough as I can. Let’s go!

###Phase 1 (Oct 5 - Oct 23, 2020) 

I would say that the hardest part of the program yet is Phase 1 specifically week 1. A lot of this has to do with adjusting. I went from self studying at my own pace to following a schedule of 9am - 6pm on zoom and even more hours to keep up with the material. Starting right off the bat on day 1, a sea of readings and labs awaited in my canvas profile. I’m not even exaggerating when I say a sea….it was….A LOT. Day two comes in and a new set of readings and labs were yet again released. I started to panic and really got scared that I might not be able to handle the work load. On the same day I was already considering that “maybe full time is not for me”, “maybe I should have considered part time or self-paced”, “maybe I should read the refund policy again. I kid you not that every single night of week 1, I cried. I was so stressed that it prevented me from learning. I couldn’t focus because I was too worried. 

As every day passed by, I slowly adjusted. It was absolutely rough, as imposter syndrome was literally on skin the minute something doesn’t make sense to me. The first coding challenge happened on week 2, on day 8 of school and I was scared as sh**.  You know what’s the best feeling ever? Knowing myself that I did well, the minute that I finished the code challenge! It was also then when my perspective changed from “Can I do this?” to ”Maybe I can do this…” 

Week 3 comes around the corner and it was project week. New nerves were introduced, because you start to question, “Do I know enough to deliver what was asked of us?” I was paired with a cohort mate, who had prior coding experience. By default this would make me even more nervous and intimidated, but he didn’t make me feel any of those things. We had fun as we spent a whole week working on the project together. I also felt like I really contributed and at the same time learned a lot from him. Next thing you know, we were on our last day of Phase 1 presenting our projects. Three weeks passed so slow and fast at the same time. 

The whole phase was a rollercoaster of emotions. Feeling behind all the time started to become a normal feeling. Working 12-14 hours a day also became the new schedule. I eventually stopped fighting myself when a concept doesn’t make sense the first time. I have to keep reminding myself that “It’s ok, you’ll read more about it, you’ll practice more, and you’ll eventually get it”. I could say though that I got through phase 1 because I have my partner, Alicia who let me cry in her arms and also who encouraged me to keep going as soon as I stopped crying. It wasn’t too long when imposter syndrome kicked in again…

”Did I understand the material enough to be able to move on to phase 2?”

###Phase 2 (Oct 26 - Nov 13, 2020)

To answer my last question—Yes! I understood enough to keep going with more exposure and practice!
	
Ahh…I felt like Phase 2 just went by so fast. That is not to say because it was easy. Haha! Nothing about this program is easy.  For me Phase 2 did not start on Monday of Week 4, mine started on the weekend in between end of phase 1 and beginning of phase 2.  Why? Because a shit ton of labs greeted me after accepting the invitation for Phase 2 on Canvas. Canvas is the learning platform we are currently using. 

By this time in the program I noticed that I was already getting used to the workload, the long hours, and endless labs. I also started easing off chasing green check marks. There really is no benefit getting the check mark if you don’t understand the concept. There were times where I found myself reading the same readme more than 2 times to make sure I grasp the material. In the beginning of the phase we were introduced briefly to Rack and Sinatra. After going over how things worked manually, we were shown Rails Magic. It’s really no joke when I say “magic”. Rails can do soOOOo many things under the hood to make the life of a developer so much easier. 
	
Next thing you know it was week 5 and everyone was nervous about the coding challenge and the 2020 Presidential election(relevant? of course!). I started to make sense of how I can create a web application by using Ruby on Rails. As always the coding challenge was nerve wracking but finishing it and passing it was so rejuvenating. 

The highlight of this whole phase for me is project week. I was fortunate to be in a group with 2 other people who were really easy to work with, Marisa and Steven. I think project week for me was enjoyable because from the beginning we had a clear goal and every day our app progressed and new features were added along the way. I looked forward to each day of project week and it was the best feeling ever. I know for a fact that a big part of that is because I was in a solid group. What a difference when it’s just all chill, good vibes and everyone’s ideas are heard. I will say the best week I have ever had yet in the program was project week of this phase.

After everyone’s project were presented, we were told that we are officially hirable junior developers. Did I feel like I was? NOPE! Did I still feel lost throughout the phase? HELL YES! Did I think I still don’t know anything? HELL YES! But in reality, I have learned A TON. I didn’t feel like I was hirable because there is just SO MUCH to learn! It makes me anxious and excited knowing this. Finishing Phase 2 and starting Phase 3 is basically halfway mark of our 15 week program. Thinking about just having 8 weeks left in the program low-key saddens me but with this in mind, just pushes me to make the most out of this experience. 

Hopefully it just continues to get better from here!

###Phase 3 (Nov 16 - Dec 8, 2020)

Wow…THINGS DID GET BETTER.  I was nervous going into phase 3 (shoot, when am I not nervous to do anything?) Anyway, I was nervous because in this phase we were learning about Javascript. Just when things are starting to make sense in my head using Ruby, now we’re learning a new language. However, knowing how one language works and the logic behind how code works,  made it easier for me to pick up JS. After all, we did start with JS before we got accepted into the school during bootcamp prep. 

In this phase we are still utilizing Ruby and Rails but using it differently. We are using it as our backend server and JS will be the one in charge of rendering elements on the frontend using data provided by the backend. I found that the labs were not too bad compared to phase 1 and phase 2. I don’t think I ever felt like I was completely lost throughout the phase. All is well and good until… our instructors decided that it was time for us spread our wings and put everything we learned to the test. I was shitting bricks! 

We had Thanksgiving in between our coding challenge and before getting approvals for our solo projects. I could not figure what to do at first. I knew some of my cohort mates were doing games and even though I would love to create a game, I just felt like…I couldn’t wrap my head around it. Like where do I even begin? I didn’t like the idea of just doing it blindly, so I decided to create an app that made sense in my head, an app that sells items. What I meant by, “made sense in my head”, I had an idea of where to begin, how I would write my code, and just the flow of data handling between backend and frontend. Honestly I thought my app was too simple compared to the game apps…but when I got started…I was wrong. HAHAHA!!! 

I found myself fiddling with a lot of the little things, like making sure that if a user clicks on a white shirt, it should still render a white shirt, it should also populate the dropdown select placeholder element to “white” or where is the best place to put my parent event listener? and how will the listener behave with other listeners around and inside it? We were given a week to work on our projects and I don’t think I slept for more than 4 hours in any of those days. 

All the moments when I was awake, I was consistently thinking, asking how to do things and what to do next. It was stressful, frustrating, and addicting all at the same time. At some point I found myself worried because I didn’t find myself stuck in a bug to the point where I would reach out for help. I got worried that my app was too simple to catch any bugs I can’t crush. 

I'm grateful for my cohort mates. Doing our own projects in the same breakout room somehow made me feel less lonely. Less scared about hitting any bugs. I know that this played a big piece to my project. To the 12-16 hour days of working every day, I was still working at ease knowing I have people who are more than willing to help whenever I needed it.
	
This solo project was the result of my hard work for the past two months. This project gave myself a boost in self confidence and validated that I am learning something. I am understanding the concept. And I am able to apply the things I learned and was able to create a functioning decent app. I am so proud of this project and probably one of the first times since I started school that I can say, I’m so proud of me.  

###Phase 4 (Dec 9 - Jan 8, 2021)

In the morning of day 1 Phase 4, I was asked if I wanted to be a guest speaker for the cohort who’s starting Phase 2 to talk about my experience. As nervous as I was (HAHAHA <— that's my nervous laugh), I took the challenge. I look back to my Phase 2 experience and I was crumbling. I wanted to somehow give some insight to the people who are probably feeling the way I felt back then.

Fueled by the excitement of creating my own solo project from Phase 3 and the holidays coming up, I started the phase in high spirits. Naturally, we were greeted with a big chunk of labs tackling the React framework. Our instructors told us that the React framework will be helpful in a lot of ways, like making our code DRY (Don’t Repeat Yourself - principle to reduce repetition of code) or writing components (chunks of code) that are reusable throughout the app. I look back to chat messages with friends in the cohort and found myself once again struggling and worried. I expected myself to pick up the concept right away. After two days of being introduced to this new technology,I couldn’t differentiate state and props, imposter syndrome kicked in. The same questions filled my mind, “What if I’m the only one not getting it?” “Why is it not clicking?” etc etc. 

My answer to this was do more labs. I knew that I was starting to worry because it is something I am not familiar with and the only way to get through that was learn it. I went through the labs slowly but surely and with more practice, just like anything else, it became clearer. As I learned more about how React provides a specific way to organize and structure my application, I started to really appreciate it. 

After two months being in the online immersive, it became apparent that the whole cohort seemed like family. I was blessed to be able to make real connections and make friends. I don’t think I have ever talked about this part in detail and I should because it played a tremendous part in staying focused and being motivated. Aside from the moral support that I got from my family, the friends that I made helped me emotionally and mentally to keep going no matter how intense the program got.  I found a circle of friends who alleviated the negative thoughts. I was able to focus more on the work that needed to be done. Just knowing that I have people to talk to and understand exactly what I’m going through was crucial to maximizing the learning experience of this program.

Speaking of friends, we had the amazing opportunity to work on our phase 4 project together. We created our own version of Tamagotchi and named our app MAKEGOTCHI (maa-keh-gaa-chee). The first four letters are the initials of all four contributors. To be honest, I was slightly intimidated at first because I wanted to make sure that I have something to contribute. I look up to every single one of them because they all have the drive and are highly motivated. 

We planned things out in a structured manner. Everyone had their own feature that they are responsible for. Every couple days we would merge our own branches and see our app grow bigger. We all coded hard the first couple of days before the holiday break. Although we worked a couple more during the break, we made sure that we still had time to enjoy the holidays. By the time we got back from break, our app was basically a full functioning app. I was grateful for this experience. It was an environment where everyone’s idea was heard. We were collaboratively working together to achieve the minimum viable product and the stretch goals we set in place. I can’t think of any struggles at all doing this project besides git. I will never understand git. It’s my mission to eventually git it. (LOL)

Once again, another phase that put me through a roller coaster. Phase 4 overall validated my ability to learn new concepts. I was able to create an app out of something new, along with the concepts that we learned in the previous phases. And as for my emotional health, I know I am someone who feels a lot and I cannot thrive feeling lonely and isolated.  I remedied that by making friends. Although I didn’t get the chance to learn about everyone in a deeper personal level, I have this confidence that I could hit up any one of them and know that they will be more than happy to be of any help.

One phase away from finishing the program. Somehow I can’t believe I made it this far, but I did. 


###Phase 5 (Jan 11 - Jan 28, 2021)

I’m still in disbelief that 17 weeks has passed. I don’t even know how to start this blog, there’s just so much to say…

One of the requirements in the program to graduate is to write a blog for each phase. We get 1 freebie to write a personal one and 4 other technical ones. I decided to keep my personal blog for last because I wanted to document my experience. I am someone who likes to write especially at times of dealing with change. The year of 2020 alone was an enormous change to everyone’s lives. I remember crying and feeling lost a week after they announced shelter in place. I knew then that I had to do something different.

Right after Phase 4 project presentation, we jumped right into the expectations talk for phase 5. Maybe I was distracted by my imposter syndrome thoughts but apparently in the first week of the program we were told that phase 5 is solely dedicated to building our capstone project. So when we were reminded of this towards the end of phase 4, it took me by surprise. The expectations talk was basically due dates of things to get done during phase 5. It was supposed to introduce us to a work environment setting where we are responsible of our own projects and have to follow these set due dates.

It was intimidating, nerve-wracking, overwhelming, anything you can think of that ends with an “-ing” (anxieting, haha!) Why, you may ask? LET ME TELL YOU. 

There were a set of deliverables that your project is required to have. As I map out my plan of attack and write the steps I need to do, the list got longer and longer. This stressed me out greatly knowing that I, MYSELF, is responsible to execute EVERY. SINGLE. ONE. of these steps. 

One of the struggles in creating this project is establishing my models and their associations for my backend. It was important to make sure that this was set up properly because this will also determine the flow of data handling between backend and frontend. Once I figured that main part out, it was just a matter of using and executing everything that I learned in the program and more.

I took the challenge of incorporating Redux in my React Rails App. Redux is a library for managing state commonly used with libraries like React. Redux was introduced to us later on in phase 4 during project week. I didn’t really get the chance to dive into it. With that said, I knew very little about it. I was scared and hesitant at first because I knew I had a lot to do. I wasn’t sure if I could deliver what I intend to whilst learning and incorporating something new to my project. Ultimately I took on the challenge to prove that I can adapt and learn on my own. After all, I’m sure when we all get jobs we will all have to adapt and learn new technologies to be able to contribute something valuable. 

Last but not the least is feeling like I was not doing enough. And because of feeling that way, I did not realize that I was dismissing all the hours and hard work I have put into this project. I did not know a single thing about any of this a little over 3 months ago. But I know I did the best that I could, so I’m very proud of what I came up with. 

I guess my main advice here for Phase 5 is setting a plan and sticking to it. I expected to get many bugs but I actually enjoy debugging now. I remember being frustrated whenever I get bugs but now that I know where to look depending on the error, I can debug all day. (as long as its not the same bug all day LOL.) Anyway, I had set myself up to do at least 1 full CRUD for every model a day while also still coming up with other ideas to add on my stretch goals. I used Trello to keep track of my progress and every day I made sure I moved AT LEAST one task from my to do list to the finished list. Any progress no matter how big or small, is progress. And the most important thing is give yourself credit because none of this was easy. 

I haven’t graduated yet, I’m 3 days away from the capstone project presentation. I still have some things to polish on my app but I am happy with where it’s at. 

I…don’t know exactly how I feel about things. I feel like I just now eventually got the hang of this and now the program is almost over. Going through this program has proven to me that there is just so much to learn. This has been an experience like no other. I gauge it and it was somewhat close to how the military bootcamp affected me emotionally and mentally. Except in the military you were told what to do, in this program you are taught how to learn and how to figure out what to do. I’m not selling the school, every person’s background story is different, every experience is going to be different. 

I look back three and half months ago and I am in awe of what I know now compared to what I knew then. I had zero coding experience and I just built a functioning app on my own. I am extremely proud of that.

If you’re still reading this, Wow…that’s crazy! Thank you for reading!

This was my experience and the journey is just beginning…

PS. I will update this blog later and post the video demos of the past projects. 

Until the next blog!