It’s not hard, it’s new!

Tiffany Vallo
6 min readMay 12, 2021
Photo by Karl Pawlowicz on Unsplash

Can you believe that week 6 is now completed and we’re halfway through the course, I guess time really does fly when you’re having fun right. This week was the true testament to see if Maker’s approach of teaching you how to learn actually worked. This week we switched languages, and so had to learn and start using JavaScript. At first this was all very overwhelming. I had been so used to using Ruby that to now start using a different language was such a big change for me.

The whole week had left me feeling somewhat worried. Everything was so new and it was taking me a lot longer than I had wished, for me to understand the syntax for JavaScript. I stubbornly kept writing code in Ruby and not thinking about trying to write code in JavaScript. In addition to this worry, having to learn a whole new framework and testing structure was a huge task. I had continuously felt frustrated throughout the week because I could not figure out how to write the code in JavaScript, was so stuck on trying to write it in Ruby, and because this change was just playing on my mind and with my emotions.

I recall that on Monday, my pair partner and I took practically the whole pairing session just trying to figure out how to print “Hello World” into our console. This switch from feeling somewhat confident with my coding to going back to square one of being a beginner was testing my confidence a whole lot more than it should have, and even started to trigger a new form of insecurity within me. It got to the point that by the end of the week I was extremely exhausted, both mentally and emotionally. I had felt disappointed in myself for not having a better approach to learning a new language, and not taking this week with my approach of having fun with what I was doing. The previous weeks I found that if I had fun while learning, I ended up learning and understanding everything a lot more.

Reflecting back now, I realised I actually learnt a lot more than I gave myself credit for. Firstly, I was able to translate my original Ruby airport challenge into JavaScript. Yes, the walkthrough was needed for this, but having the walkthrough served as a guide as I was able to understand how my Ruby translated into JavaScript. The best way to explain this was what one of my peers had said during our morning peer group call. Translating Ruby to JavaScript, is just like translating between any other language. You know the concept of what you want to translate, but the actual translation could be different per language, sometimes there will not be a literal translation but more of a contextually similar translation. With this I decided to stop being so negative with my approach and just tried to think of learning JavaScript in a similar way. I knew the concepts of Ruby and knew how I wanted my code to run, so I just needed to research how I can correctly write the code in JavaScript.

Photo by sydney Rae on Unsplash

I decided to look into and think about how I learnt Ruby in the first instance. So I decided to do a codecademy course to learn the basics of JavaScript, and watched crash course videos on JavaScript. I realised thinking this way was a much better approach to learning a new language, and knew I needed to take this with me when learning another new language.

By the end of the week, I was able to appreciate that I actually had effectively learnt how to create a simple web application on JavaScript. One of the afternoon challenges for this week was to create a functioning thermostat web app. For this, we had to create the business logic while using Jasmine for our TDD process. We then had to create the interface which involved using both HTML and CSS, this was easier to go about as we already had prior knowledge of using HTML and CSS when creating the chitter challenge and our MakersBnB.

A new concept we had to learn was the use Document Object Model (DOM), this is an API used by web browsers to access the contents of our HTML document. Using DOM allows you to access styling information, any pictures and animations, and finding elements within the webpage. As a programmer you can manipulate the properties and structure of your webpage and any other file linked to your HTML webpage with the use of DOM. One thing I did not get to fully try out was Asynchronous JavaScript and XML (AJAX). AJAX combines the use of its own model and uses XMLHTTPRequest API, HTML, CSS, JavaScript and other technologies to allow web applications to make quick, incremental updates to their interface without the need to reload the entire webpage. AJAX allows for web applications to be faster and more responsive to a user’s actions. This is something I will need to look further into and try out as I did not get a chance to apply it to the afternoon challenge.

Photo by Jacqueline Munguía on Unsplash

The weekend challenge for this week was to rewrite our Ruby bowling challenge from last week into JavaScript. Looking at my Ruby code I was struggling to think about how I use the same methods to implement into this week’s version. I was finding it difficult, even after being able to do the afternoon challenge that week. I was just struggling to understand how to translate my Ruby code.

For the first half of the weekend I decided to do more of the codecademy course and tried to familiarise myself with how to write in JavaScript, and for the remainder of the weekend I tried to write my bowling challenge into JavaScript syntax.

Photo by Windows on Unsplash

At first I was struggling to figure out how to add an array and call the array with the number of rolls as the index, but with google searches and a very helpful Youtube video later. I was able to understand how to write the code. I decided that instead of following the YouTube video and copying the code written, I tried to think about how I would write the code then use the video as my walkthrough to make sure I understood how to write my code properly. I think having this as a walkthrough helped me to not be so anxious about doing this weekend’s challenge. Also I wanted to focus mostly on trying to understand using the DOM, so I could familiarise myself with how JavaScript is able to show my code on a webpage.

Overall, this week made me realise that when change happens I tend to switch to a negative mindset and not enjoy the opportunity of learning from the change. This is something I realised I needed to improve within myself. In addition, I need to build more confidence within myself and trust that I am not at the same stage I was when I had first started programming. If anything, this week further proved to me that I had understood everything I had learnt so far and allowed me to use my gained knowledge to adapt to a new language.

Photo by Suzanne D. Williams on Unsplash

--

--

Tiffany Vallo

Aspiring Junior Developer blogging about my experience during this career change