Speaking the Programmer Language
Tags: react
Published: 2022-08-06 06:12:00

I have reached the end of the second phase of the Flatiron School software engineering bootcamp program. 

One of the things I have struggled with the most is speaking the language: the programmer language. 

If I were in a job interview, how would I explain a chunk of code to the person interviewing me? 

Reading the curriculum in my head and out loud sounds great, after all, I am reading it straight from the curriculum. However, when it's time to go over my code with my cohort lead, a friend, or classmate I get my point across, but not in programmer terminology. It doesn't come out the way it did when I was reading through the curriculum.

It can happen, though. With practice, my terminology has improved. 

Today as I was recording my project video walkthrough I started off by saying, "Hello everyone, I am going to show you the app I made. Let me share my screen and show you." Not bad, but it could sound better. I recorded again.

The second time I sounded just a tad better. 

By the third or fourth time I said, "Hello everyone, my name is RJ. Welcome to my video walkthrough. I am going to walk you through a single page application that I built using React."

Wow! So much better, and it kept improving. By the 7th or 8th attempt at my video walkthrough I was saying things like, "I used a JSON server to create a RESTful API for my backend and made both a GET and POST request to this JSON server using a controlled form". I got better every single time I recorded a new video walkthrough.

Being able to walk users through an application via video is going to be very beneficial for when it is time to start applying for jobs.  

I met with my cohort lead and asked if we could go over proper terminology when going over my code line by line. 

I walked her through the following piece of code which makes a GET request to a RESTful API using the useEffect hook: 

```
useEffect(() => {
    fetch('http://localhost:3000/houses')
        .then((res) => res.json())
        .then((data) => {
            setHouses(data);
        });

}, []);
```

What I first said was, "the useEffect can be used to make GET requests to an API using a fetch request". While this is true you always want to start by explaining what useEffect is. I then said, "Just how a React component's main effect is to return JSX, there are instances where we want to perform certain tasks such as fetching data from an API when a component loads or starting or stopping a timer. The useEffect hook helps us handle these kinds of side effects within our components”. Great. This is true and it sounds better. 

Now moving onto the fetch request. My way of explaining a fetch request originally sounded like, "The second line grabs data from an API using a fetch request." This is not entirely wrong, but there's a better way to say it: "the useEffect callback runs, and fetch initiates a network request to an API".

To sound like a programmer you have to be very technical with what is happening in your code. You really want to know what every single "word" in your code is because if you don't use proper terminology, it's almost safe to assume you don't really know how things are moving along in your program. 

Sometimes coding can be easier than explaining what my code is doing, but as I advance through the bootcamp and record myself walking through an application repeatedly, I can tell I am getting better and better.