Hi, community. Let me tell you about front-end, front-end programming developers and about their duties and responsibilities. Hope it will be useful for newcomers in the programming industry and just for curious readers. Let’s start.
Here is your device: computer or phone. When you go to the site, data flies into your device: pictures, text, scripts, and so on. The browser on your device catches this data and processes it: displays pictures on the screen, draws texts in a certain font, paints the page in the desired color and so on. That’s all what can be called “front-end”, that is, “advanced”.
Where did this data come from? Who told the site to display this text and this particular picture for you?
You already know that this data came from a server – a special machine in the data center that is responsible for serving you the content of sites and applications. A special program runs on this computer that recognizes you and forms a page with the necessary information. This program, as well as all its auxiliary systems, databases, storage, and so on, is the “back-end”, that is, “rear”.
The front-end programming developers writes the code that will be executed on the front-line, that is, on the client side.
Responsibilities of front-end developer
Let’s take a look at what a typical front-end developer does. Of course, the first responsibility that comes to mind is layout. Our hero ideally knows how to make a page of any complexity. Compliance with standards (to the extent possible) is a must.
The front-end developer monitors the quality of the client code in his team, slaps the hands of careless layout designers and clicks on the noses of designers hovering in their dreams.
Do you want to put on the homepage of your site a beautiful gallery “like on that site”? Ask the front-end developer! Without hesitation, he will name you a dozen ready-made solutions, offer options for customizing standard plugins, and all this at once taking into account compatibility with your CMS and supported devices / browsers.
Thinking about redesigning and adding a fashionable feature to your site? Adaptability, endless scrolling, parallax scrolling, etc. Our hero has already calculated in his mind what time it will take you to implement any crazy idea, and will dissuade you in time if his artistic taste and common sense suggest that such features will become at least empty a waste of money, and as a maximum – the cause of a deterioration in the user experience.
Attention to detail and a sense of beauty are the hallmarks of a front-end programming developers.
Front-end programming developers are often confused with layout designers, but in reality an HTML designer is a narrow profile specialist. At this point, let’s define the line that separates the layout designer (HTML developer) and the front-end programming developers. I will not go into the details of the layout designer’s work. Its main task is to cut the layout. If further he prefers to take on a part of back-end development (PHP, Python …), then he develops towards a back-end programmer. If he focuses more on client-side (JS) programming, then perhaps he is a future front-end developer. It may also happen that the layout designer will move towards design, which is also very good – practical layout skills will become his significant advantage over classic designers “by vocation”.
The second important responsibility of a front-end developer is to ensure the right level of usability and user experience (UI and UX). Of course, the designer should think about these things first. But a designer alone cannot always design an interface that is clear to use and easy to implement, for the same reason of ignorance of the technical part. A good front-end developer has the skills of a designer and UX specialist. In other words, he knows how to make a beautiful and user-friendly user interface. But in no way does it take away the bread from designers and UX specialists. And in the absence of them in the team, it can partially replace them.
So, to be rather short and to sum everything written above, front-end developer does the following:
- assembles a site according to the designer’s layout;
- understands the processes that take place during website creation;
- knows how to publish site on the web so that it looks the same on all devices;
- knows how to work with Git or another version control tool;
- uses Webpack to build the project and generally operates with preprocessors.
Front-end developer is a “cook”
To make it easier to understand all this, let’s draw an analogy with a cook. The task of the chef is to prepare the recipe so that the client likes it. This is similar to how the front-end works, except that instead of a recipe, it has a designer layout. Let’s dig deeper to figure it out.
Beginning of work
When the cook is given a new recipe, he says, “Well, I need onions, carrots, potatoes and a couple of tomatoes. Plus a deep saucepan, a whisk and a heavy-bottomed pan. “
Use of technology
The chef does not always prepare everything himself – sometimes he uses semi-finished products or finished products. For example, if he needs to make tarts, he will not bake them, but will order ready-made ones. Then he just put chopped vegetables with cheese in them, put them in the oven and get a delicious dish.
A front-end developer also doesn’t write all the code from scratch. If he understands that some part of the logic will be difficult to implement on the page, then he can send it to the server so that all calculations are there. As a result, the front-ender will ask the guys on the server to make such a function that will process the data from the page – just like a chef orders ready-made baskets.
But in order to be able to do this, both the chef and the developer must understand how the processes work on the side. If the chef asks for a basket the size of a watermelon made of whole potatoes, he will be refused, because there is no such big potato. It’s the same with the code: before setting a task on the server, the frontend must know what to actually do and what not.
A professional chef does not care where to cook – in a small kitchen with friends or in the huge kitchen of a prestigious restaurant. If he doesn’t find a fish knife, he’ll cut it with a regular one. If friends ask to repeat his famous cheesecakes at home, the chef will not refuse them due to the fact that there is no professional oven at home. Instead, he cooks them in a frying pan and cleverly makes a crust in the oven with an electric grill.
The front-end, as a rule, uses ready-made and proven solutions. He knows how to embed a beautiful gallery on a website and how to customize a feedback form. But if the project needs to use the old gallery, which was written a long time ago by their main programmer, he will delve into the code and figure it out. If necessary, it will write its own handler to it, which will greatly simplify the work.
The main thing in front-end work is to understand how technologies are arranged and how they work in order to apply them in a project.
Subtleties of work
Sometimes during the cooking process, the chef realizes that the dish can be slightly improved if, for example, add more garlic or take wheat bread instead of rye bread. The appearance can remain the same, but the taste becomes better.
When a front-end developer is working on a website, they may come up with a nicer solution than the designer or project manager envisioned. For example, you can embed a ready-made authorization module instead of a self-made one – this will speed up development, but not the fact that you will be able to do the same design there.
To sum everything up, the job of front-end developer is not easy, but yet fascinating and challenging. To master all the mentioned above, you need to gain experience with dozens of other dishes or projects. There is no such skill yet – just use the working tools and learn. Over time, everything will appear and your client base will become bigger and bigger. Work on yourself and be patient. Good luck!