Мы в *instinctools организовали и провели серию онлайн-дискуссий с разработчиками и экспертами в области IT. Проект «Техпора» – это возможность обсудить темы, которые затрагивают основные точки роста в IT. Мы не накладывали на беседу приглашенных гостей ограничения, а специально для «Хабра» выбрали из разговора яркие моменты, чтобы их можно было обсудить.  В разговоре приняли участие Денис Радин, организатор JSNation и React Summit,  Виталий Фридман, сооснователь Smashing Magazine, Андрей Кучеренко, Chief Software Engineer, EPAM Systems, и Ира Левина, драйвер Frontspot сообщества. Целиком дискуссию можно посмотреть на YouTube, а согласиться или не согласиться с приглашенными экспертами лучше всего в комментариях. Виталий Фридман, сооснователь Smashing Magazine: Когда мы говорим о современном frontend, я пытаюсь понять, а что это вообще значит. Судя по публикациям на разных «замечательных» сайтах и в прессе, у меня складывается впечатление, что я нахожусь в другой реальности. Большинство проектов, с которыми мне приходится сталкиваться и где приходится каждый день плакать, – это, как правило, старая версия jQuery. Когда я обсуждаю современный frontend, то сразу задаюсь вопросом: а когда мы можем делать обновление на новую версию jQuery? Чтобы «докрутиться» до хорошей версии React или JS, даже сейчас нужно большое везение.  Андрей Кучеренко, Chief Software Engineer, EPAM Systems: Если смотреть на статистику сервисов типа Alexa, то количество скачиваний библиотеки jQuery будет там  в топе. Да, у нас много чего работает на jQuery. Правда, если говорить про frontend, то стоит разделять доменную область. Ведь есть большой корпоративный сектор, который бывает очень суровым и диким, а есть проекты, на которых frontend воспринимается как часть искусства, когда человек выражает в работе свои мысли и взгляды, рисует при помощи frontend. Денис Радин, организатор JSNation и React Summit: Для меня современный frontend выглядит так, что, кроме framework, причем двух – React и Vue, очень мало центров внимания. Что-то новое – это Next.js (это уже про fullstack). Например, если судить по упоминаниям в Twitter, то популярность jQuery упала за последний год в два раза. Она и была небольшой, но сейчас популярность jQuery в сообщениях пользователей в два раза меньше, чем популярность React. Если говорить без сравнения, то популярность jQuery среди разработчиков достаточно большая. Ира Левина, драйвер Frontspot сообщества: Я в последнее время работала в основном на React, и ко мне обратились из легаси-проекта, попросили поправить что-то на jQuery. И я подумала: отлично, сейчас React отойдет в сторону – и я вспомню jQuery, который мне казался простым и великолепным. И как же на jQuery оказалось все долго делать. Через 30 минут я сказала, что доделываю задачу и возвращаюсь к своему React. Поэтому, когда мы говорим про современные тренды, очень важно понимать, что было раньше, сравнивать. Денис Радин: Есть такая шутка, что один React-разработчик создает рабочие места для еще восьми React-разработчиков. Был момент, когда FE стал очень дорогим, но сейчас все возвращается в норму. Даже команды React-разработчиков задумались: мол, куда мы идем?  Они начали активно мигрировать в сторону упрощения кода, и те же хуки – это попытка придать разработке более простую и дешевую форму, приблизить все к элементарным вещам. И сейчас происходит революция, переход на fullstack, где разработка – не FE, но очень близкая к нему. Это разработка web-приложений. Она очень сильно упрощается и становится намного дешевле. Но все зависит от проекта. Потому что какой-то корпоративный бизнес может жить не только с jQuery, но и другими, промежуточными решениями, например старыми версиями React или старыми архитектурами, выполненными на React. Причем устаревшие, не мейнстримные архитектуры могут быть достаточно дорогими. А вот новые подходы по своей стоимости уже являются поводом для оптимизма. Я сейчас делаю сайт проекта на fullstack frameworks, и разработка настолько быстро деплоится и разворачивается, что можно говорить о существенном прогрессе. В общем, был шаг назад, но сейчас я вижу шаг вперед – и мне это очень нравится.   Денис Радин: Кто умеет пользоваться инструментами, может с помощью современных фреймворков сделать все быстро и классно с точки зрения разработки. При правильном выборе инструментов можно работать хорошо и быстро. Андрей Кучеренко: Цена разработки рождается рынком. Спрос на IT-решения сейчас растет. Ведь даже на утюгах уже есть web-интерфейс, через который можно управлять. Становится все больше и больше интерфейсов, все больше и больше информационных систем. Естественно, сказать, что спрос падает и мы готовы продавать frontend дешевле как часть информационных систем, нельзя. Общая тенденция указывает на нехватку людей в IT, причем во всем мире. При этом рост цен не гарантирует, что сайты и интерфейсы становятся быстрее, работают лучше. Да, по сравнению с прошлым веком скорость работы увеличилась, но не драматически. Но есть мотивация для ускорения работы web-сервисов и сайтов. Тот же Google учитывает скорость работы при определении индекса ранжирования в поисковой выдаче. Виталий Фридман: Я не знаю ни одной компании, которая пытается снизить зарплату frontend-разработчику. Андрей Кучеренко: Хорошо, что люди, которые пишут frontend, могут писать serverless-приложения, не вникая в особенности backend-разработки. Мне кажется, что frontend-разработчик, который хорошо освоил serverless, перестает быть просто frontend-разработчиком. В этом случае мы уже говорим о fullstack- разработчиках. И это нормальное движение к упрощению того, что у нас есть. То, что для нас было сложным 5-10 лет назад, сейчас кажется простым. Я помню времена, когда сделать нормальную анимацию в браузере было сложной задачей. Особенно тогда, когда мы говорим про анимацию с учетом физики. Сейчас это стало элементарной задачей. Те вещи, которые были раньше сложными в разработке, сегодня стали очень простыми. Но сейчас становятся сложными другие вещи, которые через какое-то время, я верю, упростятся. И serverless – это один из способов упростить backend.   Денис Радин: А остались ли вообще «чистые» frontend-разработчики? Есть у кого-то данные, сколько людей называют себя frontend-разработчиками и fullstack? Ведь fullstack настолько простой и так глубоко проник повсюду, что «чистых» frontend-разработчиков должно становиться все меньше и меньше. Виталий Фридман: Все зависит от того, как себя разработчики идентифицируют. В компаниях есть очень много ролей для разработчиков, появляются все новые и новые. Например, есть роль frontend-дизайнера – это люди, которые считают себя разработчиками, но разработчиками в контексте HTML, CSS и JS. Но это не просто верстальщики, они имеют очень хорошее представление о доступности и UI/UX. Поэтому они, скорее, frontend-разработчики, но ближе к дизайну. Когда общаюсь с компаниями, я всегда удивляюсь, насколько уникальными могут быть job titles. Честно говоря, я уже не знаю, что такое сегодня frontend-разработчик. Что мы вообще делаем, пишем какой-то код? Наверное, каждый определяет для себя ту профессиональную область, в которой он чувствует себя комфортно. Каждый разработчик кладет себя в свою «коробочку». Денис Радин: В последнее время я тайтла frontend-разработчик вообще не видел. По-моему, те объявления, которые мы видим в LinkedIn в Лондоне, Амстердаме и Минске, содержат запросы «React-разработчики», «Vue-разработчики», «специалисты по Node.js» и отдельный запрос на поиск JS-разработчиков. Ирина Левина: Специалисты по JS могут работать на любой стороне – «клиент» или «сервер». Да, многие из них не так сильны в верстке, но они готовы осваивать любой framework. Данис Радин: Я помню, как термин fullstack стал очень модным. Люди, которых я встречал на митапах в Амстердаме, с придыханием говорили: мол, я уже fullstack. Это был совершенно другой уровень года 3-4 назад. А потом тема «слегла», скорее всего, потому что все стали fullstack. Андрей Кучеренко: Стандартизация – это хорошо, когда мы говорим об одном стеке. Когда мы пишем однообразно в рамках своего проекта – это позволяет лучше расширять наш код, добавлять новые изменения, ускоряется time to market. Но dry back стандартизация ломает «велосипеды», из которых рождается что-то полезное. Мне нравится движение отрасли по стандартизации в frontend. Но какой-то процент для «велосипедов» я бы оставил. Возможно, из них вырастут большие, серьезные и интересные проекты. И если смотреть на современные браузеры, то очень хорошая позиция у Chromium. Фактически мы работаем в одном энвайронменте, поэтому нам не очень важна стандартизация. Вспоминая времена IE 5.5 или версии 6.0, когда там были всякие технологии, которые позволяли разработчику выстрелить себе в ногу, просто начав писать HTML без скриптов. И это было очень больно как по производительности, так и по безопасности. А вот сейчас, оглядываясь в прошлое, мы работаем в спокойное время.   Виталий Фридман: Я был очень удивлен, когда увидел большую статью про то, как делать лучший UX для Command Prompt. Это была огромная статья на 20 тысяч слов. Потом вышла другая статья о том, как сделать terminal более симпатичным. Я не помню ни одной такой статьи за всю свою карьеру. Статья рассказывает не про то, как что-то настроить, а только про улучшение UX. И тут я подумал: все, мы приехали. Получается, что мы как разработчики создаем интерфейс для разработки проектов, метапроектов (дизайн-систем) для наших проектов. Получается третий уровень – мы так скоро в космос будем летать.  Андрей Кучеренко: Чем больше сейчас талантливых людей войдет в IT, тем больше вероятность, что через какое-то время они уберут те инструменты, которыми мы пользуемся сейчас. Они просто посчитают их устаревшими и придумают свои дизайн-системы и фреймворки. Эволюции не будет только в том случае, если не будет в индустрии новых людей. Но если смотреть на развитие человечества не только на примере IT, то конфликт между поколениями рождает новые продукты и технологии. Виталий Фридман: Все идет к упрощению и ускорению, удобству. Уровень современных инструментов для разработки стал просто фантастическим по сравнению с тем, что было раньше. Мы уже перестали замечать новые фичи в том же DevTools. Меня каждый день радуют небольшие усовершенствования, которые мы получили. Андрей Кучеренко: Я использовал различного рода no-code решения. Из-за растущего спроса на IT-решения и дефицита разработчиков, сейчас растут и надежды на no-code. Но вряд ли no-code решения заменят все то, что мы делаем. Удобно использовать no-code для тестирования прототипов в рамках каких-то стартапов. Это намного лучше, чем инвестировать в выбор подходов, языка, разработчиков, сервера и других параметров для идеи, которая по факту и не сложится в нормальный бизнес. Что касается крупного бизнеса, то для него я не вижу широких возможностей использования no-code решений. У компаний есть деньги для оплаты разработки и кастомизации решений под свои потребности.     Денис Радин: Очень интересно наблюдать за попытками реализации похожего на no-code подхода, но с написанием кода через обычный разговорный язык. Когда появилась нейросеть GPT-3 (Generative Pre-trained Transformer 3) люди начали пытаться писать приложения, описывая их текстом. Причем кому-то удалось даже под это получить инвестиции, в результате целый год нейросеть пытались заставить писать приложения на React. И результат этих попыток – простая демоверсия приложения, которую можно на JS собрать за несколько часов, хотя у экспериментаторов на это ушел целый год. И я так понял, что в простых кейсах упомянутый подход работает, но если нужно наложить чуть больше спецификаций, то все равно потребуется человек, который будет транслировать спецификацию из бизнес-требований в набор действий (код, no-code). Иными словами, нужен разработчик, который будет программировать приложение в большей или меньшей степени. Андрей Кучеренко: У нас нет права остановиться и ничего больше не изучать. В IT так поступить нельзя, у нас всегда выходит что-то новое, появляются новые тенденции. Нужно постоянно читать профильные информационные каналы, подписываться в социальных сетях на известных людей, пишущих о той отрасли, которая вас интересует. Нужно читать рассылки: JS Weekly, Frontend Weekly и другие. Все это дает возможность получить если не всю информацию, то зацепки, куда пойти и что почитать. В реальных «боевых»условиях ты потом вспоминаешь, что уже читал о подобной задаче, это упростит ее решение. Если говорить, что я изучал, то недавно поработал с Fast Text. Это система для классификации текстов, написанная Facebook. Ее используют во всяких спам-фильтрах, систему можно обучить отличать нормальные сообщения от спама. Я с подобными системами как разработчик еще не работал. Но если говорить про frontend, то в последнее время мое портфолио растет за счет Vue.js проектов и, как следствие, Nuxt-проектов.