How I Explain to My Grandma That I Am a Frontend Developer

I've been a frontend developer for over two years. At times, I’ve found myself in situations where I needed to explain what I do to people who know nothing about programming.
So now, I'll do my best to clarify how the lines of code typed on my keyboard are transformed into something you can see, click and even use in your day-to-day life.
We all speak at least one language. We use it for a lot of things, but, generally, we use it for communication. The same thing works with computers.
We want to make them do something for us – we communicate with them. Unfortunately, computers don't speak English yet. They use something that is called "machine code" instead or, simply put, the language of computers. So skipping some details, we may say, that programming is when you can tell the computer what to do by speaking its language. That is clearer now, isn't it?
We figured out that we need to speak a language that a computer can understand, but what is that language?
There is more than one language we can use. All of them serve the same purpose in general – to transform our thoughts into something a computer can understand. “Why more than one language?”, you might ask. Here is the answer: they are just tools and we usually choose different ones depending on the goal we want to achieve.
Let's take, for instance, a car and a bicycle. They both have wheels and take us to the desired destination – but we use them for different specific purposes. You’d probably decide to use a car instead of a bicycle if you wanted to go to another country unless you want to burn thousands of calories. In programming, it's the same, but burnt calories are the hours you spend on your work in the case of computers. You don't want to spend thousands of them, right?
In general, one language is better for analyzing data and forecasting, another one – for calculations and statistics, yet another one – for building websites, applications and so on.
Alright, I guess everything is quite clear for you, so let's get to something more specific, which I do personally. We'll talk about creating websites and application interfaces. They are the parts that you see when using any website. Developing them is called frontend development. We finally get to the part where I'll explain in simple words what I do every day.
Have you ever wondered how the browser works? How can we watch movies, listen to music, read the news on a portal, play games and perform many activities, just by typing anything in a search bar?
Behind the scenes, three core things make it happen – HTML, CSS, and JavaScript. I know, things are getting complicated, so let's take a look at this simple example.
Imagine a play button in your music player. The button itself is an HTML element.
HTML is used for adding content onto the page, such as text, images, links, and even videos. For example, HTML would allow you to put a play button in a certain position on your webpage.
Following on from the example above, CSS would allow you to change the size, color, and style of the button you added with HTML.
However, when you want to interact with the said button and perform some actions, for instance, start playing music, send a message or log in somewhere – this is the work of JavaScript. It can be used along with HTML and CSS.
Also, JavaScript is often used separately, when it comes to creating in-browser games, programs, and even mobile applications, which makes the knowledge of this language a very powerful skill.
To put things simply, JavaScript is designed to make frontend development easier and more attractive. In most cases, JavaScript is used to create responsive, interactive elements for web pages, that improve the user experience. Things like menus, animations, video players, interactive maps can be created quickly and easily with JavaScript.
Everything you've read above, that's what we, as frontend developers do. We are responsible for creating those elements, putting them all together and making them interact with each other. We are the builders of the part of the web that you can see with your own eyes. We are the guys who know how to speak with computers:)
Another great thing about programming: many people think that it is about logic and mathematics only, however, it is also about creativity, problem-solving and thinking two steps ahead. It also requires us to be continuous learners, to teach ourselves to think ahead and to be able to focus on something. We need to be patient, especially when it comes to solving complex problems, and to be ready to learn new things every day.