Карамышевская набережная 44
В связи с масштабированием сети, ИТ-департамент 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) Возможная дата выхода на работу
Спасибо за уделенное время и ждем Вас на собеседовании!