I've been a frontend developer for over two years. At times I found myself in situations where I had to explain what I do to people who know nothing about programming. So now I'm giving my best to clarify how 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 some 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, however, they use something that is called "machine code", 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 their language. That is clearer now, isn't it?
We figured out that we need to speak some language that 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 turn our thoughts into something a computer can understand. Why more than one, 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, take us to the desired destination — but evidently, we use them for different specific purposes. You’d probably decide to use a car instead of a bicycle if you want to go to another country unless you want to burn thousands of calories. In programming, it's the same, but burned calories are equal to hours you spend on your work. 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 still quite clear for you, so let's get to something more specific, that I do personally. We'll talk about creating website's and application's interfaces. They are, simply, parts that you see when using any website. That 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?
Imagine a play button in your music player. The button itself — that's 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.
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 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 constant 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.