My Software Engineer Journey Thus far!
Published: 2023-05-31 21:07:12

Hey everyone! My name is will, and I'm currently attending the FlatIron School software engineering boot camp. Today I would like to talk about my journey so far in this program. So far I've learned about the basics of Javascript, CSS, and HTML. Let's start off with what I've learned about Javascript thus far.

When I first started learning about Javascript, it was quite a tedious task.
I spent a lot of time staring at a blank screen and going back to the test cases, then right back to the blank screen of code. One of the first things I learned about with Javascript was coding an array of objects. Here's a quick snippet of the first lab I ever did in this program.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hhdmmcenkr7jnz8x579q.png)



As you can see in this screenshot, its very simple code. However I struggled hard with it even though it was a very basic concept. This lab was all about showing the basics of using a pop, slice, push, unshift, splice, and spread operator methods. In this lab in particular, we had to use those methods to append names or prepend names and do it in a destructive or undestructive manner.  I primarily struggled with using the spread operator due to the fact that I was overthinking it and ended up writing methods such as 
function appendCat(name){
    let cats2 = ...cats;
    return cats2;
}
I also caught myself writing the code properly, however, I would write out the function appendcat with a lowercase c. After many trails and errors and slapping my head once I realized I did something so trivial as not properly capitalizing words, I eventually over came my small road blocks and proceeded onwards.
I did eventually reach the biggest roadblock I had in this program thus far which was learning how to properly write out a fetch and post request.
I spent a significant amount of time on these labs trying multiple different ways to get them to pass. Here is a screenshot of the first lab I had to do using a fetch request.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l6ys6mamhwwymbappott.png)



This fetch request wanted you to make a fetch request to a game of thrones API that lists all the books in a series. It then wanted you to render the book titles into the DOM by passing a JSON object to a function named renderBooks(). Once again it should have been very simple, but I struggled trying to get the fetch request to work. I eventually discovered what I was doing wrong which was on the second .then I wasn't returning the function renderBooks() with the data as an argument.
It was truly a great learning experience albeit a very frustrating one.

CSS was a very short portion of the learning curriculum. Majority of the CSS I learned was from a lot of google searches and trial and error.
However the importance of CSS is a big one. CSS is what makes your website design come together. You could write all the code you want and have it function properly but without CSS your webpage would be a giant jumbled mess.  CSS allows coders to properly organize all their code on a webpage and give it a cleaner, more sleek look. I mean no one wants to open a webpage and have a blank white screen with a tiny search bar and a tiny comment section below it.

The last major section I learned in this program thus far is HTML.
HTML is the skeleton of a webpage. It's honestly a very simple and straight forward program, but a huge necessity to building a website. On my project that I'm working on to complete my first phase, majority of my code was actually done using HTML. I even wrote a lot of my Javascript into my HTML by using a script tag. This was primarily due to the fact that the fetch requests weren't going through when I used them in the actually index.JS and had to improvise. Still, if this program hadn't taught me that you can use a script tag in HTML I would most likely still be working on my project. Here's a quick snippet of my projects code. 


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sg79znsnd5jproszlzpo.png)



In conclusion, I'm very happy with my time in the program so far. I'm quite excited to finally be learning something new in life and quite frankly, this is the most fun I've had in years. I look forward to what the rest of the phases will teach me, and I'll be sure to come back here and update you on my progress. Till then, thank you for taking your time to read my blog.
 
Will.