W
W
WebDev2019-02-18 16:30:10
Frontend
WebDev, 2019-02-18 16:30:10

What can an outstanding Frontend developer do?

Large companies are looking for the best specialists in their field for various positions.
I can imagine the backend requirements because the backend is more complex. There you need to take into account the number of users, control the load, manage memory. There's all sorts of scaling, linux and sql. There's a lot to list there. There are many mature and voluminous technologies, the study of which requires a lot of time and effort.
But it’s hard for me to imagine the requirements for a high-level frontend developer. Here is one fairly simple (by comparison) PL, fashionable technologies like babel, webpack and TypeScript are coming, which further simplify the work and some kind of framework. There are features of the browsers, but there are not so many of them and for the most part they are solved by the same babel. The frontend is not scalable, not replicated. In general, if it is tested very well, then the developer is 99.9% sure that everything works on all browsers and on all devices. There cannot be a situation where too many users came or the server ran out of memory. There is no system monitoring.
Judging by the vacancies, both of them earn about the same.
But if you take a list of technologies that you need to master, then in the case of frontend, everything is much simpler.
Please explain to me what kind of knowledge a strong frontend developer should have and why today frontend and backend are rated as equal in terms of complexity.

Answer the question

In order to leave comments, you need to log in

8 answer(s)
V
Vladimir Proskurin, 2019-02-18
@Vlad_IT

linux

Well, the frondender often needs to know this too.
I doubt that it is now much simpler than python or php, JS is developing very quickly. And if you take TypeScript into account, then even more so.
Not at all. It will not be possible to test on all browsers, on all operating systems and on all devices with different screens, with different input methods.
Well, that's just not true at all. I can also say that there is nothing to learn in the back, I studied the language, studied laravel, and you don’t even need to learn sql, use ORM. Fair statement?
Now in general. There is a lot to learn in the front-end
1) Layout. A good front-end'er should be good at typesetting, contrary to the common belief that this should be done by a layout designer. And layout is a separate broad topic.
2) SVG, for many interactive applications, it is very useful to use svg, and there are a lot of their own features, hacks, etc.
3) Webgl is a rather complex topic, I don’t know if there is something similar in complexity in the back.
4) Canvas - not just to know, but to be able to draw what you want.
5) Freymorki, and there you have your own branching for each.
6) Asynchronous programming, which seems incomprehensible to many php-shniks.
7) OOP, because classes have been brought into JS, and TypeScript often needs to be used.
8) Design patterns - not just for the backend.
9) Webpack+gulp - well, it was.
I'll add if anything else comes to mind.

D
Dmitry Larin, 2019-02-18
@fanrok

