Photo by Mohammad Rahmani on Unsplash

For beginner JavaScript coders, one of the first skills you will need to have when starting to build out projects of your own is DOM manipulation. And step one of that? Finding the elements you want to manipulate. Here, I’m going to break down different ways you can find an access HTML elements.

Let’s say that this is our simple HTML document:

<!DOCTYPE html>
<html lang="en">
<h1 class="bold" id="title">Learning How to Select This Element</h1>
<h1 class="bold" id="title-2">Sometimes We Will Select This One Too</h1>
<h1>Or This One</h1>

I’m going to show you multiple ways to access…

Hi friends! I am beginning the journey of getting a website up to show my software engineering portfolio, and I have decided to build it with React.js. One of the easiest ways to implement a multi page web application with React is using React Router, and I am going to take you through the simple steps for getting that set up! For more information, check out the React Router documentation here.

What is React Router?

React Router is a simple way to add declarative navigational components to your application, creating bookmarkable URLs. Let’s say you’ve got <> and you want <> to be a…

Today I am going to break down controlled and uncontrolled forms in React and why we would use them!

(React is a framework for JavaScript. If you are interested in learning more about it, you can view excellent documentation here.)


The difference between a controlled form and an uncontrolled form is purely in how we store the values inside the form inputs. On the client side the form may be exactly the same, but the way the information is handled is completely different. If you are familiar with handling forms with Vanilla JS, that is essentially an uncontrolled form, with…

About a month ago, I had a mock technical interview and the interviewer asked me what the Virtual DOM was. Although I was familiar with the concept, I could not explain it in words. So now, I am going to redeem myself and explain it here so I will never have that problem again.

What is the DOM?

The DOM stands for Document Object Model. The DOM represents the code-based version of a web page. When you type in a URL in your web browser of choice, the server sends the HTML code of the web page to your browser, which it then renders…

Photo by Artem Sapegin on Unsplash

Hey guys! As I continue my coding journey, I have discovered a big gap in my learning: although I can churn out code and debug like nobody’s business, I have a really hard time explaining the more conceptual basics of how JavaScript and other coding languages work. So, I decided to make a series of blogs to take the time to break down these concepts for myself, with the hopes that I can help someone else along the way! Concept number one: higher-order functions.

What is a higher-order function?

I got my favorite definition from freeCodeCamp: According to them, a higher-order function is:

A function…

Photo by Vasily Koloda on Unsplash

You did it. After months of hard work and no social life, you have graduated from a software engineering bootcamp! Congratulations. You should be proud of yourself.

But I’ve got some news for you: the work is not over. It has only just begun.

I think we all know that, even with all of the incredible skills and accomplishments we have acquired in the bootcamp process, that The job search process is not going to be easy. I agree wholeheartedly, but it might not be for the reason you think. …

Photo by Clément Hélardot on Unsplash

As I have continued on my JavaScript learning from newbie to whatever is a little better than newbie, there have been certain concepts and syntactical sugar that I have avoided learning. The first was ternary conditionals, which I was forced out of my comfort zone to familiarize myself with while learning React. The next one, which I have dug in my heels about until now is object destructuring.

What is object destructuring?

Object destructuring, or the destructuring assignment syntax, is a way to pull elements out of an object with less typing in the long run. …

Photo by Christina @ on Unsplash

The time of the stereotypical hacker bro is long gone. These days, software engineers come in every shape and size and from a variety of backgrounds. So, if you’re asking yourself, “Should I be hiring software engineers with a background in the arts?” or “I have no background in tech. Do I have any skills that would be transferable?” the answer to both is absolutely YES. Here are the top 5 reasons why people coming from a background in the arts should become software engineers.

#1: Coding is an inherently creative skill.

On first glance, you may assume that software engineering and the arts are like oil…

So, I started writing this blog because these functions were a bit confusing and had no idea what I was doing when I used them. SO, what a better way to learn than to write a blog post about them and attempt to understand, am I right?

Okay, so the two functions we’re going to break down today are setTimeout and setInterval.


setTimeout is essentially a timer that runs another function after a certain amount of delay in milliseconds. The notation looks as follows:

setTimeout(callbackFunction, delay in number of milliseconds)

As an example we’re going to build out a…

When I first started learning Rails, I was so excited to progress to putting my code in an actual web browser. “I’m a real web developer now!” I thought. “My websites will be ready to be published in no time!”



When I started up my Rails server for the first time this was underwhelming to say the LEAST. Hours of work on the back end on my relationships, and all I have is a 1996 Geocities website?!

Well, my friends, I am here to lead you OUT of the pit of despair and into the beauty of magical fairy…


Blaire is a musical theatre performer who also moonlights as a full-stack software engineer.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store