Главная проблема фронтенд-разработчиков — они плохие программисты
Мы регулярно проводим собеседования на вакансии Vue и React разработчиков. Постоянно подкручиваем механику найма.
Наше текущее тестовое задание для кандидатов на эти позиции достаточно простое, но оно не на знание фреймворка, а на способность работать с нативным JavaScript’ом. И вот почему.
Если выдавать тестовое на знание Vue или React, то соискатель сгенерирует приложение фреймворком, напишет три запроса и отрендерит то что нужно. Фактически он выполнит тестовое, но мы ничего не поймём из его навыков.

Вот что обычно происходит: приходит фронтендер, который три года пишет, например, на Vue; он делает в одной функции запрос данных, и тут же, в этой же функции, рендерит шаблон. Этот сценарий описывает 80 % случаев. Соискатель не понимает как разделить код на зоны ответственности между фронтендом и бэкендом. Как только человек выходит за рамки фреймворка, он теряется, не понимает как организовать приложение.
И хотя в нашем тестовом сказано: «не пишите всё в один файл, мы будем смотреть на организацию самого приложения», но всё равно, чаще всего, мы видим именно один файл.
Фронтендеры — плохие программисты (в массе своей).
Это одна из причин (возможно основная) почему фронтенд-разработка такая дорогая сегодня. Именно поэтому во фронте всё больше ценится бэкендеровский опыт.
Даже с курсов выходят специалисты, которые обучены взаимодействовать с фреймворком, но без понимания как организовать код. Там только-только начали уделять внимание вопросам методологии и принципам программирования.
По этому и по другим косвенным признакам всё-таки появляется ощущение, что ситуация с отсутствием культуры программирования во фронтенде начинает медленно исправляться.