- Зарплата
- 2 000 $ – 4 000 $
Senior / Middle Frontend Engineer (React/TypeScript + Electron)
Привлекательная вакансия для опытных инженеров: работа в технологичном стартапе с современным стеком (React 19), удаленный формат и оплата в USDT. Проект на базе Matrix дает возможность работать с интересными open-source технологиями.
Сформировано ИИ автоматически. Не является проверкой вакансии или работодателя.
Улучшите резюме под эту вакансию
Возьмём требования и создадим новую версию резюме с акцентом на нужный опыт
Сложность вакансии
Высокая сложность обусловлена необходимостью работы с крупным чужим легаси-кодом (Element Web) и специфическим стеком (Matrix SDK, Electron, RxJS). Требуется не только знание React, но и глубокое понимание архитектуры мессенджеров и процессов форкинга.
Сформировано ИИ автоматически. Не является проверкой вакансии или работодателя.
Анализ зарплаты
Предлагаемая вилка 2000 - 4000 USDT (примерно 185k - 370k RUB) соответствует рыночному уровню для Middle+/Senior Frontend разработчиков в РФ и СНГ, однако для Senior уровня на международном рынке верхняя граница может быть выше.
Сформировано ИИ автоматически. Не является проверкой вакансии или работодателя.
Контакты для отклика
Откройте контакты, указанные в вакансии.
Описание вакансии
#вакансия #frontend #react #typescript #electron #удаленнаяработа
Вакансия: Senior / Middle Frontend Engineer (React/TypeScript + Electron)
Компания: Calmis (стартап, корпоративный мессенджер на базе Matrix)
Уровень зп: 2000 - 4000 USDT
Локация: весь мир
Формат работы: удалённо, полная занятость, гибкий график с ориентацией на МСК
Опыт: от 3 лет (Middle+ / Senior)
Мы — молодой технологический стартап, создаём безопасный корпоративный мессенджер на базе протокола Matrix, развивая и адаптируя open-source клиент Element Web/Desktop. Ищем сильного фронтендера, готового погружаться в чужой код и строить на его основе крутой продукт.
Обязанности:
Разработка и поддержка форка Element Desktop (main/renderer, IPC, electron-builder)
Создание SPA-страниц и виджетов (React/TS, интеграция с Matrix SDK)
Проектирование state-менеджмента без Redux (синглтон-сторы, flux-диспетчер)
Написание unit-тестов (Jest, Vitest, RTL)
Оптимизация производительности: профилирование React, виртуализация, борьба с ререндерами
Интеграция с REST API / JS SDK (авторизация, обработка ошибок)
Работа в крупном легаси и форке: точечные изменения, патчи зависимостей, merge с апстримом
Участие в архитектурных решениях и код-ревью
Требования:
React 19 и TypeScript в strict-режиме (от 3 лет): хуки, useSyncExternalStore, дженерики, discriminated unions
Готовность работать с легаси class-компонентами и flux-диспетчером
Опыт в крупном чужом легаси и форках, уверенный git (rebase, конфликтные merge, bisect)
Понимание SPA-архитектуры и принципов разделения ответственности
Опыт интеграции с REST API / JS SDK
Вёрстка: HTML/CSS, CSS Modules, PostCSS, дизайн-токены, мультитемность. Tailwind не используем
Unit-тесты (Jest, Vitest, Testing Library)
Инженерная культура: линт, i18n, a11y, код-ревью
Английский на уровне чтения документации (B1+)
Будет плюсом:
Production-опыт с Electron (IPC, main/renderer, preload, сборка)
MVVM, Feature-Sliced Design, flux-сторы
RxJS на уровне архитектуры (switchMap, combineLatest, shareReplay, горячие/холодные потоки)
WebRTC и LiveKit (ICE/STUN/TURN, SDP, SFU, simulcast)
Сборка и тулинг: Vite, Webpack, pnpm/Yarn Berry, патчи зависимостей, Nx
E2E: Playwright, testcontainers, Storybook
Знание Matrix или опыт с API других мессенджеров
Навыки форкинга open-source проектов
Потенциал к техлидству
Условия:
Возможность влиять на архитектуру продукта
Дружная команда и интересные технические вызовы
Процесс отбора:
Скрининг резюме
Краткое кросс-интервью в ТГ
Интервью с командой
Оффер
📩 Отклик в Telegram: Откликнуться (присылай сразу резюме)
Создайте идеальное резюме с помощью ИИ-агента

Навыки
- React
- TypeScript
- Electron
- Matrix SDK
- Jest
- Vitest
- React Testing Library
- RxJS
- WebRTC
- Vite
- Webpack
- Playwright
- Storybook
- Git
- CSS Modules
- PostCSS
Возможные вопросы на собеседовании
Проверка опыта работы с Electron и понимания безопасности/архитектуры.
Расскажите о вашем опыте работы с Electron. Как вы организуете взаимодействие между Main и Renderer процессами, и какие меры безопасности (contextIsolation, preload) используете?
Важно понять, как кандидат справляется с синхронизацией форка с основным репозиторием.
Опишите ваш процесс работы с upstream-репозиторием при поддержке форка. Как вы решаете сложные конфликты при merge и используете ли git bisect для поиска багов?
В вакансии указано отсутствие Redux и использование синглтон-сторов.
Как бы вы спроектировали систему управления состоянием для мессенджера без использования Redux, учитывая необходимость реактивного обновления UI при получении событий через Matrix SDK?
Проверка навыков оптимизации в React.
Какие методы профилирования React-приложений вы используете для поиска лишних ререндеров и как решаете проблемы производительности в списках с большим количеством сообщений?
Оценка владения RxJS, который указан как плюс.
В каких сценариях в мессенджере целесообразно использовать RxJS? Можете ли вы объяснить разницу между горячими и холодными потоками на конкретном примере?
Сформировано ИИ автоматически. Не является проверкой вакансии или работодателя.

