My Coding Journey Update
Tags: javascript, css, html, node
Published: 2019-06-30 04:36:56

This month has been productive but also tricky. I have completed 257 lectures out of 398 in Colt Steele’s: The Web Developer Bootcamp. Like stated in a previous blog. I have been taking this course off and on for the past year or so. My decision to take this course was to learn how to build full-stack web apps and not just learn the typical HTML, CSS, and Javascript. My goal at the time wasn’t to get a job with what I have learned. It was more out of curiosity. The further I got into the course, the more I enjoyed building full web apps. Now my goal is to get a job doing this full-time. I do not have a degree, and all of my experience is in the IT field, focusing on hardware. I do have to write scripts, and I am thinking that will help me in my job search. I plan to finish taking this course, build a few web apps, build up my portfolio, blog my progress at least once a month, polish up my resume, and begin looking for a job.

##Course Progress

This month I made quite a bit of progress in this course. The course introduced me to using APIs which I thought was really fun and opened a lot of doors for new ideas on projects to add to my portfolio. I built a few small projects that are taught within the course, one being a Yelp clone specifically for listing Campsites, with comments, ratings, and images. I also began building a side project using the same concepts but for a photography portfolio. I got my hands dirty with Node, focusing on the Express package. RESTful routing using Express. The course teaches you data retention using MongoDB. The course also uses Embedded Javascript (EJS) to display information retrieved from the database on a page.

As of now, I am learning Data Associations. This will allow me to allow comments and associate them with a specific user, post, or other data. This all done with Mongoose, which is a Node package that will enable us to interact with the data in our database. Once I am complete with this section, I will have implemented fully functional comments for each Yelp Camp post. I am very excited about achieving this.

##Photography Portfolio Project

There was a point in the course where we wrapped up learning RESTful routing using Express where I took a step back and decided to work on a project that is not built in the class, but uses everything taught. The reason for my decision to do this was to solidify my understanding of RESful routing and using Express, MongoDB, and Mongoose. After completing that section, I felt like my entire understanding of everything I learned was minimal. I know from previous learning experiences, I learn better by doing instead of following what the instructor was teaching. I do photography as a hobby and thought it would be fun to build my own portfolio to use to publish my photos. The idea would help motivate me to work on it and finish it. So I began working on it.

The first thing I noticed when I started building this project is that I could not remember most of the syntax that was shown by the instructor. This, I wanted to fix. The only way I felt I could fix this was by re-watching parts of the lecture and reference previous projects. At first, it felt like I was cheating myself. I decided I would reference official Express and Mongoose documentation before referencing my previous projects taught in the course. I began building the site, piece by piece, feature by feature. Eventually, I implemented everything I had learned. I was super excited and felt I learned more by doing this and feel that it is a great way to reinforce what you learn. Don’t just build the apps that are taught in courses and tutorials, develop your own apps even if you are recreated something that has already been done. It’s about what you learn, not what you build.

##My Struggles

When it comes to learning. There are bound to be struggling. I’ve taught myself many things. I taught myself how to cook, play guitar, and now I am teaching myself how to code. All of those things have specific struggles.

My current job is as an IT Consultant. It is my job to troubleshoot, implement, and improve customer’s infrastructure. Many of our customers are consumer facing. This is a job where I may need to work long hours. If a customer’s server goes down. It is our responsibility to get them back up and running. This is my biggest struggle. A lot of my duties are mind numbing and repetitive. Other days I am solving problems that exert a lot of brain power. Trying to motivate myself when my brain is fried has been difficult. While I’m at work, all I can do is think about coming home and working on my projects or progressing in my course. Once I get home, I eat dinner and watch a bit of TV with the wife and sometimes I can’t force myself to get up.

When days like this occur, I will typically just take a break. This is also making me realize how important it is to keep a healthy mental state. Like most people in the tech field, I struggle with anxiety. If I take a break, I feel like I am falling behind and will be further away from getting a job as a developer. Taking a step back and focusing on relaxing and not worrying about the “what-if’s” has become a priority. It is essential to work on your mental health. This will also include physical health, as well. It is my philosophy that if you are physically healthy, it will help you become mentally healthy. Of course, if you are physically fit, it doesn’t guarantee that you will be mentally healthy, but it helps. This includes making sure you are hydrated, eating healthy, and doing some kind of physical activity. I have been giving up caffeine (mainly soda) and lowering my sugar intake as a start to eating healthy. I have also been trying to go to the gym at least 3 days of the week. Going to the gym has also been challenging to stay consistent.

Other struggles I have been experiencing is specific to Node packages. During my studies, I have difficulty differentiating between Express and Mongoose syntax. I spend a lot of time referencing both package documentation to know what does what in my code base. My current understanding is that Express is to a package to handle routing, and Mongoose is specific to interact with the data in a MongoDB database. There are still a few aspects of Mongoose that I do not fully understand and have to think about and process when typing it out in a project. It will take time to get comfortable with these packages. I may just learn Node and not go back to any of its packages until I get comfortable with Node.

##Current Goals

My current goal is to finish this course. I have yet to complete any of the course and tutorials I have taken. I know there is a lot to learn when it comes to this course, and I know I won’t be a seasoned developer once I am finished. I do know that I will have a better understanding of what it takes to build a functional web app. That is the main focus.

Once I complete this course. I plan to spend more time with CSS then. I still need to learn display layouts, such as Flex, Grid, and Float layouts. I don’t want to lack when it comes to my understanding of CSS. Once I feel I have a good grasp of CSS, I will move onto learning more about Javascript. I feel like I have the basics down when it comes to Javascript, but I think I am lacking. I downloaded a Javascript quiz app to test my current understanding, and there is a lot I feel I do not know, and this quiz app shows that. Those will be my two biggest focuses once I complete the course. After that, I plan on diving into React or another front-end framework.

All-in-all I am enjoying my learning experience this far. I hope that I will be able to land a Developer job with everything I have learned. There is still a lot to be learned and a lot to be done, and I hope you will continue to follow my journey.