As a person who does both front and back, I say - back is easier. On the back, you don’t bother with the “features” of browsers at all - you don’t have them. You have virtually no features at all. You don't need to keep in mind the heels of jap and markup (JS, TS, HTML+CSS, CoffeScript, LESS, SCSS) - you have your PHP(PYTHON, JAVA) - just one jap. Separately, there are build tools - gulp, grunt, webpack - none of this is there and it's unnecessary. There is a composer that pulls dependencies and that's it. You do not need to write kilometer configs to build your application. It is also not necessary to know Linux at all - everything can be done perfectly on Windows. Well, or deploy a vagrant (docker). The code can be written anywhere - and everything will spin on Linux. But about testing, the back does the front for one or two. If you completely ran the test (phpunit, codeception) then you are 99.999% sure that everything will go as it should. But not so with the front. You physically cannot test ALL browsers.
But there is one big but. this is of course my IMHO, but even so - to make the front more interesting))
PS I forgot to mention the frameworks and libs that you should know on the front - React, Vue, Angular and (just don't throw stones) jQuery.
PPS Control to the head. We made a website for the client on vue. Passed, the client is satisfied. And then he comes and says - guys, but it doesn't work on ie8. And I really need it, I have a large client (budget organization), and they all have xp with ie8 ... (for reference - vue will not start on ie8).

S
Saboteur, 2019-02-18
@saboteur_kiev

> I can imagine the backend requirements because the backend is more complex.
No
> There you need to take into account the number of users, control the load, manage memory.
In the front, you also need to take this into account
> There are various kinds of scaling, linux and sql.
There are a lot of js, json, xml, CS in the front, a lot of mature technologies that require a lot of time and effort to learn, a lot of new technologies.
> But it's hard for me to imagine the requirements for a high-level frontend developer. Here is one fairly simple (by comparison) PL, fashionable technologies like babel, webpack and TypeScript are coming, which further simplify the work and some kind of framework.
But what about webassembly, html5, RMTP, and other media? Flash has now given way to JS and HTML5, but this only expands the possibilities of use.
> There are features of the browsers, but there are not so many of them and they are mostly solved by the same babel.
For the most part, but we're talking about an outstanding one, which can, for example, be written by babel himself? So you can say if you shift all the work to the backend. And the right thing is to correctly distribute what the frontend does, what the backend does and optimize data transfer. It is the two specialists who must cooperate.
> Frontend is not scaled, not replicated.
> In general, if it is tested very well, then the developer is 99.9% sure that everything works on all browsers and on all devices. There cannot be a situation where too many users came or the server ran out of memory.
Well, how can it not? Do you know all the devices where your web app will run? And if on smart TV? And if on a non-name tablet? What if it's a voice chat in a web application for 50 people?
> There is no system monitoring.
But is there an understanding of metrics, their collection, and sending to the backend or somewhere else?
In addition, the front-end, unlike the back-end, has progressed VERY quickly over the past few years. So fast that it is extremely difficult to find good specialists - they simply do not have time to study everything that falls on them. The backend is more stable, there printed books have time to come out in the 10th edition.

Y
yayashitoya, 2019-02-18
@yayashitoya

I can imagine the backend requirements because the backend is more complex. There you need to take into account ... There are a lot of things you can list. ...There are many mature and voluminous technologies that require a lot of time and effort to study.
But it’s hard for me to imagine the requirements for a high-level frontend developer.

And that's why we have thousands of websites that are simple in terms of functionality, in which the browser is stupid from scratch ?

K
Konstantin Kitmanov, 2019-02-18
@k12th

The frontend is not scalable, not replicated.

In the same way, if necessary, it scales (route splitting, time to interactivity, critical path) and replicates (CDN).
In general, this statement is true for anything, even for the backend, even for games :)
To test it well, you need a dedicated QA that knows how to automate testing. And anyway, then the customer comes with some kind of UC Browser and swears that nothing works.
There is. Raygun, Sentry, Rollbar, Bugsnag.

O
Oleg Kotov, 2019-02-19
@AgeofCreations

IMHO the back is more difficult in terms of logic, the front is more difficult in terms of the abundance of any unforeseen shit.

R
Robur, 2020-02-10
@Robur

What can an outstanding Frontend developer do?

the same as an outstanding "whatever" developer. to solve the assigned tasks as well and efficiently as possible , regardless of what kind of task it is, how it is set and in what conditions it is required to be performed.
He can outline the problem in general terms and he will dig it to a clear form. He will find out the gaps in the task and possible problems. He will think about how to work with people. He will take into account the current business situation and correctly prioritize. He will choose the appropriate technology and not the one that is "obviously better". He will think about who and how this code will then support and develop. He will come up with some better solutions. He will take into account the available time, who set this task, in what situation. He will take into account the current state of the team and the current tasks being solved, as well as the experience that was in the past and plans for the near future.
And he will do a lot of other things so that the task is solved well, efficiently and in the right time.
And here it is not very important - front, back, mobile phones, or something else.
And discussing knowledge of languages ​​/ technologies / platforms is not the level of an "outstanding" developer, this is the level of a strong middle who has finally mastered the tools well.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question