Должность: Senior Frontend Engineer
Компания: Xsolla
Местоположение: Россия / удаленно
Обязанности
- Разработка и поддержка высококачественных frontend-приложений и функций
- Написание чистого, поддерживаемого, хорошо протестированного кода с полным покрытием unit- и E2E-тестами
- Создание семантических, адаптивных, кроссбраузерных и кроссплатформенных макетов в соответствии с веб-стандартами и лучшими практиками доступности
- Проектирование и внедрение переиспользуемых компонентных систем и вклад в общую UI-библиотеку
- Оптимизация производительности приложений (рендеринг, размер бандла, Core Web Vitals)
- Сотрудничество с дизайнерами (Figma) для реализации pixel-perfect, консистентных решений
- Интеграция с backend-сервисами и внешними API; согласование API-контрактов с backend-инженерами
- Настройка и улучшение инструментов сборки, CI/CD-пайплайнов и Docker-окружений
- Участие в code review, технических дискуссиях и принятии архитектурных решений
- Менторство Middle и Junior инженеров и вклад в повышение качества продукта
О КОМАНДЕ
Вы присоединитесь к продуктовой инженерной команде frontend, backend, QA и DevOps инженеров, тесно работающей с Product и Design. Команда владеет своими фичами end-to-end: от реализации и тестирования до релиза и мониторинга.
Типичный Tech Stack:
- Языки: JavaScript (ES6+), TypeScript
- Фреймворки: React, Vue, Next.js (SSR)
- Управление состоянием: RTK, MobX, Zustand, Pinia
- Инструменты сборки: Vite, Webpack, SWC
- Стилизация: SCSS, CSS Modules, CSS-in-JS
- Инструменты качества: ESLint, StyleLint, Prettier, Husky
- Тестирование: Unit и E2E testing frameworks
- Инфраструктура: Docker, GitLab CI/CD
Приветствуется
Обязательно:
Опыт работы с Core JavaScript/TypeScript:
- 5+ лет коммерческой frontend-разработки
- Продвинутое владение JavaScript (ES6+), включая асинхронное программирование (async/await, Promises), прототипное ООП, классы и основы управления памятью
- Глубокое знание TypeScript: generics, utility types, custom type declarations и расширение типов библиотек
Навыки Frontend-инжиниринга:
- Продвинутый опыт работы с семантическими, адаптивными, кроссбраузерными и кроссплатформенными макетами; понимание веб-стандартов и доступности
- Сильные навыки работы с CSS, включая SASS/SCSS и CSS-in-JS решения
- Опыт работы с современными фреймворками (React, Vue или аналогичными): принципы реактивности, управление состоянием, оптимизация компонентов и контроль рендеринга
- Опыт работы с различными state managers
- Опыт работы с SSR/изоморфными приложениями
- Опыт создания компонентных систем, включая подход compound components
- Понимание структур данных, сложности алгоритмов и распространенных паттернов проектирования
- Знание базовых техник кеширования (например, LRU)
- Умение декомпозировать задачи и отделять бизнес-логику от кода фреймворка/библиотеки
Инструменты и практики:
- Опыт настройки и оптимизации инструментов сборки (Vite, Webpack)
- Опыт работы с инструментами качества кода (ESLint, StyleLint, Prettier, Biome)
- Опыт написания unit- и E2E-тестов
- Понимание основ REST API и опыт интеграции с внешними сервисами
- Опыт работы с Docker (настройка и оптимизация контейнеров)
- Уверенное владение Git (GitLab)
- Уверенное использование Figma для реализации дизайна
- Хороший письменный и устный английский язык
Предпочтительно:
- Опыт работы с гибридными приложениями (WebView, React Native)
- Опыт работы с Web3 frontend-разработкой: интеграция кошельков (встроенные и браузерные), стандарты кошельков и подписи (EIP-1193, EIP-6963, EIP-712), ethers.js, viem, wagmi
- Знание Core Web Vitals и принципов SEO
- Опыт работы с основами веб-безопасности (XSS, CSRF, безопасная обработка пользовательских данных)
- Опыт профилирования и мониторинга производительности frontend
- Опыт создания и поддержки библиотек дизайн-систем
- Опыт руководства техническими инициативами или менторства инженеров
- Практический, актуальный опыт работы с современными AI-инструментами (например, Claude, Copilot, Cursor) для генерации кода, ревью и ускорения повседневной инженерной работы
ИДЕАЛЬНЫЙ КАНДИДАТ
- Стремится изучать новые технологии и подходы
- Вовлечен в бизнес-процессы и продуктовые цели
- Внимателен к деталям и ответственно подходит к работе
- Активно участвует в обсуждениях для улучшения качества продукта
- Мотивирован создавать продукты, которые меняют жизнь пользователей к лучшему