My journey through a Javascript immersion coding Boot Camp.
Published: 2021-05-20 21:25:20

As I approach the final day of my time at Operation Spark, the immersive javascript coding boot camp that I have been attending for the last 9 months, I have decided to write about my experience in doing the most difficult and rewarding thing I’ve ever done. Here I’ll write about how I came to the decision to join Operation Spark, my journey through the program, and how I am feeling as it reaches its conclusion. My purpose for doing so is to reflect on how I have changed and grown (imposter syndrome is very real) but also provide perspective to anyone that is in the same position I was 9 months ago. This is for those who are contemplating making the life-changing and difficult decision to join this program or something similar, and are dreading the daunting task ahead and the sacrifices they will have to make in order to learn a very valuable skill and change their lives.

**My life before Operation Spark**

In the years leading up to my enrollment at OS, I was a college dropout with a criminal record and no real prospects other than toiling away in the service industry hoping to maybe one day get a salaried position as a manager or something. I had heard about op spark and personally knew some graduates who escaped the service industry by going through the program. I always had the idea to enroll in the back of my mind, but I didn’t know how I felt about coding (i had no prior experience) and I just couldn’t see myself being able to go through the program and still be able to afford basic living expenses. Then everything changed in March of 2020 when Covid-19 ravaged the world and shut everything down. Most vulnerable to this pandemic was the restaurant industry, and suddenly I and everyone I knew was out of a job.

Now I won’t lie, I spent the first 6 months of the pandemic doing jack all. I did not have the foresight to see the real impact the pandemic was going to have on the world and fully expected it to be a 2 - 3 week ordeal. I would be back to work in no time. But the weeks turned into months with no end in sight. At this point, I realized that if I were ever to escape the service industry, this was going to be my best chance. So in August of 2020, I made the decision and enrolled.

**Prep**

Operation Spark is broken down into five distinct phases: prep, boot camp, precourse, immersion junior, and immersion senior. I will give an account of each phase and what I went through during it. The first, prep, a free 2-week trial class, that is offered with the purpose of dipping your toes into the world of coding to see if this is the right step for you. Even though I enrolled in August I dropped out of my first prep due to personal reasons and joined the next prep class starting on September 14th. Prep was structured to be a 3-hour daily class from Monday to Thursday Prep introduced us to the very basic core concepts of coding, Data types, variables, objects, arrays, loops, and functions. I imagine if we were learning to be mechanics (an analogy I will be using throughout this post) instead of programmers, this was the phase we were taught about the nuts, the bolts, the socket set, or the torque wrench. The very basic tools we’d be using to build incredibly complex machines in the future. I finished prep by the beginning of October and was told the next phase boot camp would start one month later on November 2.

**Bootcamp**

Next up we have boot camp. This was the first real phase of the program. Structured to be a 6-week course that retained the same days and hours as prep to introduce us to the actual ins and outs of coding. Our focus during this phase was mostly on functions, and how Javascript is a functional programming language. We learned about loops, complex data types, and what-not in prep, but now we were going to learn how to use these to create increasingly complex functions that would familiarize us with the problem-solving logic that we would need later on in the course and for the entirety of our careers. This phase involved lectures into concepts such as recursion, scope, closures, copy by reference and copy by value, etc. This would be akin to learning about the more intricate parts of a car. The wiring, the different fluids, pedals and levers, building a better picture of how to build but not building quite yet. It was here that I realized that not only did I enjoy coding but I was pretty adept at learning it. Solving difficult functional problems was a thrill and I seemed to move through the coursework a bit smoother than some of my peers. Not having been the best of students in the past, boot camp is where I really settled into my role as a student as well. 

**Precourse**

After you prove your mettle in boot camp, precourse is where the immersion phase of the program begins. Meant as a bridge into the intensity of full immersion, precourse, which was set to be 3 weeks, ramped up the hours of class to 9 am - 6 pm, Monday through Friday. This is where the real test began. During boot camp you are able to maintain some modicum of free time. In precourse though, the hours dedicated are more than a full-time job, and here is where I faced my biggest challenge, living expenses. This is what I (and many other people) was most afraid of. With the time required to put into the immersive part of the program, it would become impossible to earn a living and you were solely at the mercy of either a supporter or any money you had saved up. This uncertainty accompanied me for the rest of the program and still persists as the hunt for a job can be very grueling. It’s a race against time, but with proper preparation, along with help navigating funding resources from the op spark administration, it’s not impossible. It’s not like life before wasn’t rife with financial anxiety already, and the trade-off for enduring this instability is a life of financial stability after.

After boot camp, I had a solid understanding of coding logic and how functions worked. But if you were to ask me to build a website or application I would not be able to. During precourse, we took our understanding of the tools we had learned and began to apply them to frameworks and other technologies to actually build something. Starting with the basics like HTML, CSS, and frameworks such as JQuery, precourse introduced us to using existing technologies to build something quantifiable.

