Зарплата От 200 000 ₽
Требуемые навыки Фронтенд, Middle+ / Senior · JavaScript · Vue.js · Tailwind CSS · Git · Vite · Typescript
Тип занятости Полный рабочий день · Можно удаленно
Мы ищем сильного middle+/senior frontend-инженера, который сможет заняться поддержкой текущих решений, а также разработкой новых шаблонных приложений, библиотек (в том числе опенсорсных) и подготовкой базовой документации для них.Весь текущий фронтенд написан на Vue 2 / 3, поэтому нам очень важно, чтобы у вас был большой опыт работы с Vue и, желательно, с Nuxt 3 или Nuxt 4.Многие вещи будут переписываться с нуля, поэтому вам предстоит работать над небольшими архитектурными решениями (в том числе в вопросах взаимодействия с API), которые будут использоваться в будущих приложениях.А ещё у нас везде Tailwind CSS, поэтому его тоже нужно знать и иметь опыт работы.Чем предстоит заниматьсяПрямо сейчас мы занимаемся модернизацией нашей backend-for-frontend платформы и готовимся обновлять основной шаблон, который будет использоваться на сайтах клиентов. Вам предстоит разработать базовое Nuxt 4 приложение, которое будет использоваться для всех будущих шаблонов (опять же, используя Tailwind CSS).
Нужно быть готовым, что некоторые классические практики в таких приложениях не сработают. Например, сложно будет что-то захардкодить для конкретного клиента. Вместо этого нужно вводить настройку, которая затем будет изменяться в админке. И таких настроек будет очень много – начиная от основных цветов, заканчивая разной логикой работы одного и того же компонента (особенно это касается процесса оформления заказов).
На стороне бэк-офиса у владельцев магазинов есть большое количество настроек, которые влияют как на работу серверной части, так и на фронтенд (сайты и моб. приложения). Все эти настройки нужно учитывать при разработке, а при появлении новых – добавлять их поддержку во все актуальные шаблоны. Все изменения для клиентских приложений документируются, поэтому работать вслепую не придётся.
Ещё у нас есть TypeScript SDK, который нужно поддерживать и публиковать новые версии в NPM по мере развития API. Кроме этого мы хотим сделать небольшой опенсорсный шаблон (и, вероятно, библиотеки для него), который смогут использовать сторонние разработчики. В целом, опенсорс-направление – одна из вещей, которые мы хотим улучшить и активно развивать.
Кроме этого у нас есть мини-приложения, которое отвечают за оформление заказов и аутентификацию покупателей. Оба приложения нужны для того, чтобы не дублировать эту логику в каждом новом шаблоне.
Все сайты будут работать полностью по API. У нас есть документация в виде гайдов для разработчиков (
https://developer.zenky.io) и OpenAPI-спецификаций (
https://openapi.zenky.io). Все API, с которыми вам придётся работать, поддерживают семантическое версионирование и полную обратную совместимость в минорных и патч-версиях.
ТребованияОпыт коммерческой frontend-разработки от 5 лет. Отличное знание JavaScript, опыт работы с TypeScript. Опыт разработки приложений, которые работают с данными полностью по API.
Уверенная семантическая вёрстка, базовое понимание и применение accessibility (ARIA). Анимации, трансформации, переходы. Базовые понимания дизайна очень приветствуются, потому что у каких-то вещей (компоненты или страницы) может не быть отрисованного дизайна и нужно будет собирать их из того, что есть сейчас.
Будет плюсом, если у вас есть опыт оптимизации производительности клиентских приложений (web vitals, Lighthouse).
VueОпыт работы с Vue 3 + Composition API от 3 лет, отличное знание фреймворка (ожидаем, что вещи вроде provide/inject, defineModel, defineOptions, useTemplateRef, shallowRef, хуки жизненного цикла и т.п. – для вас базовые вещи), работа с типичным стеком (Vite, Router, Pinia, vueuse), умение писать свои composables (стараемся держать SFC тонкими). Базовые понимания SSR (хотя бы знать где можно, а где нельзя использовать браузерные API). Опыт с Nuxt не обязателен, но будет полезным.
Особое внимание уделим кандидатам, у которых есть опыт публикации библиотек в NPM (как связанных с Vue, так и нет).
Tailwind CSSВерстаться всё будет с Tailwind CSS в максимально дефолтном конфиге. Нужно знать как работают его брейкпоинты и варианты (в том числе новые/упрощённые из v4). Желателен опыт работы с тёмными темами. @apply будет использоваться только в самых крайних случаях (обычно только для кастомизации сторонних решений), поэтому нужно уметь выявлять участки, которые нужно оформить в компоненты (в целом, это относится и к Vue).
GithubМы очень не хотим тратить и ваше, и наше время на тестовые задания, поэтому в первую очередь будем смотреть в том числе на ваш профиль Github. Больших публичных проектов, разумеется, не ожидаем, достаточно любой более-менее актуальной активности. Если у вас есть открытые репозитории не на вашем профиле, но куда вы активно контрибьютили (с вашего профиля), оставляйте ссылки в сообщениях или в письме.
Работа с LLM-агентамиМы не против использования агентов в разработке, но важно, чтобы вы сами понимали выдаваемый код, а потом могли объяснить его на ревью. Если планируете вайбкодить по максимуму, то мы не сработаемся.
Условия работы- Полностью удалённая работа 5/2 (10:00–19:00 МСК, либо 10:00-19:00 МСК+5);
- Оформление по ТК РФ / ИП;
- Испытательный срок 3 месяца (зарплата не изменяется);
- Пересмотр компенсации 1 раз в год;
- Работа по 2-недельным спринтам, code review;
- Участие в архитектурных решениях и развитии open-source;
- Компенсация обучения и профильных конференций.