Frontend is a fairly competitive environment. It is easy to start a career here, but it is difficult to move into the category of middle. In addition, the question arises, in which direction to develop, if new frameworks and themes for holivars appear every day?
About how the modern frontend looks and where it is going, I asked Sergey Popov, a member of the program committee of our FrontendConf, which will be held at the end of May in Moscow as part of RIT ++. Along the way, we talked about how the selection of reports, and what difficulties arise here.
- What is frontend for you?')
- For me, frontend is not only JavaScript, but also layout of interfaces. To everything that does not concern hardcore programming, a somewhat condescending attitude is often formed. But without solving such problems there will be no sites (as well as without a backend). I'm just more responsible for the interface part, in particular for the layout, and not for hardcore JavaScript.
- What is happening in this segment?- All the components of the frontend today are developing very actively. There is a huge number of frameworks and approaches to solving problems. In recent years, this “zoo” has already reached the point of absurdity - people are starting to choose technology simply because they have more stars on GitHub. In solving technological problems, the notion of fashion begins to play a significant role (first of all, the names of the same frameworks). But this is the industry. In the frontend only one language - JavaScript. We, unlike the backend, cannot use other languages ​​(they have PHP, Python, Ruby; they can use Node.js as a server-side programming language, and the like). And we have to develop add-ons - frameworks that allow writing to JavaScript easier and better.
- A variety of frameworks - one of the basic features of the frontend?- I think so. But it is difficult to say whether this is good or bad. We never lived with a front-end, for which there are several languages ​​or only one framework. Perhaps, if the choice was less, it would be easier with the development, because the entire segment would communicate in one “adverb”. But from the point of view of the community, a lot of interesting opinions on different frameworks are even good. There is something to talk about.
Once the frameworks appear, and people move from one framework to another, starting not from fashion, but from their task (the business always needs a rationale for such transformations), then all this diversity is really necessary for someone.
- And you yourself faced with the need to move from one framework to another?- Nearly. At the previous place of work, at some point we simply came up against productivity. Initially, everything was written in native JavaScript, but with the release of another feature, we realized that we could not further develop the product on this core. Initiated a dialogue with the leadership, explained what rested; what should be done to solve the problem, exactly how it will help. As a result, all the kernel was rewritten to React. It took about three to four months with me and about six months after I left, and ultimately was worth the effort.
- Are there any trends in the development of frameworks in general?- Honestly, I do not follow the small frameworks. Of the larger ones, we had Angular and React; Vue appeared. At first, he was skeptical, but then he began to gain popularity. If everyone who studied it would write on Vue now, this framework would have the largest market share.
But other frameworks are also not standing still - new versions are coming out. Plus, the market remains a huge number of old frameworks and libraries that are still used.
It seems to me that in the near future the three leaders will fight among themselves for the market. However, this does not mean that circumstances will not arise tomorrow, as a result of which a new framework will emerge or you will have to abandon one of the old ones. Frontend is a rather unstable field.
- And what framework do you prefer?- Express personal preferences about the use of a particular framework, you can try at least Vue, and React, and Angular. I wrote only on React, so I can not speak objectively.
- How does the segment develop in terms of personnel? In what direction, relatively speaking, is the wind blowing?- The layout as a whole is actively developing. Specialists are getting better, they are more deep in UI / UX - in this sense we are moving towards the West, where there is often no dedicated typesetter, but there is a designer who develops interfaces from the point of view of UI / UX, and there is a frontend developer who creates the logic.
It also happens that these functions are combined by one person. But so far, for the most part, we have a different division - there are many designers and frontend-developers on the market, but few who deal with UI / UX (even less than those who are competent in all three areas, so they are very expensive).
In my opinion, professionals who are engaged in layout should go more towards UI / UX, because this is also an important part of the interface, like JavaScript. Personally, I had an imbalance at some point, which I now advise avoiding. For almost five years, I was actually doing only layout - I learned JavaScript at the level of connecting and using ready-made JQuery plug-ins, and that was enough for me. So I almost lost touch with the front-end, turning into a simple typesetter.
Realizing this, I began to develop in parallel in several directions. And now, when I have free time, I continue to engage in UI / UX - at least there are few companies on the market that need a frontend combined with UX. Frankly, the development had to do before.
- It is believed that a qualified frontend developer is almost harder to find than a backend. This is true?- With the qualifications of personnel, everything is really complicated here. As a person directly connected with education, I can say that our main problem today is the lack of good developers of middle and higher levels. Already now it is felt that there are not enough seniors, and every year this will be more noticeable.
But the source of the problem is in the first steps. The guys who graduate cannot find work and experience. Many of them are potentially good developers who in two or four years can grow to the middle, and in 5-7 years to the senior. But no one wants to take a junior without experience. Everyone needs at least a middle: because of a lack of trust in less qualified specialists. And neither middles nor seniors will be with us until we start growing juniors (they can grow not quite right on their own). At some point, we just rest on the ceiling - the juniors are not developing, the new middles have nowhere to take, and all the good middle ones have already reached the seniors by that moment.
I believe that those who deny the problem, still simply did not feel it for themselves. Our recruiting is constantly faced with this when looking for developers at the level of middle and senior. Those who have more skills than junior come to middle position more often. And the further, the worse.
- And what to do?- We are trying at the level of your company to take some steps. For example, made outsourcing on layout. The guys who graduated from our intensive course receive tasks from us and gain experience. And subsequently they are more willing to hire.
But this decision is local, within the framework of our project, and not for the whole junior flow. We, too, need to sell our services, and when we tell the customer that the project will be done by juniors, questions arise. Alone, we will not solve industry problems.
- Maybe somehow use industry events?- Unfortunately, what is happening at conferences is more appropriately called a monologue. You can tell your point of view, find individual enthusiasts, chat with them. But bringing the thought to the whole community in such a way that it starts changing somehow is unlikely.
I once gave a talk about newcomers - that they should be given a chance. And we even found a few people who took the juniors by launching a project that helps newcomers find a job. But in a year we solved the problem for 30 - 40 specialists. That is, it turned out a very local solution - not the scale of the industry.
But this can and should be talked about, constantly reminded to be heard.
- What is the reason for such a "horror" before the junior?“Growing a specialist is a cost.” It is not clear how well it will develop. Many fear that as soon as the junior grows up, he will leave. But, in my opinion, this is a bit strange, since front-end vendors are constantly changing jobs. This has already become the norm.
In addition, fear of potential quality problems. But, let's be frank, half of the resources on the Internet are of rather low quality. This is our common problem: both business and developers. We all pull the web to the bottom when we forget about what to think about quality - and sometimes not for the sake of business.
I have repeatedly entered into a dialogue with the community on the fact that juniors should be trusted, because every year there are more and more specialists (objectively, the threshold for entering the frontend is lower than in the same backend), and they all need to develop.
- What is necessary today to explore the frontend developer, in addition to JavaScript?- JS-developers need to understand that they must be able to typeset. For some reason, many people do not like to do this, some believe that this is not the responsibility of the frontend developer, but this is not true (according to the name of the profession, the frontend deals with the interface as a whole, and the layout and UX are included).
In my opinion, for the JS-developer, the most important thing to understand is that you should not get hung up on one framework and start learning JS from the framework. Now React-, Angular- and Vue-developers have appeared separately and less and less JS or frontend-developers. But this is a dead end road. We already went through this - at one time we had jQuery developers who were able to write 10 thousand lines of code in jQuery, but not ready to do the same in JavaScript (although in fact JQuery is just a library that helps to write on Js).
You need to learn JavaScript yourself, then any framework or library will become just a tool for writing code, and the developer can easily move from team to team with different stacks.
- And how do you feel about the development of specialists in the direction of fullstack-development?- Frankly, skeptical. In no case do not want to offend fullstack-developers (I know really cool specialists with very extensive experience), but I believe that everyone should be a professional in their field.
I have been doing layout for almost 10 years. At the moment, I know almost everything in this area (of course, there are some things that I have not tried, but I know that they exist and how they can be applied). And it is a bit strange for me to see when a person with three years of experience considers himself to be a fullstack - it is unlikely that in three years you can explore all the technologies. Qualification of those who have been involved in this for 15 years or more does not raise questions. But I think that it is better to develop in one thing, because the further you move, the more valuable you are as an expert in this field. Although there are those on the market who like the fullstack more; and there is a demand for such specialists.
- And what has changed in the frontend technological plan in the last year?- Of course, new technologies have appeared. At the last conference, I just talked about CSS Grid Layout, and now it is fully adopted. Developed CSS Houdini.
A very big tug made Vue. But while it is not clear, this is a jerk in popularity or in quality. A year ago, those who write on Angular or React, and those who study Vue stood out on the market, but now Vue captures its market share, and it is believed that in a year it will completely absorb it (knowledgeable people say that this is the best framework).
It seems to me that this year an important trend was an even greater rejection of support for older browsers. Earlier this year, Microsoft "buried" Windows Phone 8.1 - the latest OS, where the only browser was Internet Explorer. Now officially there is no OS in which there would not be, for example, Edge. This does not mean that everyone stopped using IE and switched to modern browsers. However, this is an important step towards killing old browsers, which in fact inhibit the industry.
Most of the problems encountered rest on cross-browsing. They can be solved, but we cannot use 100% modern technologies precisely because of the support of the old systems.
- How in the conditions of the struggle of fashion and technology your program committee selects reports?- The decision on each report is preceded by a rather long discussion of the topic - first of all, with the speaker. We try to understand what we will hear in the end: real experience or abstract reasoning. And the reason why the problem was solved that way.
For example, reports on changing frameworks. Some person had a need to change the framework when solving a specific problem. He changed it and tells why, what and how it solved his problem. On the part of the program committee, we are trying to get the truth from the speaker, trying to maximize the topic of the report through conversations with the speaker and discussions within the program committee. Only those reports that are really interesting to the public, and not just discourse on napkins, are selected in this way.
- Which reports have more chances?- This year we are trying to abandon the "reference" reports. Any frontend developer should be able to independently go to the library’s website in the documentation section, understand what is written there and start working. The conference concentrates concrete problems and ways to solve them. It allows you to search for like-minded people and help them in practice. In essence, this is learning through experience.
In general, the program is very heterogeneous. Our task is to make it as interesting as possible for everyone who is related to the frontend. And every year the program committee works more and more coherently, and the selection of reports goes on ever harder.
- Many reports have already been submitted to the conference. Is it possible to identify issues that concern the industry the most?- It is difficult to identify any trends. All reports talk about something new. I did not really like the numerical superiority of reports about JavaScript. Yes, there are a lot of really hardcore stories among them, but I myself am nevertheless closer to the interface part than to programming, and I also regard the industry as the interaction of all the elements. Therefore, I don’t like that there are very few reports about CSS, UI / UX, tools, etc.
There are several reports on refactoring, which is unusual in principle. People do not often talk about this topic, because no one likes to do it. But since there are such topics, then the projects have evolved so much that they have to refactor. And it speaks about the level of community development.
In the west, the topic of accessibility is now very popular. This will be discussed with us. A report on how to make your open source project was selected — although in our country, in general, the culture of open source projects is not well developed.
- What do you think, in what direction should FrontendConf develop further?- I think we need to move in the direction of the English language. I would like to have a stream of English-language reports and invite speakers from European conferences there so that our community develops in accordance with world standards. But RIT ++ has always been more focused on the domestic market, so it is difficult to say whether this development of the conference itself is necessary.
Friends, the next festival of
RIT ++ conferences will take place very soon - on May 28-29 in Skolkovo. This year, he will unite FrontendConf, BackendConf, RootConf, WhaleRider, Aletheia Business and the congress of Russian-speaking IT communities. In total, more than a hundred reports and 35 mitaps are planned!