Переносом готового визуального макета от дизайнеров (обычно из Figma) в рабочий код с использованием HTML и CSS;
Программированием логики клиента;
Написанием интерактивных элементов, анимаций, валидацией форм и динамического поведения страниц с использованием JavaScript или TypeScript;
Работой с современными фреймворками;
Созданием и поддержкой масштабных приложений с помощью таких инструментов, как React, Vue.js или Angular;
Интеграцией с серверной частью (Backend);
Настройкой сетевых запросов к серверу через API (обычно REST или GraphQL) для получения, отправки и отображения актуальных данных;
Обеспечением адаптивности и кроссбраузерности;
Разработкой интерфейса таким образом, чтобы он одинаково корректно отображался и работал на смартфонах, планшетах, компьютерах и во всех популярных браузерах (Chrome, Safari, Firefox и др.). Оптимизацией производительности;
Сокращением времени загрузки страниц, оптимизация размера изображений и скриптов, а также обеспечение плавной работы анимаций без зависаний;
Тестированием и отладкой кода. Поиском и устранением ошибок в интерфейсе, написанием модульных (unit) и интеграционных тестов для проверки работоспособности своего кода. Контролем версий;
Фиксацией изменений в коде через Git, участием в код-ревью коллег и обсуждением задач.
Что мы ожидаем:
Уверенное владение HTML5 и CSS3 (включая Flexbox и Grid), понимание семантики и принципов доступности (A11Y);
Умение работать с SCSS/SASS и понимание методологии BEM (БЭМ);
Хорошее знание базового JavaScript (ES6+);
Базовые навыки работы с Git и платформой GitHub/GitLab;
Знание основ React, Vue.js;
Умение пользоваться Chrome DevTools для отладки элементов и скриптов;
Глубокое понимание жизненного цикла компонентов и хуков в React/ Vue;
Уверенное использование TypeScript;
Опыт работы с библиотеками управления данными (Redux Toolkit, MobX, Pinia или Zustand);
Понимание REST API и GraphQL, умение работать с WebSocket и обрабатывать ошибки запросов;
Понимание работы современных сборщиков, таких как Vite или Webpack;