Обязанности:
О нас Мы создаем и развиваем интернет-магазины, корпоративные порталы, личные кабинеты и интеграционные решения. Основной стек компании: Vue 3, Nuxt 3, TypeScript, GraphQL, REST API, 1С-Битрикс, Laravel и Go на серверной стороне. Клиентская часть у нас не живет отдельно от продукта и серверной разработки. Разработчик участвует в обсуждении задачи, понимает ограничения API, заранее продумывает структуру интерфейса, состояние, обработку ошибок и сценарии пользователя. Нам нужен человек, который умеет не только сверстать макет, но и довести функциональность до рабочего состояния в реальном проекте. Кого мы ищем Мы ищем самостоятельного frontend-разработчика, которому можно доверить задачу целиком: от уточнения требований и декомпозиции до реализации, проверки и подготовки к релизу через code review. Важно, чтобы разработчик не работал в режиме "мне не сказали, поэтому я не сделал". Если не хватает данных, нужно уметь сформулировать вопрос, предложить варианты, зафиксировать блокер и двигать задачу вперед. Если проблема на стыке клиентской и серверной части, нужно разобраться в логах, запросах, ответах API и прийти к команде с фактами, а не с общим ощущением, что "где-то что-то не работает". Что предстоит делать разрабатывать интерфейсы на Vue 3 и Nuxt 3 для интернет-магазинов, порталов, личных кабинетов и внутренних сервисов; верстать страницы и компоненты по макетам из Figma: адаптивно, кроссбраузерно, с аккуратной структурой HTML и CSS; проектировать клиентскую часть перед разработкой: структура компонентов, состояние, API-контракты, обработка ошибок, сценарии загрузки и пустых состояний; работать с GraphQL и REST API: queries, mutations, типизация данных, обработка ошибок, кеширование на стороне клиента; взаимодействовать с разработчиками серверной части на 1С-Битрикс, Laravel и Go: согласовывать контракты, проверять ответы, уточнять ограничения; реализовывать формы, фильтры, каталоги, корзины, личные кабинеты, интерактивные блоки и сложные UI-сценарии; поддерживать и развивать существующие проекты: исправлять ошибки, разбирать legacy-код, улучшать структуру без переписывания всего проекта ради переписывания; реализовывать клиентскую часть авторизации: вход, выход, защищенные страницы, хранение сессии, обновление токена, корректная обработка ошибок доступа; следить за скоростью работы интерфейса: чтобы страницы быстро открывались, изображения не тормозили загрузку, компоненты не перерисовывались без причины, а собранные скрипты не разрастались бесконтрольно; самостоятельно запускать проект локально через терминал, Docker и Docker Compose, смотреть логи контейнеров и разбираться с типовыми проблемами окружения; участвовать в code review, аргументировать технические решения и спокойно принимать обратную связь; фиксировать важные решения, блокеры и результаты проверки в задаче. Технические ожидания уверенное знание HTML5: семантика, формы, таблицы, изображения, базовая доступность, корректная структура страницы; уверенное знание CSS3 и SCSS: Flexbox, Grid, адаптив, mobile first, кроссбраузерность, состояния элементов, модульная организация стилей; уверенное знание JavaScript ES6+: асинхронность, промисы, `async/await`, работа с массивами и объектами, замыкания, область видимости, обработка ошибок; опыт работы с TypeScript: типизация props, emits, composables, API-ответов, форм и состояния приложения; опыт работы с Vue 3: Composition API, lifecycle hooks, props/emits, slots, watchers, computed, composables; опыт работы с Pinia или Vuex: структура store, actions, getters, разделение локального и глобального состояния; опыт работы с Vue Router: вложенные маршруты, параметры, guards, защищенные страницы; опыт работы с Nuxt 3: pages, layouts, plugins, middleware, `useFetch`, `useAsyncData`, понимание SSR/CSR; опыт работы с GraphQL: чтение схемы, queries, mutations, variables, fragments, Apollo Client или аналогичный клиент; опыт работы с REST API: HTTP-методы, статус-коды, CORS, заголовки, авторизация, обработка ошибок; умение работать с API-документацией: Swagger, GraphQL Playground, Postman, curl; уверенная работа с Git через терминал: ветки, commit, pull, push, merge/rebase, stash, diff, log, разрешение конфликтов; уверенная работа с bash/терминалом на пользовательском уровне: навигация по проекту, работа с файлами, права доступа, процессы, просмотр логов, запуск команд проекта; опыт работы с Docker и Docker Compose на уровне разработчика: поднять проект, остановить контейнеры, посмотреть статус, зайти внутрь контейнера, прочитать логи, понять сервисы, порты и volume в `docker-compose.yml`; опыт работы с npm/yarn/pnpm: установка зависимостей, scripts, lock-файлы, понимание `package.json`; понимание Vite: dev server, build, env-переменные, proxy, базовая настройка сборки; умение пользоваться Chrome DevTools и Vue DevTools для диагностики, а не только для просмотра `console.log`; понимание базовой безопасности клиентской части: XSS, CSRF, хранение токенов, работа с пользовательским вводом; понимание качества кода: декомпозиция, переиспользуемые компоненты, отсутствие лишнего копипаста, понятные имена, линтер и форматтер. Что важно в работе сначала разобраться в задаче, макете, данных и ограничениях, а потом писать код; не выдумывать архитектуру на ходу, если задачу нужно спроектировать заранее; задавать вопросы до того, как неверное решение ушло в разработку; проверять результат самому: верстка, адаптив, ошибки в консоли, ответы API, граничные сценарии; уметь описать проблему: что делал, что ожидал, что получил, какие запросы ушли, какие ошибки в консоли или логах; соблюдать договоренности по Git, code review, задачам и срокам; спокойно работать с правками и не воспринимать ревью как личную критику; предлагать улучшения, если видишь технический долг, риск или более простое решение. Будет плюсом опыт с Apollo Client: кеш, политики загрузки, fragments, optimistic updates; опыт с кодогенерацией типов для GraphQL; опыт написания unit-тестов на Vitest/Jest и тестов компонентов; опыт с e2e-тестами на Playwright или Cypress; опыт с картографическими сервисами: Яндекс Карты, Google Maps, 2GIS; опыт работы с шаблонами 1С-Битрикс и понимание, как frontend встраивается в БУС-проект; базовое понимание серверной разработки на Laravel, Go или PHP; опыт оптимизации производительности по Lighthouse и Core Web Vitals; опыт настройки ESLint, Prettier, Stylelint; опыт работы с UI-kit, дизайн-системой или библиотекой переиспользуемых компонентов. Что мы предлагаем официальное трудоустройство по ТК РФ в аккредитованной IT-компании; график 5/2, с 9:00 до 18:00; офис в Краснодаре с оборудованным рабочим местом и всем необходимым для разработки; проекты разной сложности: интернет-магазины, корпоративные порталы, личные кабинеты, интеграции и внутренние сервисы; работу в команде с разработчиками серверной части, DevOps, дизайнерами, менеджерами и лидами; code review, обмен опытом и возможность обсуждать технические решения до реализации; возможность проходить обучение в сильных онлайн-школах и на профильных курсах, включая Яндекс Практикум, OTUS и другие программы по frontend-разработке; возможность профессионального роста и участия в задачах, где нужно думать над решением, а не только править отдельные элементы интерфейса. Нужно понимать продукт, API, ограничения проекта и качество пользовательского сценария. Если ты умеешь брать ответственность за задачу, заранее продумывать решение и доводить его до состояния, которое можно уверенно отдавать в релиз после ревью, тебе будет чем заняться. Мы не ждем человека, который знает абсолютно все. Нам важнее самостоятельность, внимательность к деталям и умение спокойно разбираться в причинах проблемы: посмотреть запросы, ответы API, консоль, логи и после этого предложить понятное решение.Похожие вакансии