Развенчание векового мифа

Время от времени я натыкаюсь на статью, которая увековечивает один из старейших мифов в нашей отрасли:

«Чтобы оставаться эффективным/актуальным/продуктивным разработчиком интерфейса, вам нужно изучать новую структуру каждую неделю/месяц/квартал».

Я даже не буду вдаваться в подробности, нужны ли вам фреймворки для начала.

Я не знаю, кто придумал этот миф, но, вероятно, это не тот, у кого большой опыт во фронтенд-разработке. Я верил в это, когда был еще молод и неопытен. Теперь я знаю, что это просто нереально.

Во-первых, нельзя просто «выучить фреймворк» за неделю/месяц и двигаться дальше. Это не то, как вы «изучаете фреймворк». Изучение фреймворка требует времени. Чтобы быть действительно эффективным с одним, вы, вероятно, потратите не менее полугода. Я бы сказал, что чаще вам потребуется еще больше времени, по крайней мере, год. И это при условии, что вы работаете не над простыми игрушечными проектами, а над реальными приложениями. Желательно более одного и более типа приложения. Не поймите меня неправильно. Вы можете изучить достаточно фреймворк для создания приложений в течение месяца или двух, но это не делает вас хорошим в использовании фреймворка, просто хорошо достаточно. Если вы просто проводите обучающие программы каждую неделю, вы просто становитесь экспертом в проведении обучающих программ, а это не имеет значения в отрасли.

Во-вторых, люди, которые платят за вашу работу, обычно не так открыты для инноваций, как плодовитые создатели фреймворков. Они предпочитают придерживаться популярных. И их опасения обоснованы. Если вы уйдете, кто вас заменит? Найти таланты непросто, и это практически невозможно, если вы используете какой-то малоизвестный фреймворк, о котором мало кто знает (например, S), даже если этот фреймворк действительно хорош (например, S). Поэтому большинство вакансий связаны с Angular, React и немного с Vue.js. И так будет до тех пор, пока громкое принятие/изобретение другого или какого-то фреймворка не достигнет критической массы. Возможно, Svelte присоединится к клубу в ближайшие годы.

В-третьих, сочетание первых двух пунктов. Когда кто-то присоединяется к новому проекту в качестве человека, ответственного за технический стек или ответственного за сам проект, есть определенная степень страха перед неудачей. (Если у вас этого нет, молодцы!) Из-за этого большинство людей выбрали бы то, с чем они знакомы, чтобы максимизировать шансы на успех (во всяком случае, в их сознании). И это, как правило, умный ход, если кто-то хочет быстро оторваться от земли и успокоить менеджеров, снять с них некоторое давление.

Довольно редко компания одобряет выбор нового технологического стека, с которым никто в организации не знаком, и покидает команду на год, чтобы поиграть с ним и стать более эффективным. Я никогда не видел, чтобы это произошло. Это может произойти позже, когда все будут чувствовать себя комфортно друг с другом, но к тому времени это вопрос о том, возможно ли переписать ваши существующие проекты и т. д.

Несмотря на то, что в экосистему постоянно добавляются новые фреймворки, они не очень часто «делают это». Подавляющее большинство фреймворков остаются неизвестными и используются лишь в нескольких местах. Кроме того, подавляющее большинство новых фреймворков повторяют существующие, а не изобретают новые парадигмы.

Итак, что делать нужно, чтобы оставаться эффективным/продуктивным/актуальным разработчиком интерфейса?

Ну, это зависит от вашей ситуации.

Если вы ищете работу, вы будете следить за тем, чего хочет рынок. Обычно это делается для того, чтобы не отставать от тенденций в популярных фреймворках. Проверьте наличие новых версий Angular, React и/или Vue и посмотрите, что изменилось. Проверьте, как это связано с тем, как вы сейчас работаете, и является ли это улучшением или еще одним решением проблемы, которой изначально не должно было существовать. Вам не нужно использовать эти функции, но вы, вероятно, захотите узнать о них, потому что вас могут спросить о них во время интервью.

Если вы хотите отточить свои навыки, вы можете взглянуть на новые фреймворки, которые предлагают что-то новое, будь то более высокая производительность или новая парадигма, и посмотрите, как они это делают. Изучение того, что происходит под капотом в различных фреймворках, будет иметь большое значение. Черт, вы можете сами создать фреймворк, почему бы и нет. Это отличное учебное упражнение.

И не забывайте о JavaScript, HTML и CSS. Браузеры внедряют новые функции с нарастающей скоростью. И не переусердствуйте. Даже если в последних версиях браузеров реализовано несколько функций, это не означает автоматически, что они готовы к использованию в производственной среде. Вы захотите проверить caniuse.com и убедиться, что эти функции достаточно развиты.

Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter и LinkedIn. Присоединяйтесь к нашему сообществу Discord.