Описание вакансии
О компании
Мы развиваем dotspace — платформу для совместной работы в реальном времени. В основе продукта — интерактивный графический холст с возможностью рисовать, редактировать схемы, управлять документами и обмениваться идеями.
Наши пользователи — команды, которые создают визуальные карты знаний, архитектурные схемы и рабочие пространства.
У нас много сложных технических вызовов:
— оптимизация работы с Canvas/WebGL для больших диаграмм и тысяч элементов;
— организация реального времени (синхронизация нескольких пользователей, WebSocket, CRDT/Yjs);
— балансировка между быстрыми улучшениями и стратегическим развитием архитектуры (монолит → модульный монолит/микросервисы).
Мы ищем технического лидера, который возьмет на себя архитектурное видение фронтенда и будет драйвить развитие платформы вместе с командой.
Что предстоит делать
1. Архитектура и лидерство
— Определять техническое направление развития фронтенда: React, Canvas/WebGL, real-time коммуникации.
— Формировать стандарты кода, подходы к тестированию, CI/CD, документации.
— Участвовать в стратегических решениях по backend-архитектуре и API (REST/WebSocket, кэширование, очереди).
— Вести технический roadmap: от быстрых фиксов до долгосрочного разделения системы на сервисы.
— Быть ментором для команды: помогать, обучать, проводить код-ревью, развивать культуру качества.
2. Фронтенд и Canvas
— Развивать графический холст: трансформации объектов, работа с линиями и кривыми, снаппинг, undo/redo.
— Поддерживать производительность при работе с большими сценами (мемоизация, батчинг, виртуализация).
— Решать задачи математики/геометрии (расчёт трансформов, работа с координатными системами).
— Использовать Canvas/WebGL-фреймворки (Konva, PixiJS) или нативный Canvas2D в зависимости от задач.
— Работать с UI: состояние в React, контекст, Suspense, оптимизация рендера.
3. Backend и API (в связке с командой)
— Проектировать REST- и WebSocket-эндпоинты, следить за консистентностью контрактов.
— Выявлять узкие места: N+1 запросы, избыточные ответы, отсутствие кеширования.
— Внедрять механизмы оптимизации (Redis, батчинг, правильные индексы, стратегическое кеширование).
— Давать рекомендации по эволюции инфраструктуры (Postgres, ORM, брокеры сообщений).
4. Безопасность и надежность
— Учитывать OWASP Top 10 на клиенте и сервере.
— Настраивать заголовки безопасности (CSP, X-Frame-Options, Strict-Transport-Security).
— Правильно работать с токенами (JWT refresh flow, httpOnly cookies).
— Следить за безопасностью WebSocket-подключений.
Наш стек
— Frontend: TypeScript, React, Zustand/Recoil (управление состоянием), Canvas2D/Konva/PixiJS, Vite, Tailwind, Jest/Vitest, Playwright.
— Backend: Node.js (Nest.js/Express), PostgreSQL (Sequelize/Prisma), Redis, WebSocket.
— Инфраструктура: Docker, CI/CD (GitHub Actions/GitLab CI), Nginx, облака.
— Инструменты: ESLint/Prettier, Storybook, Sentry, OpenTelemetry.
Требования
Обязательные:
— 5+ лет опыта в JavaScript/TypeScript.
— Глубокие знания React (hooks, context, Suspense, оптимизация рендера).
— Опыт работы с Canvas/WebGL, решение задач трансформации и геометрии.
— Умение профилировать производительность, устранять лаги, оптимизировать рендер.
— Понимание HTTP, REST, WebSocket, кеширования (ETag, Cache-Control).
— Опыт работы с Node.js и PostgreSQL на уровне проектирования API и оптимизации запросов.
— Практика написания тестов (юнит/интеграция/e2e).
— Опыт менторинга или технического лидерства.
Будет плюсом:
— Опыт с CRDT (Yjs, Automerge) или другими технологиями синхронизации в реальном времени.
— Опыт оптимизации рендеринга больших списков и сцен (виртуализация, батчинг).
— Понимание модульного монолита и подходов к миграции в микросервисы.
— Опыт настройки безопасности (CSP, CSRF, XSS-защита).
— Знание систем наблюдаемости (Sentry, OpenTelemetry, Prometheus).
Мы предлагаем
— Участие в создании сложного продукта, где много нетривиальной инженерии.
— Возможность влиять на техническую архитектуру и процессы.
— Команду, которая ценит качественный код и честную коммуникацию.
— Современный стек и свободу предлагать новые технологии.
— Конкурентную зарплату и бонусы.