Middle Frontend Разработчик

Дата размещения вакансии: 10.10.2025
Работодатель: Сеть фитнес-клубов Spirit
Уровень зарплаты:
з/п не указана
Город:
Москва
Карамышевская набережная 44
Требуемый опыт работы:
От 3 до 6 лет

В связи с масштабированием сети, ИТ-департамент Spirit. расширяет команду и приглашает к сотрудничеству Middle Frontend Разработчика

Чем предстоит заниматься:

  • Реализовывать UI-функционал в SPA на Angular по требованиям продуктовой/дизайнерской команды;
  • Писать чистый, типизированный TypeScript-код и поддерживать компонентную архитектуру;
  • Интегрировать фронтенд с API (REST) — авторизация, обработка ошибок, retry, кеширование;
  • Работать с RxJS — строить устойчивые асинхронные потоки данных и корректно управлять подписками;
  • Писать unit- и интеграционные тесты (jest/Karma), участвовать в e2e-тестировании (Cypress);
  • Оптимизировать производительность: lazy loading, code-splitting, оптимизация рендеринга, минимизация бандла;
  • Поддерживать UI/UX-качество: адаптивность, доступность (a11y), кроссбраузерность;
  • Участвовать в ревью кода и вносить правки по качеству: линтеры, форматтеры, pre-commit hooks;
  • Работать в командных процессах: Git workflow, таск-трекер (Битрикс24), участие в планировании;
  • Поддерживать документацию компонентов и публичные API (README, База знаний);
  • Взаимодействовать с бэкендом: обсуждать контракты API, миграции, версии контрактов.

Что необходимо для успеха?

  • TypeScript - strong typing и современный синтаксис;

Уверенное владение типами, generics, utility types, mapped types, strict mode, декларации типов, понимание разницы между any, unknown, never.

  • Angular Core (Components, Modules, DI, Routing);

Глубокое понимание lifecycle компонентов, dependency injection, модульной организации приложения, lazy loading маршрутов, guards/resolvers.

  • RxJS - реактивное программирование;

Умение работать с Observables, Subjects, операторами (map, switchMap, mergeMap, concatMap, debounceTime), управление подписками, error handling, backpressure.

  • State management (локальный + глобальный);

Умение управлять состоянием компонентов и приложения; практический опыт с NgRx /Akita / Signals / простыми сервисами. Понимание паттерна single source of truth.

  • HTML/CSS, Tailwind, адаптивная верстка;

Семантическая верстка, владение Flexbox/Grid, responsive подход, практика использования Tailwind или BEM. Понимание accessibility (aria, tab order).

  • Тестирование (unit / integration / e2e);

Написание unit-тестов (jest / Karma) для компонентов и сервисов, integration tests для взаимодействий, e2e (Cypress) для критичных пользовательских сценариев. Умение писать тестируемую архитектуру.

  • Интеграция с API (REST), error & loading handling;

Корректная работа с HTTPClient, interceptors, retry logic, cancellation, optimistic updates, работа с пагинацией и курсами ошибок.

  • Performance & bundle optimization;

Техники оптимизации (lazy modules, dynamic imports, preloading strategies, tree-shaking), анализ бандла (source map explorer), image optimizations, critical CSS.

  • Accessibility (a11y) и кроссбраузерность;

Понимание ARIA, keyboard navigation.

  • Утилиты разработки (Angular CLI, NX, Webpack/Vite, ESLint, Prettier);

Умение настраивать сборку, линтеры, pre-commit hooks, storybook для компонентов.

  • Git, code review, процессы командной разработки;

Опыт работы с feature-ветками, PR review, решением конфликтов, понятными коммитами, использованием CI для проверки PR.

  • Основы веба (HTTP, браузерные механизмы, CORS, security);

Понимание request lifecycle, cookies vs storage, CORS, CSP, CSRF, secure headers.

Что мы предлагаем?

  • Работу в компании федерального масштаба;
  • Доход выше рынка по итогам собеседования:
  • Оформление и льготы по ТК РФ, бессрочный трудовой договор;
  • Фитнес для сотрудника и его друга +1;
  • ДМС после исп. срока;
  • Корпоративный транспорт от метро;
  • Возможность карьерного развития по итогам работы.

Мы ценим внимательность, поэтому в сопроводительном письме просим указать:

1) Зарплатные ожидания на период испытательного срока и после

2) Ваш релевантный опыт в годах

3) Возможная дата выхода на работу

Спасибо за уделенное время и ждем Вас на собеседовании!