О нас
Мы создаем и развиваем интернет-магазины, корпоративные порталы, личные кабинеты и интеграционные решения. Основной стек компании: 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, консоль, логи и после этого предложить понятное решение.