
Город: Санкт-Петербург
Занятость: Полная занятость, Полный день
Опыт работы: От 3 до 6 лет
О компании
Мы развиваем 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).
Мы предлагаем
- Участие в создании сложного продукта, где много нетривиальной инженерии.
- Возможность влиять на техническую архитектуру и процессы.
- Команду, которая ценит качественный код и честную коммуникацию.
- Современный стек и свободу предлагать новые технологии.
- Конкурентную зарплату и бонусы.
Адрес: Санкт-Петербург, Московский проспект, 120Ас1
Похожие вакансии