Closing My Bootcamp's First Phase.
Tags: javascript, webdev, beginners, motivation
Published: 2022-08-24 16:45:00

&nbsp;&nbsp; I have officially finished my bootcamp's first phase. These last three weeks carried incredible challenges and at times, some adrenaline-filled victories. It's funny to be so dramatic about it but that's exactly how it felt.

&nbsp;&nbsp; For context, I feel like I should explain my background with computers, or lack thereof. Before this bootcamp, my computer knowledge was incredibly novice. At most, I would use a computer to email people and watch the occasional Youtube video. Even an Excel spreadsheet looked incredibly foreign to me. Never did I think I would be able to operate the terminal, use [VScode](https://code.visualstudio.com/), and understand what functions are and how they operate. Phase-1 was undoubtedly a rollercoaster.

&nbsp;&nbsp; The first week took no time at all when it came to absolutely throwing me into a dark pit of despair. Never has my fear of failure been so high and my confidence been so low. The resulting feedback loop was overwhelming. I decided the only way to boost my confidence with all the new material was to spend every minute I had studying, watching tutorials, and practicing labs. I felt that if I just eat, sleep and breathe JavaScript, I would begin to understand what was happening. This introduced me to my first bootcamp lesson; rest is a necessity. After working 16+ hours each day trying to catch up and learn JavaScript, I finally crashed mentally. So much so that I [regressed](https://dev.to/jpucci26/admitting-something-embarrassing-4pgo) in my coding knowledge. Eventually after some rest, I felt like I was starting to grasp about 40% of what was going on which, according to my Tech Coach, is a fantastic start. Celebrating this small victory was much needed. There was even a moment when I thought "Ok, I got this", but this cycle of feeling confident and then knowing nothing continues even now. 

&nbsp;&nbsp; Week two began and I was bracing for the same shock I felt in the previous week. Luckily, week two's entire focus was different and I could breathe a sigh of relief. Instead of the confidence beat-down that was week one, week two consisted of tying all our skills together to prepare for our first coding challenge. This practice was a warm welcome, and I actually was enjoying the repetition of the mock coding challenges. Our challenge consisted of using a `fetch()` method to create a website hosted by our local [json server](https://www.w3schools.com/js/js_json_server.asp). Im sure to most Devs this is probably an incredibly easy task but for me and my novice knowledge of JavaScript, it was a crazy challenge. I did however learn some very helpful tips to help keep your code clean and useful. 

```
//variables
const imageList = document.querySelector('#movie-list')
const title = document.querySelector('#title')
const yearReleased = document.querySelector('#year-released')
const description = document.querySelector('#description')
const image = document.querySelector('#detail-image')
const button = document.querySelector('#watched')
const bloodPoints = document.querySelector('#amount')
const bloodForm = document.querySelector('#blood-form')
const bloodAmount = document.querySelector('#blood-amount')
let selectedMovie; 

```
&nbsp;&nbsp; Declaring [variables](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/First_steps/Variables) is a fundamental part of coding. In large blocks of code, you can find hundreds of variables declared. Through experience I have learned creating a space at the beginning of your code to declare [globally scoped](https://developer.mozilla.org/en-US/docs/Glossary/Global_scope) variables to be a super helpful method. Trust me, it makes the problem solving process that much less painful. 

&nbsp;&nbsp; Along with declaring global variables in an organized location, I also learned to name them in ways that make sense and are easy to understand. 

```
const meunuList = document.querySelector('#menu')
const dishSection = document.querySelector('#dish')
let selectedItem;
const dishName = document.querySelector('#dish-name')
const dishDescription = document.querySelector('#dish-description')
const dishImg = document.querySelector('#dish-image')
const dishPrice = document.querySelector('#dish-price')
const dishText = document.querySelector('#dish-text')
const menuItems = document.querySelector('#menu-items')
const cartForm = document.querySelector('#cart-form')
const cartAmount = document.querySelector('#cart-amount')
const numberInCart = document.querySelector('#number-in-cart')
```
&nbsp;&nbsp; Above is a prime example of how not to name your variables. I could have saved myself a lot of time and frustration if I named these variables in a more understandable way. For example
`const meunuList = document.querySelector('#menu')` and
`const menuItems = document.querySelector('#menu-items')`
are both named very similarly. Often I found myself using the variable menuList when I needed menuItems or vice-versa. Moral is, name your variables in ways you can identify exactly what you're calling on. 

&nbsp;&nbsp; It was during week two that I actually enjoyed working on these practice challenges. I felt like I could actually see the progress I had made with JavaScript and found it fun to try and problem solve my functions in all the different ways one can. Finding ways to consolidate and *clean up* my code was very satisfying and almost like a game. For example:

```
const divide = function(param1, param2){
    return param1 / param2
};

// can become shorter with an arrow function;

const divide = (param1, param2) => param1 / param2
```
In my most humble opinion, the latter function is a much cleaner looking version. 

&nbsp;&nbsp; So far, my experience with my bootcamp, Phase - 1, and programming overall has been pretty good! Besides the occasional deep dive into the pit of despair, I am really feeling like I can learn this skill. I believe as long as I keep applying myself to learning this and keep repeating my mantra, I will only continue to improve my skills. 

My bootcamp sent me this image on my first day. I reference it often.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2x1hr1rnpwfwlix5bldq.jpeg)