**Immersion Junior**

Then in the first week of February of 2021, I began the junior phase of immersion. We were warned about junior from the beginning of boot camp. Junior was the toughest part of the entire program. Along with the hours of the class being extended from 6 pm to 8pm, Saturday was also included in our school week. For the next daunting 3 months, Sunday would be our only respite, or so we thought. Quite often the extra work, such as the toy problems or blog would eat up our Sunday as well. Junior kicked off with us re-doing two of the assignments from precourse, but with less time and more difficulty. And then we got into the two-day sprints. The sprints were by far the toughest aspect of the program. You would be assigned a partner and the two of you would be thrown into an intense two-day project, with little prior knowledge of what you were doing. These sprints are also when we were formally introduced to the tech stack. 

The tech stack is the full set of frameworks and technologies that goes into creating a complete application. Circling back to the mechanic analogy, the metaphorical tech stack would comprise the radiator, the suspension, the alternator, fuel pump, etc. These technologies are pre-built parts of the whole, each with its own task and complexities and each with different manufacturers to choose from as well. For the next 5 weeks, we were given the task to understand each piece in very little time and attempt to understand its place in the whole by attempting to connect it. From a refresher on jQuery, into angular, react, then handling HTTP requests into the back end. The server, the database, APIs, APIs APIs, one after the other we were made to tackle the next technology without ever fully understanding the last one we worked with. This was the most disheartening phase for me and most of my classmates, I felt like I was moving on and going through the motions but I didn’t understand anything. 

But that was the point of junior, to go through the motions. Like Mr. Miyagi’s wax-on wax-off from Karate Kid, the purpose of junior’s sprints was to develop the mental “muscle memory” to be able to navigate the stack. This became clear to me in the last week of junior with our MVP (minimum viable project). This was the first time we had the freedom to build as we wished, but it came with no direction. It was time to swim, or better yet, build a go-kart. And in the process of researching what tech to use for my idea, the familiarity gained through the sprints proved invaluable when navigating through the tech’s documentation. I had become a full-stack developer.

**Senior**

And thus we finally arrive at the senior phase, which I am now on the last two days of. Senior does not have the structure of junior. You have learned how to build your metaphorical vehicle, but even better you have learned how to teach yourself what you don’t know. It was time to polish our skills and build something that would be our sword going into the industry with no work experience. Senior was broken down into three big projects. Greenfield, where your assigned team would create a basic app/web app of your choosing. During the time for greenfield, we were free of our commitment to being in class and we would present our work on the first actual day of class. Then the second project, which we had the first week of class for, was legacy. For legacy, we had reassigned teams and were given an existing codebase to improve upon. This was important because we will rarely be creating entirely new code on the job. We worked in our team to add new features to an already existing product.

Then finally there was the thesis. This would be our piece de resistance, the work that we would be presenting to our family, friends, and potential employers upon graduation. We had 4 entire weeks for the thesis. The first week was for planning. Very little to no coding was involved for this part. The team conceptualized the application, ironed out the details, planned wireframes, and chose the technologies that we wished to use. The second week is where the actual work began, we built out the bare bones of the app and slowly began bringing it to life by adding the basic features. The third week was for additional, more advanced features, with the fourth and final week dedicated to polishing and refining the app.

During these five weeks, in conjunction with our projects, we were responsible for a weekly blog and presentation (this is my last blog) and suffered an onslaught of unforgiving toy problems (coding challenges to prepare what prospective employers may ask us to do in order to assess our technical skills). The thesis came with a lot of challenges. Working in a team, learning technologies, having to drop features and technologies due to learning curve or time constraint amongst other challenges. Finally, on the Monday of the sixth week (3 days ago), we presented our finished thesis projects to our teachers, classmates, and current juniors.

**Post senior and Job hunt**

This brings us to the present, it has been 278 days since I signed up for the August 2020 prep course. The last week of senior is dedicated to preparing for the job hunt. Creating a resume, cover letter, technical and personal narratives, curating your online presence are all parts of the rest of senior and the job hunt that succeeds it. And while there is plenty of work to be done before I receive my first paycheck from my first employer in the software engineering field, I have completed the process of becoming a software engineer. I have attained a crucial skill that can help me lead the kind of life I want to live. Something that can never be taken away from me. I have also learned a lot about myself and for this, I will be forever grateful. So to anyone out there that is contemplating taking the step, I would say do it. It’s not gonna be easy, and very often it’s not gonna be fun, but if you have what it takes you will come out better. I have one more full day of class to go, during which I plan on finishing the last few assignments required to fully graduate, and after tomorrow I will be stepping into the first day of the rest of my life.