Странно, что у нас заблуждение, что фронтенд — «лайт ИТ».
На самом деле это очень сложная область.
Очень много сложных задач, которые сейчас боятся решать в других областях (например, бэкенд).
1. На самом деле фронтенд — это распределённая система клиент-сервер.
Между узлами очень нестабильное соединение с большим latency.
Не всегда есть гарантия, что версия клиента соответствует версии бэкенда.
В современной теории распределённых систем — это очень сложный ад.
2. Среда исполнения полностью непредсказуемая. Кроме кучи браузеров ещё и поведение любого браузера может быть изменено расширениями или необычным железом.
Сравните это с предсказуемым докер-образом в бэкенде.
3. В бэкенде результат исполнения часто идёт по строгому протоколу предсказуемому клиенту.
Во фронтенде результат исполнения может использовать обычный пользователь, незрячий через чтение экрана, бот поисковика, круглый экран часов.
Всё это надо продумать и учесть.
4. Во фронтенде приложение работает до недели. Всё это время надо гарантировать стабильный переход между состояниями и отсутствие утечки памяти.
Когда я писал на Ruby on Rails такая задача бы пугала, так как у нас поток рендерящий HTML жил пару секунд.
Остальные области ИТ тоже сложны и интересны. Я не хочу сказать, что только во фронтенде сложные задачи.
Но задачи во фронтенде так же находятся на границе современной computer science и опыта архитектуры.
Мне кажется, что во фронтенд проще войти из-за культуры и среды, которая не пугает людей.
Так-то я знаю многих, кто не смог во фронтенде и с радостью ушёл в бэкенд, так как там им было проще.
Жена подарила новый браслет-чётки для моего ключа YubiKey — цвета символизируют планеты Солнечной системы.
А на фоне NFC-приёмник, чтобы не разнашивать USB-разъём. Я часто пользуюсь ключом для GPG-подписи гит-тегов и чтения программой одноразовых aTOTP-кодов.
Мне любые браслеты не удобны. Эти чётки — аналог брелка. Делают ключ больше, чтобы не потерять, например, в ранце.
Заодно во время раздумий можно теребить как чётки.
1. Полицеские-садисты 2. Полицейские, которые бьют за любое неповиновение, чтобы люди боялись и подчинялись 3. Полицейские которые не хотят никого бить, но своих не сдают 4. Те, кто реально пытаются что-то изменить
Одноразовые пароли. Когда у вас есть программа или устройство, которое генерирует разные коды. Перехватив код нельзя понять какие коды будут идти дальше.
Такая штука защищает не только от перехвата, но и от плохих привычек пользователей с паролями
2FA (двухфакторная) — вы подтверждаете себя на сайте двумя вещами из трёх: знание (пароль), обладание предметом (аппаратным ключом с одноразовыми паролями), биометрия.
Каждый фактор требует разной атаки (цифровой взлом, кража) и сложно найти специалиста сразу в обоих областях.