There are three main types in web development: frontend, backend, and fullstack. Together with the teachers of SkillFactory, we understand how they differ, who is more suitable and what you need to study in order to build a career in each of them.
Frontend developer is responsible for website design, layout and animation. What happens “under the hood” – the internal logic of the site, interaction with the server and databases – is the responsibility of the backend developer. A full stack developer must be able to do both.
A typical front-end developer’s workday starts with a meeting or a call to discuss tasks, priorities, and issues. Then he downloads the latest versions of the code from GitHub (a service for hosting and collaborating on projects), reviews the changes and comments, and starts working. In addition, he needs to study thematic resources in order to keep abreast of current trends.
The initial level in development is trainees. These are beginners who have completed courses and gained basic knowledge. Their salaries, as a rule, do not rise above $500.
The next level is junior developers, they have little experience working with projects and often consult with more experienced colleagues. The salary of a junior developer in Moscow starts from $1000
A middle frontend developer is an experienced person who is able to independently and efficiently solve most problems. His salary usually starts at $1300
The senior frontend developer has extensive experience, makes decisions on development independently, has his own vision of the project architecture and can justify it. In addition, he solves managerial tasks, participates in meetings with other departments.
It is useful for a front-end developer to be a perfectionist, as it is often necessary to implement the designer’s intention “pixel by pixel”. In frontend development, you can’t stand still, it’s like running up an escalator going down: new tools are constantly being added and trends are changing. It’s interesting, but sometimes tedious. For large projects, teamwork and the ability to find a common language with people are relevant.
Alexey Vidyakin, frontend developer:
What does he do?
A backend developer solves a variety of tasks, from creating a framework for a future application to specific business tasks. For example, in a bank, such a specialist will analyze payments from bank terminals and check their correctness to prevent theft. He also designs storage systems and ensures the speed of data exchange, controls their cleanliness and correct access to them. In addition, the backend developer writes systems for automatic testing and checks whether the program works correctly.
The working day of a backend developer depends on the place of work. In companies developing their own product, there is a more measured rhythm, in which there are a couple of large coding sessions per day (2-3 hours each), short meetings for synchronization with the team, discussion of architectural issues. Custom development has a more torn schedule: you need to communicate with customers, quickly make changes and participate in meetings.
Full stack web developer career path
In the field of fullstack development, as such, there is no gradation for junior, middle and senior developers, this is typical for small companies and startups. More often there are experts and ordinary developers. The former are able to create a supported project from scratch with good documentation, choosing one of the design models and explaining their choice. At the same time, they are able to operate with different tools from their extensive technical stack, and novice developers tend to apply the learned framework to all tasks at once.
The key quality of a full stack developer is the ability to assimilate information daily and learn quickly. Since he works in several areas, you need to constantly be aware of what is happening. The professionalism of a fullstack developer largely depends on the technical stack that he owns and his well-read. In addition, he must always think one step ahead, for example, how to scale the project so that it can withstand large loads. He must be assiduous, not afraid of difficulties and be able to bring what he started to the end.
Oleg Ledvanov, fullstack web developer:
“I work as a full stack developer for a large telecommunications company, and before that I worked as a freelancer. I like the job because you can be responsible for the entire project and not depend on anyone. In addition, I can try new frameworks, I don’t have to coordinate my stack with anyone and adapt to companies.”
What does a backend developer do?
Dmitry Orlov works as a backend developer at Neon Banana, which releases games. He is constantly looking for new interesting tasks: by the age of 23, he managed to work in Mail.ru, Yandex and in the ivi.ru online cinema. Dmitry told us how he got into the profession, what he does now, and why, with knowledge of Python, he can try himself everywhere.
What does a Python developer do
I recently started working for Neon Banana, a company that develops mobile games. My responsibilities include backend development of server architecture in Python for games. The company creates its first product, and so far I’m the only one who does backend in the company. But now I’m interviewing and looking for employees to join the team.
While the first game is in development, there are many small tasks on the backend. For example, you need to add a new character or update the price of an item in game currency. In order for all this to be displayed correctly in the game, I write the Python code that connects the application to the server. When the game is released to the market, the tasks will be more difficult. For example, you will need to shard the database – rebuild the data structure so that the application loads them faster.
I like the rhythm of a startup: you set yourself tasks and look for unusual solutions. But this is also a big responsibility: it depends on you what the new product will be like.
In a big company, everything is different: you feel like a cog in a big mechanism that does standard tasks. Before that, I worked at the ivi.ru online cinema, where I also worked on backend. For example, I’ve been developing tools in Python to determine the audience that would be interested in a new movie. Such tasks help marketers, and I wanted to solve problems related to the product, so I moved into game development.