Кто нам нужен:
Ведущий фронтендер. Не “верстальщик с компонентами”, а человек, который берёт на себя ответственность за фронт: архитектура, UI/UX, выбор библиотек, code review, темп разработки.
Ищем сильного разработчика с дизайнерским чутьём. Если для вас “интуитивно понятный интерфейс” – пустые слова, дальше можно не читать.
B2B SaaS-платформа бронирования услуг. Несколько отдельных SPA в одной экосистеме:
- Кабинет бизнеса – основное рабочее место сотрудников: расписание, заказы, клиенты, услуги, филиалы, отчёты.
- Кабинет клиента – бронирование, история, профиль, оплаты.
- Админка – управление платформой, модерация, аналитика.
- Каталог – публичный поиск/витрина услуг и компаний.
Backend готов на 95%, фронт – примерно на 50%. Нужно довести до релиза, выкатить, дальше развивать и поддерживать.
Обязанности:
- Довести фронтенд до релизной версии: завершить недостающие экраны, причесать готовые.
- Спроектировать и навести порядок в UI-системе: общий layout, темизация, типография, набор переиспользуемых компонентов.
- Принимать решения по UX: где формы, где модалки, где wizards, где inline-редактирование. Защищать решения перед заказчиком.
- Работать в плотной связке с backend: предлагать корректировки API там, где текущая форма неудобна для UI.
- Развивать фронт после релиза: новые модули, переиспользование между кабинетами, оптимизация.
- Code review младших разработчиков.
-
1. Обязательно:
- Vue 3 + Composition API – 3+ года на проде. Глубоко: реактивность, watch/watchEffect, composables, provide/inject, TS-типизация props и emit.
- TypeScript – уверенно, не “any повсюду”. Generics, дженерики в компонентах, типы для API.
- Pinia или Vuex 4 – осознанная архитектура состояния, разделение слоёв.
- Vue Router – guards, lazy routes, вложенные layouts.
- CSS / вёрстка на современном уровне – Flexbox, Grid, контейнерные запросы, адаптив, темизация через CSS-переменные. Без этого никуда.
- Tailwind – реальный опыт, не “пробовал на pet-проекте”.
- UI-библиотеки – опыт с Vuetify и/или другими большими дизайн-системами (PrimeVue, Quasar, Element+, Naive UI). Понимание плюсов и минусов готовых китов.
- Сборщики: Vite. Понимание, как работает HMR, code splitting, tree shaking.
- Работа с REST API – axios/fetch, обработка ошибок, отмена запросов, токены, refresh-логика.
- Git – ветки, мержи, ребейзы, чистая история коммитов.
- Английский – технический, на чтение.
-
Дизайнерская часть (обязательно)
Вакансия предполагает, что вы и есть дизайнер фронта – отдельного UI/UX-дизайнера в команде пока нет.
- Чувство композиции, отступов, иерархии.
- Понимание принципов design systems (atomic design, токены, состояния).
- Умение самостоятельно придумать экран по словесному ТЗ – без референса от дизайнера.
- Опыт работы с Figma: уметь хотя бы прототипировать, а лучше – доводить до полноценного макета.
- Понимание UX-паттернов: loading states, empty states, error states, оптимистичные обновления, прогрессивное раскрытие.
- Внимание к мелочам: fokus rings, hover states, keyboard navigation, доступность (a11y).
-
2. Желательно:
- Vuetify 3 на больших проектах.
- shadcn-vue или готовность освоить (мы можем перейти на это).
- WebSocket / Socket.io на клиенте: подписки, переподключения, синхронизация состояния.
- i18n (vue-i18n) – мультиязычные интерфейсы.
- Календари / расписания – работа с временными интервалами, конфликтами, drag-and-drop.
- Карты – Leaflet, Mapbox, Yandex Maps; кластеризация, тяжёлые наборы маркеров.
- Формы: VeeValidate, Yup, Zod на клиенте; синхронизация валидации с сервером.
- Тестирование: Vitest, Playwright, Cypress.
- Performance: профилирование re-renders, lazy loading, виртуализация списков.
-
3. Будет плюсом:
- Опыт запуска проекта с нуля до релиза – с принятием решений по стеку и архитектуре.
- Опыт с React или Svelte – кругозор полезен, ведущий должен понимать альтернативы.
- Микрофронтенды или хотя бы понимание, когда их применять.
- SSR / Nuxt – если потребуется для SEO-витрины (каталог).
- Storybook или аналог – документация компонентов.
- Мобильная адаптация SaaS-интерфейсов: какие компоненты переделывать, какие просто пересобирать в стек.
- Опыт с пользователями вживую – собирали обратную связь, наблюдали, как реальные люди тыкают в ваш интерфейс.
Текущий стек:
Vue 3, TypeScript, Vuetify, Tailwind, Vite. Стек может расширяться (shadcn-vue), но фундамент Vue + TS остаётся.
Что мы оцениваем:
Дизайнерский вкус. Покажите свои проекты – мы будем смотреть на интерфейсы, а не только на код.
Способность проектировать, а не только реализовывать готовое ТЗ.
Глубокое понимание Vue: реактивность, lifecycle, performance.
Аккуратность с TypeScript – не “любой код, лишь бы скомпилировался”.
Дисциплина в коммитах: маленькие осмысленные коммиты, чистая история.
Самостоятельность – не “ждёт инструкций”, а “понял задачу, предложил решение, сделал”.
Умение спорить и отстаивать решения – но и слышать аргументы против.
- Ведущая роль: больше ответственности, больше свободы в принятии решений.
- Готовность плотно общаться с заказчиком и backend-разработчиками.
- Ссылки на интерфейсы, которые вы делали (продакшн, не туториалы). Если под NDA – скриншоты или Figma-прототипы.
- Ссылки на код (GitHub/GitLab), особенно интересны Vue-проекты, где видна архитектура.
- Один кейс: интерфейс, которым вы гордитесь, и почему.
Условия:
-
Оформление по ТК РФ, полный соц. пакет.
-
Испытательный срок до трех месяцев.
-
Пятидневная рабочая неделя с 9-00 до 18-00 (оговаривается при собеседовании)
-
Дружный молодой коллектив.
-
Комфортный офис.